Files
nora/CONTRIBUTING.md

1.9 KiB

Contributing to NORA

Thank you for your interest in contributing to NORA!

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/nora.git
  3. 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 fmt before committing
  • Fix all cargo clippy warnings
  • Follow Rust naming conventions
  • Keep functions short and focused
  • Add tests for new functionality

Pull Request Process

  1. Update CHANGELOG.md if the change is user-facing
  2. Add tests for new features or bug fixes
  3. Ensure CI passes (fmt, clippy, test, security checks)
  4. Keep PRs focused — one feature or fix per PR

Commit Messages

Use conventional commits:

  • feat: new feature
  • fix: bug fix
  • docs: documentation
  • test: adding or updating tests
  • security: security improvements
  • chore: 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