Claude Code Plugins

Community-maintained marketplace

Feedback
417
0

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

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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`.
- [ ] Step 5: Check `noir-projects` still compiles.

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.

Step 5: Check noir-projects still compiles

Run ./bootstrap.sh in noir-projects.

As a sanity check, we want to ensure that noir-projects still compiles after the update.