@chris1807/claude-kit 2.1.57 → 2.1.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/bin/cli.js +10 -5
- package/package.json +1 -1
- package/templates/commands/cherry-pick.md +1 -1
- package/templates/commands/deploy-release.md +1 -1
- package/templates/commands/promote.md +1 -1
- package/templates/commands/{status.md → track.md} +7 -7
- package/templates/commands/where.md +1 -1
- package/templates/infrastructure/CLAUDE-WORKFLOW.md +5 -5
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ The slash commands assume Azure DevOps as the system of record:
|
|
|
17
17
|
- **Releases & deployments** — tracked as Azure DevOps iterations (`Release #N`) and tags; CD runs on Azure Pipelines
|
|
18
18
|
- **Wiki, test plans, advanced security alerts** — all surfaced through the same Azure DevOps MCP server
|
|
19
19
|
|
|
20
|
-
> **Not using Azure DevOps?** The Claude Code primitives (agents, hooks, memory) are still useful, but the slash commands and the deployment workflow won't apply out of the box — you'd need to rewrite the `/implement`, `/review`, `/deploy`, `/create-release`, `/deploy-release`, `/cherry-pick`, `/promote`, `/rollback`, `/
|
|
20
|
+
> **Not using Azure DevOps?** The Claude Code primitives (agents, hooks, memory) are still useful, but the slash commands and the deployment workflow won't apply out of the box — you'd need to rewrite the `/implement`, `/review`, `/deploy`, `/create-release`, `/deploy-release`, `/cherry-pick`, `/promote`, `/rollback`, `/track`, `/rework`, and `/resolve-feedback` commands against GitHub / GitLab / Jira / etc.
|
|
21
21
|
|
|
22
22
|
Every session Claude learns from your feedback and gets better at helping you specifically. The infrastructure is modular — install only what your project needs.
|
|
23
23
|
|
|
@@ -28,7 +28,7 @@ Every session Claude learns from your feedback and gets better at helping you sp
|
|
|
28
28
|
| **Global Agents** | 10 | `~/.claude/agents/` (your machine, all projects) | backend, frontend, legacy (Lucee/CFML), mockup, reviewer, test-runner, build-validator, lint-checker, azure-ops, security-auditor |
|
|
29
29
|
| **Project Agents** | 2 | `.claude/agents/` (in the project) | deployer, db-admin |
|
|
30
30
|
| **Hooks** | 9 | `.claude/hooks/` (in the project) | Secret blocker, sensitive data blocker (Bash + MCP + output), protected files, auto-format, test suggestions, UAT reminder, self-improve |
|
|
31
|
-
| **Slash Commands** | 24 | `.claude/commands/` (in the project) | `/implement`, `/review`, `/deep-review`, `/resolve-feedback`, `/fix-review`, `/deploy`, `/create-release`, `/deploy-release`, `/add-to-release`, `/cherry-pick`, `/promote`, `/rollback`, `/
|
|
31
|
+
| **Slash Commands** | 24 | `.claude/commands/` (in the project) | `/implement`, `/review`, `/deep-review`, `/resolve-feedback`, `/fix-review`, `/deploy`, `/create-release`, `/deploy-release`, `/add-to-release`, `/cherry-pick`, `/promote`, `/rollback`, `/track`, `/plan-backlog`, `/plan-sprint`, `/quote-backlog`, `/cleanup-branches`, `/close-orphan-tasks`, `/quote`, `/explain`, `/create-work-item`, `/edit-work-item` |
|
|
32
32
|
| **MCP Servers** | Up to 6 | `.mcp.json` (in the project) | **Azure DevOps** (work items, repos, pipelines, wiki), Playwright, MongoDB/SQL/Postgres, Teams, Stripe, Azure CLI |
|
|
33
33
|
| **Workflow Template** | 1 | Appended to `CLAUDE.md` | Documents the full development process |
|
|
34
34
|
| **Settings** | 1 | `.claude/settings.json` (in the project) | Registers all hooks and MCP servers |
|
|
@@ -73,7 +73,7 @@ You'll be asked:
|
|
|
73
73
|
2. **Components** — checkboxes to pick which parts to install:
|
|
74
74
|
- ☑ Project Agents (deployer, db-admin)
|
|
75
75
|
- ☑ Hooks (secret blocker, auto-format, etc.)
|
|
76
|
-
- ☑ Slash Commands (/implement, /review, /resolve-feedback, /deploy, /create-release, /deploy-release, /add-to-release, /cherry-pick, /promote, /rollback, /
|
|
76
|
+
- ☑ Slash Commands (/implement, /review, /resolve-feedback, /deploy, /create-release, /deploy-release, /add-to-release, /cherry-pick, /promote, /rollback, /track, /cleanup-branches, /quote, /explain)
|
|
77
77
|
- ☑ MCP Servers
|
|
78
78
|
- ☑ Settings
|
|
79
79
|
- ☑ CLAUDE.md Workflow
|
|
@@ -214,7 +214,7 @@ your-project/ ← Project-specific
|
|
|
214
214
|
│ │ ├── promote.md # /promote main dev
|
|
215
215
|
│ │ ├── rollback.md # /rollback AB#1234 prod
|
|
216
216
|
│ │ ├── add-to-release.md # /add-to-release 24 AB#4599
|
|
217
|
-
│ │ ├──
|
|
217
|
+
│ │ ├── track.md # /track release 24
|
|
218
218
|
│ │ ├── cleanup-branches.md # /cleanup-branches
|
|
219
219
|
│ │ ├── close-orphan-tasks.md # /close-orphan-tasks
|
|
220
220
|
│ │ ├── quote.md # /quote AB#1234
|
|
@@ -261,7 +261,7 @@ Kit operations that benefit from ultracode when it's on:
|
|
|
261
261
|
| Multi-file or cross-layer review | one agent per file/dimension, then adversarial verify before reporting |
|
|
262
262
|
| Repo-wide sweeps (rename, dependency bump, pattern migration) | one agent per site, worktree-isolated |
|
|
263
263
|
|
|
264
|
-
Short, single-query operations (`/
|
|
264
|
+
Short, single-query operations (`/track`, `/explain`, `/close-orphan-tasks`) don't need ultracode — they're already one pass and gain nothing from fan-out. Reach for it when the work-list is large and the per-item work is independent.
|
|
265
265
|
|
|
266
266
|
### Implement a Work Item
|
|
267
267
|
|
|
@@ -373,11 +373,11 @@ Adds work items to an existing release — assigns them to the iteration and tag
|
|
|
373
373
|
### Check Status
|
|
374
374
|
|
|
375
375
|
```
|
|
376
|
-
/
|
|
377
|
-
/
|
|
378
|
-
/
|
|
379
|
-
/
|
|
380
|
-
/
|
|
376
|
+
/track release 24
|
|
377
|
+
/track pipeline
|
|
378
|
+
/track AB#4521
|
|
379
|
+
/track staging
|
|
380
|
+
/track
|
|
381
381
|
```
|
|
382
382
|
|
|
383
383
|
Shows the status of a release, pipeline, work item, environment, or a high-level overview of everything.
|
|
@@ -441,7 +441,7 @@ Every environment has a work item state, and the promotion commands keep them in
|
|
|
441
441
|
| `test → staging` | `Ready for Staging` (QA sign-off) | `Staging` |
|
|
442
442
|
| `staging → prod` | `Ready to Deploy` (stakeholder sign-off) | `Deployed` |
|
|
443
443
|
|
|
444
|
-
`/deploy-release`, `/cherry-pick`, and `/promote` check the gate before creating the PR, ask who verifies each product group while the PR is in review, then watch the PR and the environment's CD pipeline — on a green pipeline they set the state and the assignee together. A failed pipeline changes nothing. `/
|
|
444
|
+
`/deploy-release`, `/cherry-pick`, and `/promote` check the gate before creating the PR, ask who verifies each product group while the PR is in review, then watch the PR and the environment's CD pipeline — on a green pipeline they set the state and the assignee together. A failed pipeline changes nothing. `/track` flags anything whose state lags the branch it's on.
|
|
445
445
|
|
|
446
446
|
### Branch Naming
|
|
447
447
|
|
|
@@ -679,7 +679,7 @@ Claude reviews for:
|
|
|
679
679
|
| `/cherry-pick` | `/cherry-pick AB#1234 AB#1235 prod` | Gate-check → cherry-pick specific work items to environment via PR → ask who verifies → advance + assign on a green pipeline |
|
|
680
680
|
| `/promote` | `/promote main dev` | PR to promote all code to the next branch in the chain (`main → dev → test → staging → prod`) → ask who verifies → advance + assign on a green pipeline |
|
|
681
681
|
| `/rollback` | `/rollback AB#1234 prod` | Revert specific commits on an environment via PR |
|
|
682
|
-
| `/
|
|
682
|
+
| `/track` | `/track release 24` | Check status of a release, pipeline, work item, or environment; flags work items whose state lags their environment |
|
|
683
683
|
| `/qa` | `/qa AB#1234 [env]` | Verify the item is fully deployed with a green pipeline → open the app in a real browser → sign in as a test account → full regression of the screens the story touched → pass/fail comment on the work item (never a state change). Environments: `local`, `dev`, `test`, `staging` |
|
|
684
684
|
| `/plan-backlog` | `/plan-backlog [project]` | Sweep backlog for Dev Ready stories with points and no tasks → propose one child task with hours per story |
|
|
685
685
|
| `/plan-sprint` | `/plan-sprint [project]` | Sweep the current sprint for stories/bugs with no child tasks → propose one child task with hours per item |
|
package/bin/cli.js
CHANGED
|
@@ -231,10 +231,14 @@ function splitWorkflowSection(existing) {
|
|
|
231
231
|
|
|
232
232
|
const RETIRED_GLOBAL_AGENTS = ['manager.md', 'uat-generator.md', 'api-tester.md'];
|
|
233
233
|
const RETIRED_PROJECT_AGENTS = ['devops-tracker.md'];
|
|
234
|
+
// status.md was renamed to track.md in 2.1.58 — Claude Code ships a built-in /status,
|
|
235
|
+
// which shadowed the kit's command. The old file has to be deleted from existing
|
|
236
|
+
// installs or the collision never goes away, since installs only ever add files.
|
|
237
|
+
const RETIRED_COMMANDS = ['status.md'];
|
|
234
238
|
|
|
235
|
-
async function
|
|
239
|
+
async function removeRetiredFiles(dir, retired) {
|
|
236
240
|
for (const file of retired) {
|
|
237
|
-
const target = join(
|
|
241
|
+
const target = join(dir, file);
|
|
238
242
|
if (await fs.pathExists(target)) {
|
|
239
243
|
await fs.remove(target);
|
|
240
244
|
console.log(chalk.gray(` - ${file} (retired, removed)`));
|
|
@@ -258,7 +262,7 @@ async function installGlobalAgents() {
|
|
|
258
262
|
);
|
|
259
263
|
}
|
|
260
264
|
}
|
|
261
|
-
await
|
|
265
|
+
await removeRetiredFiles(globalAgentsDir, RETIRED_GLOBAL_AGENTS);
|
|
262
266
|
}
|
|
263
267
|
|
|
264
268
|
// ============================================================================
|
|
@@ -308,7 +312,7 @@ async function main() {
|
|
|
308
312
|
choices: [
|
|
309
313
|
{ name: 'Project Agents (deployer, db-admin)', value: 'agents', checked: true },
|
|
310
314
|
{ name: 'Hooks (secret blocker, auto-format, test suggestions)', value: 'hooks', checked: true },
|
|
311
|
-
{ name: 'Slash Commands (implement, review, deploy, releases, cherry-pick, promote, rollback,
|
|
315
|
+
{ name: 'Slash Commands (implement, review, deploy, releases, cherry-pick, promote, rollback, track, cleanup, create-work-item, …)', value: 'commands', checked: true },
|
|
312
316
|
{ name: 'MCP Servers (Playwright, DB, Teams, Stripe, Azure, Azure DevOps)', value: 'mcp', checked: true },
|
|
313
317
|
{ name: 'Settings (hook registration)', value: 'settings', checked: true },
|
|
314
318
|
{ name: 'CLAUDE.md Workflow Section', value: 'workflow', checked: true },
|
|
@@ -333,7 +337,7 @@ async function main() {
|
|
|
333
337
|
);
|
|
334
338
|
}
|
|
335
339
|
}
|
|
336
|
-
await
|
|
340
|
+
await removeRetiredFiles(agentsDir, RETIRED_PROJECT_AGENTS);
|
|
337
341
|
}
|
|
338
342
|
|
|
339
343
|
// ── Hooks ─────────────────────────────────────────────────────────────
|
|
@@ -369,6 +373,7 @@ async function main() {
|
|
|
369
373
|
);
|
|
370
374
|
}
|
|
371
375
|
}
|
|
376
|
+
await removeRetiredFiles(cmdsDir, RETIRED_COMMANDS);
|
|
372
377
|
}
|
|
373
378
|
|
|
374
379
|
// ── MCP Servers (interactive selection) ───────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chris1807/claude-kit",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.58",
|
|
4
4
|
"description": "Claude Code starter kit for Azure DevOps teams — agents, hooks, MCP servers, slash commands, and end-to-end work item → PR → release → deploy workflow automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -233,4 +233,4 @@ Cherry-pick is deployed to {environment} (pipeline {build-number}, succeeded).
|
|
|
233
233
|
Next: {the human step — "QA tests on Test and sets Ready for Staging" / "stakeholders verify on Staging and set Ready to Deploy" / "verify in production, then Close"}.
|
|
234
234
|
```
|
|
235
235
|
|
|
236
|
-
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/
|
|
236
|
+
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/track` will flag the lag later.
|
|
@@ -292,7 +292,7 @@ Release #{N} is on {environment} (pipeline {build-number}, succeeded).
|
|
|
292
292
|
Next: {the human step — "QA tests on Test and sets Ready for Staging" / "stakeholders verify on Staging and set Ready to Deploy" / "verify in production, then Close"}.
|
|
293
293
|
```
|
|
294
294
|
|
|
295
|
-
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/
|
|
295
|
+
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/track release {N}` will flag the lag later.
|
|
296
296
|
|
|
297
297
|
## Step 11: Notify Team (if Teams MCP is configured)
|
|
298
298
|
|
|
@@ -227,4 +227,4 @@ Report both fields, so a wrong assignment is easy to put back:
|
|
|
227
227
|
Next: {the human step — "QA tests on Test and sets Ready for Staging" / "stakeholders verify on Staging and set Ready to Deploy" / "verify in production, then Close"}.
|
|
228
228
|
```
|
|
229
229
|
|
|
230
|
-
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/
|
|
230
|
+
If the user said `stop watching`, or an update fails, leave the rest alone, say exactly which items were and were not updated, and note that `/track` will flag the lag later.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Check the status of a release, pipeline, environment, or work item. Usage: `/
|
|
1
|
+
Check the status of a release, pipeline, environment, or work item. Usage: `/track <target>`
|
|
2
2
|
|
|
3
3
|
Parse `$ARGUMENTS` to determine what to check:
|
|
4
4
|
- **Release**: "release 24" or "r24" → show release status
|
|
@@ -23,7 +23,7 @@ Work item states track environments. Use this to spot **state lag** — an item
|
|
|
23
23
|
|
|
24
24
|
`Ready for Staging` and `Ready to Deploy` are human sign-offs and are never "lag". Only User Stories, Bugs, and Hot Fixes are checked — Features and Tasks have no environment state.
|
|
25
25
|
|
|
26
|
-
## If Release (e.g., `/
|
|
26
|
+
## If Release (e.g., `/track release 24`):
|
|
27
27
|
|
|
28
28
|
Query all work items tagged `release-{N}` or in the `Release #{N}` iteration. For each, find which environment branches contain its commits (`repo_search_commits` with `includeWorkItems: true`, or `git merge-base --is-ancestor`).
|
|
29
29
|
|
|
@@ -51,7 +51,7 @@ Catch these up? (yes/no)
|
|
|
51
51
|
|
|
52
52
|
If the user says yes, set `System.State` on each lagging item to the expected state via `wit_update_work_item` — never backward, never on a Feature or Task — and report `Was → Now`.
|
|
53
53
|
|
|
54
|
-
## If Pipeline (e.g., `/
|
|
54
|
+
## If Pipeline (e.g., `/track pipeline` or `/track build`):
|
|
55
55
|
|
|
56
56
|
Query recent builds for each pipeline in the Pipeline Configuration table.
|
|
57
57
|
|
|
@@ -67,7 +67,7 @@ Query recent builds for each pipeline in the Pipeline Configuration table.
|
|
|
67
67
|
|
|
68
68
|
A run on `main` would be unexpected — `main` has no pipeline. If one appears, say so.
|
|
69
69
|
|
|
70
|
-
## If Work Item (e.g., `/
|
|
70
|
+
## If Work Item (e.g., `/track AB#4521`):
|
|
71
71
|
|
|
72
72
|
Read the work item from Azure DevOps and show its full status, including which environment branches contain its commits.
|
|
73
73
|
|
|
@@ -102,7 +102,7 @@ State `Staging` matches the furthest environment. ✓
|
|
|
102
102
|
|
|
103
103
|
If the state lags the furthest environment, flag it and offer to catch it up as in the release view.
|
|
104
104
|
|
|
105
|
-
## If Environment (e.g., `/
|
|
105
|
+
## If Environment (e.g., `/track staging`):
|
|
106
106
|
|
|
107
107
|
Map the name to its branch through the Pipeline Configuration table. Show the last deployment and what's currently there.
|
|
108
108
|
|
|
@@ -123,9 +123,9 @@ Map the name to its branch through the Pipeline Configuration table. Show the la
|
|
|
123
123
|
{count} commits on `test` are not on `staging` — run `/promote test staging` or `/deploy-release <N> staging`.
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
`/
|
|
126
|
+
`/track main` is allowed but reports "compare branch — nothing deploys from main" and lists what's on `main` that hasn't been promoted to `dev`.
|
|
127
127
|
|
|
128
|
-
## If No Argument (e.g., `/
|
|
128
|
+
## If No Argument (e.g., `/track`):
|
|
129
129
|
|
|
130
130
|
Show a high-level overview.
|
|
131
131
|
|
|
@@ -88,6 +88,6 @@ Open PRs:
|
|
|
88
88
|
- PR #<n> → <target branch> (<status>)
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
Finally, compare the work item's state with its furthest environment (`dev` → `Ready for Testing`, `test` → `Testing`, `staging` → `Staging`, `prod` → `Deployed`). If the state lags — e.g. commits on `staging` but the item is still `Testing` — add one line: `⚠ State lags environment: Testing, expected at least Staging — /
|
|
91
|
+
Finally, compare the work item's state with its furthest environment (`dev` → `Ready for Testing`, `test` → `Testing`, `staging` → `Staging`, `prod` → `Deployed`). If the state lags — e.g. commits on `staging` but the item is still `Testing` — add one line: `⚠ State lags environment: Testing, expected at least Staging — /track AB#<id> can catch it up.`
|
|
92
92
|
|
|
93
93
|
That's it — read-only. Do not modify branches, push, create PRs, or change states.
|
|
@@ -47,7 +47,7 @@ Ultracode is **opt-in**. It is on only when a system-reminder confirms it, when
|
|
|
47
47
|
| Multi-file or cross-layer review | one agent per file/dimension, then adversarial verify before reporting |
|
|
48
48
|
| Repo-wide sweeps (rename, dependency bump, pattern migration) | one agent per site, worktree-isolated |
|
|
49
49
|
|
|
50
|
-
Short, single-query operations (`/
|
|
50
|
+
Short, single-query operations (`/track`, `/explain`, `/close-orphan-tasks`) do **not** need ultracode — they are already one pass and gain nothing from fan-out. Reach for `Workflow` when the work-list is large and the per-item work is independent.
|
|
51
51
|
|
|
52
52
|
**`/rework` always uses ultracode** — it does not wait to be asked. It fans out feedback gathering, codebase exploration, per-acceptance-criterion coverage checks, and the find → adversarially-verify review, while keeping every approval gate and write in the main loop.
|
|
53
53
|
|
|
@@ -178,7 +178,7 @@ Human-only transitions — no slash command ever makes these: `Testing → Ready
|
|
|
178
178
|
How the commands use this table:
|
|
179
179
|
|
|
180
180
|
- **Gate check before the PR.** `/deploy-release`, `/cherry-pick`, and `/promote` compare each carried work item's state against the gate for the target environment. Anything behind the gate (e.g. still `Testing` when deploying to `staging`) is flagged and the user decides whether to include it. Items *ahead* of the gate (e.g. already `Deployed` on a cherry-pick to `prod`) are reported and left alone.
|
|
181
|
-
- **Advance on a green pipeline, automatically.** `/promote`, `/cherry-pick`, and `/deploy-release` do not stop at the PR. They poll it until it is `completed`, then poll the target branch's CD pipeline until every run finishes. Only on `succeeded` do they write the new state — for every carried User Story, Bug, and Hot Fix, never a Feature or Task, and never backward. A failed or canceled run changes **nothing** and is reported with the log link. `/
|
|
181
|
+
- **Advance on a green pipeline, automatically.** `/promote`, `/cherry-pick`, and `/deploy-release` do not stop at the PR. They poll it until it is `completed`, then poll the target branch's CD pipeline until every run finishes. Only on `succeeded` do they write the new state — for every carried User Story, Bug, and Hot Fix, never a Feature or Task, and never backward. A failed or canceled run changes **nothing** and is reported with the log link. `/track` reports items whose state lags the branch their commits are on and offers to catch them up.
|
|
182
182
|
- **Assign the verifier at the same time.** The state change hands the item to a person, so the same three commands ask **before the merge** who each group of items should go to, then apply the assignee alongside the state once the pipeline is green. See **Verifier Assignment** below.
|
|
183
183
|
- **Never assume the state list.** Confirm with `mcp__azure-devops__wit_work_item` (`action: get_type`) on an unfamiliar project before writing a state name — a bad name is accepted silently by a query and rejected only at write time.
|
|
184
184
|
|
|
@@ -307,7 +307,7 @@ All deployment and release operations are available as slash commands:
|
|
|
307
307
|
| `/cherry-pick` | `/cherry-pick AB#1234 AB#1235 prod` | Gate-check → cherry-pick specific work items → PR → ask who verifies → advance + assign on a green pipeline |
|
|
308
308
|
| `/promote` | `/promote main dev` | Promote all code between environments (`main → dev → test → staging → prod`) → ask who verifies → advance + assign on a green pipeline |
|
|
309
309
|
| `/rollback` | `/rollback AB#1234 prod` | Revert commits on an environment |
|
|
310
|
-
| `/
|
|
310
|
+
| `/track` | `/track release 24` | Check release, pipeline, environment, or work item status; flags work items whose state lags their environment |
|
|
311
311
|
| `/where` | `/where AB#1234` | Show which environment branches contain a work item's commits |
|
|
312
312
|
| `/qa` | `/qa AB#1234 [env]` | Verify the item is fully deployed with a green pipeline → open the app in a real browser → sign in as a test account → full regression of the screens the story touched → pass/fail comment (never a state change) |
|
|
313
313
|
| `/plan-backlog` | `/plan-backlog [project]` | Sweep backlog for Dev Ready stories with points and no tasks → propose child tasks with hours |
|
|
@@ -323,7 +323,7 @@ The CD pipeline is only triggered manually when pushing directly to an environme
|
|
|
323
323
|
|
|
324
324
|
### Pipeline Configuration
|
|
325
325
|
|
|
326
|
-
Each project must define its compare branch, its environment chain, and its pipeline IDs so the slash commands (`/deploy`, `/promote`, `/deploy-release`, `/cherry-pick`, `/where`, `/
|
|
326
|
+
Each project must define its compare branch, its environment chain, and its pipeline IDs so the slash commands (`/deploy`, `/promote`, `/deploy-release`, `/cherry-pick`, `/where`, `/track`) know which pipelines to trigger and what the promotion order is.
|
|
327
327
|
|
|
328
328
|
Add this section to your project's `CLAUDE.md`:
|
|
329
329
|
|
|
@@ -345,7 +345,7 @@ Add this section to your project's `CLAUDE.md`:
|
|
|
345
345
|
- `/deploy` triggers the pipeline(s) listed for the current branch. If the current branch is not in this table, or its pipeline cell is `—`, no pipeline is triggered.
|
|
346
346
|
- `/promote` uses this table to determine the next environment (the next row down).
|
|
347
347
|
- `/deploy-release` and `/cherry-pick` create PRs targeting environment branches listed here, and use the **Work Item States ↔ Environments** table to gate-check and advance work items.
|
|
348
|
-
- `/where` and `/
|
|
348
|
+
- `/where` and `/track` check every row; the compare branch reports as "merged to main", not as a deployment.
|
|
349
349
|
|
|
350
350
|
**Examples from actual projects:**
|
|
351
351
|
|