AztecProtocol

noir-sync-update

@AztecProtocol/noir-sync-update
AztecProtocol
418
581 forks
Updated 1/18/2026
View on GitHub

Perform necessary follow-on updates as a result of updating the noir git submodule.

Installation

$skills install @AztecProtocol/noir-sync-update
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Path.claude/skills/noir-sync-update/SKILL.md
Branchnext
Scoped Name@AztecProtocol/noir-sync-update

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

skills list

Skill Instructions


name: noir-sync-update description: Perform necessary follow-on updates as a result of updating the noir git submodule.

Noir Sync Update

Workflow

Copy this checklist and track progress:

Noir Sync Update Progress:
- [ ] Step 1: Ensure that the new submodule commit has been pulled.
- [ ] Step 2: Update the `Cargo.lock` file in `avm-transpiler`.
- [ ] Step 3: Update the `yarn.lock` file in `yarn-project`.
- [ ] Step 4: Format `noir-projects`.

After each step, commit the results.

Critical Verification Rules

ALWAYS verify file changes with git status after any modification step before marking it complete. Command output showing "updating" does not guarantee the file was written to disk.

IMPORTANT: Always run git status from the repository root directory, not from subdirectories. Running git status noir-projects/ from inside noir-projects/ will fail silently.

Step 1: Ensure that the new submodule commit has been pulled

Run ./bootstrap.sh in noir to ensure that the new submodule commit has been pulled.

This shouldn't update any files such that a commit is necessary.

Step 2: Update Cargo.lock in avm-transpiler

Before updating, determine the expected noir version:

  1. Read noir/noir-repo/.release-please-manifest.json to find the expected version (e.g., 1.0.0-beta.18)
  2. Check the current version in avm-transpiler/Cargo.lock by searching for acir or similar noir packages

To update the lock file, run cargo update in avm-transpiler with only noir-repo packages:

cd avm-transpiler
cargo update -p acir -p acir_field -p acvm -p acvm_blackbox_solver -p bn254_blackbox_solver -p brillig -p brillig_vm -p fm -p iter-extended -p noirc_abi -p noirc_arena -p noirc_artifacts -p noirc_errors -p noirc_evaluator -p noirc_frontend -p noirc_printable_type -p noirc_span

IMPORTANT: Do NOT use cargo update without -p flags—this will update ALL dependencies, not just noir-repo packages.

After updating, verify:

  1. Run git status avm-transpiler/ to confirm Cargo.lock was modified
  2. Run cargo check to ensure it still builds
  3. Grep Cargo.lock for acir to verify the version matches the expected version from .release-please-manifest.json

It's possible that changes in dependencies result in avm-transpiler no longer building.

  • If transient dependency mismatches mean changes to the dependency tree are necessary, then the Cargo.lock file in avm-transpiler should be modified. DO NOT MODIFY noir/noir-repo.
  • If updates are necessary due to changes in exports from noir/noir-repo packages, then perform the necessary updates to import statements, etc.

Step 3: Update yarn.lock in yarn-project

Run yarn install in yarn-project to update the yarn.lock file.

After running, verify with git status yarn-project/yarn.lock that the file was modified before committing.

Step 4: Format noir-projects

Run ./bootstrap.sh format in noir-projects.

This is necessary as the updates to the noir compiler may result in the formatter handling the same code differently.

Failing to run the formatter will result in a CI failure.

After running, check git status noir-projects/ for any formatting changes that need to be committed.