How to Build

All contributions are welcome — bug fixes, features, and documentation improvements.

How to Contribute

  1. Fork the Noir repository
  2. Create a branch
    git checkout -b your-feature-name
    
  3. Make changes
  4. Commit with a clear message
  5. Push to your fork
    git push origin your-feature-name
    
  6. 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
Esc