How to Build

Learn how to set up your development environment, build the project from source, run tests, and contribute to OWASP Noir.

OWASP Noir welcomes all contributions—bug fixes, features, and documentation improvements.

How to Contribute

  1. Fork the Noir repository
  2. Create branch:
    git checkout -b your-feature-name
    
  3. Make changes
  4. Commit with clear message
  5. Push to your fork:
    git push origin your-feature-name
    
  6. Open Pull Request with description

See CONTRIBUTING.md for detailed guidelines.

Development Setup

Installing Crystal

Noir is built with the Crystal programming language. Here are the quick installation methods for common platforms:

Ubuntu/Debian

curl -fsSL https://crystal-lang.org/install.sh | sudo bash

macOS (Homebrew)

brew install crystal

Other Platforms

For other platforms, see the official Crystal installation guide.

Building and Testing

git clone https://github.com/<YOUR-USERNAME>/noir
cd noir
shards install

To build the project, run:

shards build
# The binary will be located at ./bin/noir

To run the unit and functional tests:

crystal spec

# For more detailed output
crystal spec -v

Linting

We use ameba for linting our code. To check the code for style issues, run:

ameba

To automatically fix any style issues, you can run:

ameba --fix

Alternatively, you can use the just command to run the linter:

just fix