@@ -36,27 +36,27 @@ on-ramp.
3636### Structure
3737
3838``` text
39- ~/dev/github/mq-rest-admin-ruby/ ← sessions ALWAYS start here
39+ <project-root>/ ← sessions ALWAYS start here
4040 .git/
41- CLAUDE.md, lib/, spec/, … ← main worktree (usually `develop`)
42- .worktrees/ ← container for parallel worktrees
43- issue-105-adopt-worktree-convention / ← worktree on feature/105-...
41+ CLAUDE.md, … ← main worktree (usually `develop`)
42+ .worktrees/ ← container for parallel worktrees
43+ issue-<N>-<short-slug> / ← worktree on feature/<N>-<short-slug>
4444 …
4545```
4646
4747### Rules
4848
49491 . ** Sessions always start at the project root.**
50- ` cd ~/dev/github/mq-rest-admin-ruby && claude ` — never from inside
51- ` .worktrees/<name>/ ` . This keeps the memory-path slug stable and shared.
50+ Never start Claude from inside ` .worktrees/<name>/ ` . This keeps the
51+ memory-path slug stable and shared.
52522 . ** Each parallel agent is assigned exactly one worktree.** The session
5353 prompt names the worktree (see Agent prompt contract below).
5454 - For Read / Edit / Write tools: use the worktree's absolute path.
5555 - For Bash commands that touch files: ` cd ` into the worktree first,
5656 or use absolute paths.
57573 . ** The main worktree is read-only.** All edits flow through a worktree
5858 on a feature branch — the logical endpoint of the standing
59- "no direct commits to ` develop ` " policy.
59+ "no direct commits to develop" policy.
60604 . ** One worktree per issue.** Don't stack in-flight issues. When a
6161 branch lands, remove the worktree before starting the next.
62625 . ** Naming: ` issue-<N>-<short-slug> ` .** ` <N> ` is the GitHub issue
@@ -70,22 +70,44 @@ placeholders):
7070``` text
7171You are working on issue #<N>: <issue title>.
7272
73- Your worktree is: /Users/pmoore/dev/github/mq-rest-admin-ruby /.worktrees/issue-<N>-<slug>/
73+ Your worktree is: <project-root> /.worktrees/issue-<N>-<slug>/
7474Your branch is: feature/<N>-<slug>
7575
7676Rules for this session:
7777- Do all git operations from inside your worktree:
78- cd <absolute-worktree-path> && git <command>
78+ cd <absolute-worktree-path> && vrg- git <command>
7979- For Read / Edit / Write tools, use the absolute worktree path.
8080- For Bash commands that touch files, cd into the worktree first
8181 or use absolute paths.
8282- Do not edit files at the project root. The main worktree is
8383 read-only — all changes flow through your worktree on your
8484 feature branch.
85+ - When you need to run validation, run it from inside your worktree
86+ (vrg-container-run mounts the current directory).
8587```
8688
8789All fields are required.
8890
91+ ## Shell command policy
92+
93+ Use ` vrg-git ` instead of ` git ` for all git operations. Use ` vrg-gh `
94+ instead of ` gh ` for all GitHub CLI operations. These wrappers enforce
95+ subcommand allowlists, flag deny lists, and credential selection.
96+
97+ Raw ` git ` and ` gh ` are denied by the permission model. If a command
98+ is not available through the wrappers, explain the situation to the
99+ human who can run it directly via ` ! <command> ` in the prompt.
100+
101+ ## Validation
102+
103+ ``` bash
104+ vrg-container-run -- vrg-validate
105+ ```
106+
107+ This is the ** only** validation command. Do not run individual linters,
108+ formatters, or other tools outside of ` vrg-validate ` . If a tool is not
109+ invoked by ` vrg-validate ` , it is not part of the validation pipeline.
110+
89111## Project Overview
90112
91113` mq-rest-admin ` is a Ruby wrapper for the IBM MQ administrative REST
@@ -101,24 +123,12 @@ translation between Ruby idioms and native MQSC parameter names.
101123
102124## Development Commands
103125
104- ### Standard Tooling
105-
106- The Claude Code PreToolUse hook guard (` .claude/hooks/guard.sh ` )
107- blocks raw ` git ` and ` gh ` commands — use ` vrg-git ` / ` vrg-gh `
108- wrappers.
109-
110126### Environment Setup
111127
112128``` bash
113129bundle install
114130```
115131
116- ### Validation
117-
118- ``` bash
119- vrg-docker-run -- vrg-validate # Canonical validation (runs in dev container)
120- ```
121-
122132### CI
123133
124134PR CI (` .github/workflows/ci.yml ` ) uses vergil-actions v2.0 reusable
0 commit comments