fix: /ship discovers test commands from any Testing section variant

Step 3 and 3.25 now match ## Testing, ## Test Commands, ## Tests, and
## Commands — covering both gstack's own CLAUDE.md (## Testing) and
projects like garryslist (## Test Commands).

Added dedicated ## Testing section to gstack's CLAUDE.md so /ship
finds bun test and bun run test:evals without ambiguity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-17 22:18:56 -07:00
parent f3e6b7e316
commit 6e83a75843
2 changed files with 12 additions and 10 deletions
+6 -5
View File
@@ -406,9 +406,9 @@ Only commit if there are changes. Stage all bootstrap files (config, test direct
## Step 3: Run tests (on merged code)
Read CLAUDE.md. Look for a `## Testing` section or test commands in `## Commands`.
Extract all test commands (lines in bash code blocks that run tests — e.g., `bun test`,
`npm test`, `pytest`, `go test ./...`, `cargo test`, `bin/rails test`).
Read CLAUDE.md. Look for a section about testing — `## Testing`, `## Test Commands`,
`## Tests`, or test commands in `## Commands`. Extract all test commands (lines in
bash code blocks or command tables that run tests — e.g., `bun test`, `npm test`, `pytest`, `go test ./...`, `cargo test`, `bin/rails test`).
Run all discovered test commands in parallel, each piped to a unique /tmp file:
@@ -448,8 +448,9 @@ If C: Skip tests with warning. Continue to Step 3.25.
## Step 3.25: Eval Suites (conditional)
Read CLAUDE.md. Look for a `## Evals` section, or eval-related commands in `## Testing`
or `## Commands` (identified by keywords: "eval", "evals", "judge", "llm-judge").
Read CLAUDE.md. Look for a `## Evals` section, or eval-related commands in `## Testing`,
`## Test Commands`, `## Tests`, or `## Commands` (identified by keywords: "eval", "evals",
"judge", "llm-judge").
If an eval command is found:
Run it. The project's eval system handles diff-based file selection internally.
+6 -5
View File
@@ -101,9 +101,9 @@ git fetch origin <base> && git merge origin/<base> --no-edit
## Step 3: Run tests (on merged code)
Read CLAUDE.md. Look for a `## Testing` section or test commands in `## Commands`.
Extract all test commands (lines in bash code blocks that run tests — e.g., `bun test`,
`npm test`, `pytest`, `go test ./...`, `cargo test`, `bin/rails test`).
Read CLAUDE.md. Look for a section about testing — `## Testing`, `## Test Commands`,
`## Tests`, or test commands in `## Commands`. Extract all test commands (lines in
bash code blocks or command tables that run tests — e.g., `bun test`, `npm test`, `pytest`, `go test ./...`, `cargo test`, `bin/rails test`).
Run all discovered test commands in parallel, each piped to a unique /tmp file:
@@ -143,8 +143,9 @@ If C: Skip tests with warning. Continue to Step 3.25.
## Step 3.25: Eval Suites (conditional)
Read CLAUDE.md. Look for a `## Evals` section, or eval-related commands in `## Testing`
or `## Commands` (identified by keywords: "eval", "evals", "judge", "llm-judge").
Read CLAUDE.md. Look for a `## Evals` section, or eval-related commands in `## Testing`,
`## Test Commands`, `## Tests`, or `## Commands` (identified by keywords: "eval", "evals",
"judge", "llm-judge").
If an eval command is found:
Run it. The project's eval system handles diff-based file selection internally.