How to Build
All contributions are welcome — bug fixes, features, and documentation improvements.
How to Contribute
- Fork the Noir repository
- Create a branch
git checkout -b your-feature-name - Make changes
- Commit with a clear message
- Push to your fork
git push origin your-feature-name - Open a Pull Request with a description
See CONTRIBUTING.md for detailed guidelines.
Development Setup
Installing Crystal
Noir is built with Crystal. Install it for your platform.
Ubuntu/Debian
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
macOS (Homebrew)
brew install crystal
Other Platforms
See the official Crystal installation guide.
Building and Testing
Clone your fork and install dependencies with shards, Crystal's package manager.
git clone https://github.com/<YOUR-USERNAME>/noir
cd noir
shards install
Build the project. The compiled binary ends up at ./bin/noir.
shards build
Run the test suite with Crystal's built-in test runner.
crystal spec
# For more detailed output
crystal spec -v
Linting
Noir uses Ameba, a static analysis tool for Crystal.
bin/ameba.cr
Auto-fix issues.
bin/ameba.cr --fix
Or use just.
just fix