@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 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`, `/status`, `/rework`, and `/resolve-feedback` commands against GitHub / GitLab / Jira / etc.
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`, `/status`, `/plan-backlog`, `/plan-sprint`, `/quote-backlog`, `/cleanup-branches`, `/close-orphan-tasks`, `/quote`, `/explain`, `/create-work-item`, `/edit-work-item` |
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, /status, /cleanup-branches, /quote, /explain)
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
- │ │ ├── status.md # /status release 24
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 (`/status`, `/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.
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
- /status release 24
377
- /status pipeline
378
- /status AB#4521
379
- /status staging
380
- /status
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. `/status` flags anything whose state lags the branch it's on.
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
- | `/status` | `/status release 24` | Check status of a release, pipeline, work item, or environment; flags work items whose state lags their environment |
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 removeRetiredAgents(agentsDir, retired) {
239
+ async function removeRetiredFiles(dir, retired) {
236
240
  for (const file of retired) {
237
- const target = join(agentsDir, file);
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 removeRetiredAgents(globalAgentsDir, RETIRED_GLOBAL_AGENTS);
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, status, cleanup, create-work-item, …)', value: 'commands', checked: true },
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 removeRetiredAgents(agentsDir, RETIRED_PROJECT_AGENTS);
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.57",
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 `/status` will flag the lag later.
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 `/status release {N}` will flag the lag later.
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 `/status` will flag the lag later.
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: `/status <target>`
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., `/status release 24`):
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., `/status pipeline` or `/status build`):
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., `/status AB#4521`):
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., `/status staging`):
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
- `/status main` is allowed but reports "compare branch — nothing deploys from main" and lists what's on `main` that hasn't been promoted to `dev`.
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., `/status`):
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 — /status AB#<id> can catch it up.`
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 (`/status`, `/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.
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. `/status` reports items whose state lags the branch their commits are on and offers to catch them up.
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
- | `/status` | `/status release 24` | Check release, pipeline, environment, or work item status; flags work items whose state lags their environment |
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`, `/status`) know which pipelines to trigger and what the promotion order is.
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 `/status` check every row; the compare branch reports as "merged to main", not as a deployment.
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