main
md 2.39 KB

name: compiler-commit

description: Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits with the [compiler] or [rust-compiler] prefix.

Compiler Commit

Verify and commit compiler changes with the correct convention.

Arguments: - $ARGUMENTS: Commit title (required). Optionally a test pattern after -- (e.g., Fix aliasing bug -- aliasing)

Instructions

  1. Run /compiler-verify first (with test pattern if provided after --). Stop on any failure.

  2. Run /compiler-review on the uncommitted changes. Report the findings to the user. If any issues are found, stop and do NOT commit — let the user decide how to proceed.

  3. Detect commit prefix from changed files:

    • If any files in compiler/crates/ changed: use [rust-compiler]
    • Otherwise: use [compiler]
  4. Update orchestrator log: If compiler/docs/rust-port/rust-port-orchestrator-log.md exists and the commit includes Rust changes (compiler/crates/):

Run test-rust-port with --json to get machine-readable results: bash bash compiler/scripts/test-rust-port.sh --json 2>/dev/null This outputs a JSON object with fields: pass, autoDetected, total, passed, failed, frontier, perPass, failures.

Then update the orchestrator log: - Update the # Status section with the results (use the frontier, per-pass counts, and pass/fail totals) - Add a ## YYYYMMDD-HHMMSS log entry noting the commit and what changed

  1. Stage files — stage only the relevant changed files by name (including the orchestrator log if updated in step 4). Do NOT use git add -A or git add ..

  2. Compose commit message: ``` [prefix] </p></li> </ol> <p><summary of what changed and why, 1-3 sentences> ``` The title comes from $ARGUMENTS. Write the summary yourself based on the actual changes.</p> <ol> <li><strong>Commit</strong> using a heredoc for the message: ```bash git commit -m "$(cat <<'EOF' [rust-compiler] Title here</li> </ol> <p>Summary here. EOF )" ```</p> <ol> <li><strong>Do NOT push</strong> unless the user explicitly asks.</li> </ol> <h2 id="examples" class="heading-anchored"><a class="heading-anchor" href="#examples" aria-hidden="true">#</a>Examples</h2> <ul> <li><code>/compiler-commit Fix aliasing bug in optional chains</code> — runs full verify, commits as <code>[compiler] Fix aliasing bug in optional chains</code></li> <li><code>/compiler-commit Implement scope tree types -- round_trip</code> — runs verify with <code>-p round_trip</code>, commits as <code>[rust-compiler] Implement scope tree types</code></li> </ul>