mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 22:00:31 +00:00
1.9 KiB
1.9 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
# Build
cargo build --package nora-registry
# Run tests (important: always use --lib --bin nora to skip fuzz targets)
cargo test --lib --bin nora
# Run clippy
cargo clippy --package nora-registry -- -D warnings
# Format
cargo fmt
# Run locally
cargo run --bin nora -- serve
Before Submitting a PR
cargo fmt --check
cargo clippy --package nora-registry -- -D warnings
cargo test --lib --bin nora
All three must pass. CI will enforce this.
Code Style
- Run
cargo fmtbefore committing - Fix all
cargo clippywarnings - Follow Rust naming conventions
- Keep functions short and focused
- Add tests for new functionality
Pull Request Process
- Update CHANGELOG.md if the change is user-facing
- Add tests for new features or bug fixes
- Ensure CI passes (fmt, clippy, test, security checks)
- Keep PRs focused — one feature or fix per PR
Commit Messages
Use conventional commits:
feat:new featurefix:bug fixdocs:documentationtest:adding or updating testssecurity:security improvementschore:maintenance
Example: feat: add npm scoped package support
Reporting Issues
- Use GitHub Issues with the provided templates
- Include steps to reproduce
- Include NORA version (
nora --version) and OS
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Community
- Telegram: @getnora
- GitHub Issues: getnora-io/nora