| name | noir-developer |
| description | Develop Noir (.nr) codebases. Use when creating a project or writing code with Noir. |
Noir Developer
Workflow
- Compile (
nargo compile) Noir program into ACIR.
- Generate witness (
nargo execute or NoirJS execute) based on ACIR and user inputs.
- Prove using ACIR and witness with the selected proving backend.
- Verify proof with the selected proving backend.
Task Patterns
Environment
If the environment is unsupported by nargo (e.g. native Windows), guide the user to using GitHub Codespaces (https://noir-lang.org/docs/tooling/devcontainer#using-github-codespaces) or a supported setup (WSL, Docker, or VM).
Plan
Define private inputs, public inputs (if any), and public outputs (if any) for each Noir program.
Project Creation
When creating a Noir project, use nargo new or nargo init to scaffold it.
Compilation
Use nargo (not noir_wasm) for compilation; it is the maintained path.
Validation
Run nargo test to validate Noir implementations.
Proving Backend
Confirm the proving backend choice before implementation details. If the user selects Barretenberg, read references/barretenberg.md.
References
- Run
nargo --help for the full list of commands.
- Read https://noir-lang.org/docs/ for language syntax, dependencies, and tooling.
- Proving backends:
- For Barretenberg specifics, read
references/barretenberg.md.