mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 17:20:33 +00:00
- Whitelist approach: only known safe extensions allowed (.rs, .toml, .yml, etc.) - Block sensitive patterns (.env, .key, .pem, secrets, credentials) - Warn but allow .md files - Check only NEW files, modifications to tracked files always allowed - Block large files (>5MB) with warning - Run cargo fmt check on Rust files - Update CONTRIBUTING.md with hook setup instructions
1.5 KiB
1.5 KiB
Contributing to NORA
Thank you for your interest in contributing to NORA!
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/nora.git - Create a branch:
git checkout -b feature/your-feature
Development Setup
# Install Rust (if needed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Enable pre-commit hooks (important!)
git config core.hooksPath .githooks
# Build
cargo build
# Run tests
cargo test
# Run locally
cargo run --bin nora -- serve
Code Style
- Run
cargo fmtbefore committing - Run
cargo clippyand fix warnings - Follow Rust naming conventions
Pull Request Process
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass:
cargo test - Ensure code is formatted:
cargo fmt --check - Ensure no clippy warnings:
cargo clippy
Commit Messages
Use conventional commits:
feat:- new featurefix:- bug fixdocs:- documentationstyle:- formattingrefactor:- code refactoringtest:- adding testschore:- maintenance
Example: feat: add OAuth2 authentication
Reporting Issues
- Use GitHub Issues
- Include steps to reproduce
- Include NORA version and OS
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Contact
- Telegram: @DevITWay
- GitHub Issues: getnora-io/nora