From noir
Patterns for Noir circuit development: data types, stdlib, workspace setup. Use when working with Noir circuits in any capacity unless otherwise specified
npx claudepluginhub critesjosh/noir-claude-plugin --plugin noirThis skill is limited to using the following tools:
Comprehensive patterns and best practices for Noir zero-knowledge circuit development.
circuit-dev/circuit-structure.mdcircuit-dev/data-types.mdcircuit-dev/generics.mdcircuit-dev/index.mdcircuit-dev/modules-and-imports.mdcircuit-dev/oracles.mdcircuit-dev/traits.mdcircuit-dev/unconstrained-functions.mdstdlib/collections.mdstdlib/cryptographic-primitives.mdstdlib/field-operations.mdstdlib/index.mdworkspace/dependencies.mdworkspace/index.mdworkspace/nargo-toml.mdworkspace/project-setup.mdGenerates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Comprehensive patterns and best practices for Noir zero-knowledge circuit development.
Navigate to the appropriate section based on your task:
Start with Circuit Structure for the basic template, then explore:
nargo init, directory structure, workflowFor detailed API documentation and code examples beyond what is covered here, use the Noir MCP tools.
| Tool | Purpose |
|---|---|
noir_sync_repos() | Clone/update Noir repos locally. Run first to enable searching. |
noir_status() | Check which repos are synced and their commit hashes |
noir_search_code({ query }) | Search Noir source code with regex patterns |
noir_search_docs({ query }) | Search Noir documentation |
noir_search_stdlib({ query }) | Search the Noir standard library |
noir_list_examples() | List available Noir example circuits |
noir_read_example({ name }) | Read full source code of an example |
noir_read_file({ path }) | Read any file from cloned repos by relative path |
noir_list_libraries() | List available Noir libraries |
User asks Noir question
|
noir_sync_repos() (if not done)
|
noir_search_code() / noir_search_docs() / noir_search_stdlib()
|
noir_read_example() if needed
|
Respond with VERIFIED current syntax
First, sync the repos (if not already done):
noir_sync_repos()
Search for code patterns:
noir_search_code({ query: "<pattern>", filePattern: "*.nr" })
Search the standard library:
noir_search_stdlib({ query: "poseidon" })
List and read examples:
noir_list_examples()
noir_read_example({ name: "<example-name>" })
Search documentation:
noir_search_docs({ query: "<question>" })