You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore(tooling): refresh managed config to current Vergil tooling/actions (#314)
* chore(tooling): refresh managed config to current Vergil tooling/actions
Items 1/3/6/7 of the fleet refresh (epic mq-rest-admin-project/.github#14):
marketplace -> vergil-claude-plugin; embed canonical CLAUDE.md template
(+ vrg-docker-run -> vrg-container-run); ignore .vergil/; cd.yml release
uses secrets: inherit (fixes CD startup_failure). Hook guard (item 2)
already landed via #312. audit COMPLIANT; vrg-validate passes. Refs #313.
* fix(security): invoke bash by absolute path in integration test
CodeQL java/relative-path-command flagged ProcessBuilder("bash", ...)
in MqRestSessionIT (relative command name is PATH-hijackable). Use the
absolute /bin/bash. Refs #313.
* chore(ci): re-trigger CI after transient maven-central resolution flake
Empty commit to re-run CI. A prior run failed in checkstyle:check with a
transient 'Failed to read artifact descriptor for
maven-reporting-api:jar:4.0.0' (Maven Central fetch hiccup), unrelated to
the changes here. Refs #313.
---------
Co-authored-by: Phillip Moore <w.phillip.moore@gmail.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+32-10Lines changed: 32 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,27 +36,27 @@ on-ramp.
36
36
### Structure
37
37
38
38
```text
39
-
~/dev/github/mq-rest-admin-java/ ← sessions ALWAYS start here
39
+
<project-root>/ ← sessions ALWAYS start here
40
40
.git/
41
-
CLAUDE.md, src/, … ← main worktree (usually `develop`)
42
-
.worktrees/ ← container for parallel worktrees
43
-
issue-261-adopt-worktree-convention/ ← worktree on feature/261-...
41
+
CLAUDE.md, … ← main worktree (usually `develop`)
42
+
.worktrees/ ← container for parallel worktrees
43
+
issue-<N>-<short-slug>/ ← worktree on feature/<N>-<short-slug>
44
44
…
45
45
```
46
46
47
47
### Rules
48
48
49
49
1.**Sessions always start at the project root.**
50
-
`cd ~/dev/github/mq-rest-admin-java && 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.
52
52
2.**Each parallel agent is assigned exactly one worktree.** The session
53
53
prompt names the worktree (see Agent prompt contract below).
54
54
- For Read / Edit / Write tools: use the worktree's absolute path.
55
55
- For Bash commands that touch files: `cd` into the worktree first,
56
56
or use absolute paths.
57
57
3.**The main worktree is read-only.** All edits flow through a worktree
58
58
on a feature branch — the logical endpoint of the standing
59
-
"no direct commits to `develop`" policy.
59
+
"no direct commits to develop" policy.
60
60
4.**One worktree per issue.** Don't stack in-flight issues. When a
61
61
branch lands, remove the worktree before starting the next.
62
62
5.**Naming: `issue-<N>-<short-slug>`.**`<N>` is the GitHub issue
@@ -70,22 +70,44 @@ placeholders):
70
70
```text
71
71
You are working on issue #<N>: <issue title>.
72
72
73
-
Your worktree is: /Users/pmoore/dev/github/mq-rest-admin-java/.worktrees/issue-<N>-<slug>/
73
+
Your worktree is: <project-root>/.worktrees/issue-<N>-<slug>/
74
74
Your branch is: feature/<N>-<slug>
75
75
76
76
Rules for this session:
77
77
- Do all git operations from inside your worktree:
78
-
cd <absolute-worktree-path> && git <command>
78
+
cd <absolute-worktree-path> && vrg-git <command>
79
79
- For Read / Edit / Write tools, use the absolute worktree path.
80
80
- For Bash commands that touch files, cd into the worktree first
81
81
or use absolute paths.
82
82
- Do not edit files at the project root. The main worktree is
83
83
read-only — all changes flow through your worktree on your
84
84
feature branch.
85
+
- When you need to run validation, run it from inside your worktree
86
+
(vrg-container-run mounts the current directory).
85
87
```
86
88
87
89
All fields are required.
88
90
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
+
89
111
## Project Overview
90
112
91
113
Java wrapper for the IBM MQ administrative REST API, ported from `pymqrest` (Python). Provides method-per-command API (`displayQueue()`, `defineQlocal()`, etc.) with attribute mapping between snake_case and MQSC parameter names.
0 commit comments