@nolrm/contextkit 0.17.0 → 0.19.0
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 +66 -3
- package/lib/commands/install.js +44 -2
- package/lib/commands/update.js +44 -2
- package/lib/integrations/claude-integration.js +43 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -157,14 +157,16 @@ ContextKit installs reusable slash commands for supported platforms:
|
|
|
157
157
|
| `/doc-arch` | Generate architecture docs — stack-aware (Level 1). Output: `docs/<topic>.md`, or `docs/architecture.md` if no topic given. Pass a topic name, PR number, or leave blank to infer from branch. |
|
|
158
158
|
| `/doc-feature` | Generate feature-level docs (`docs/features/<name>.md`) — stack-aware (Level 2) |
|
|
159
159
|
| `/doc-component` | Generate component-level docs colocated with the target file — stack-aware (Level 3) |
|
|
160
|
-
| `/spec` |
|
|
160
|
+
| `/spec` | Turn a product overview into an implementation-ready spec — UX flows, DB schema, API contracts, and phased build plan |
|
|
161
|
+
| `/spec-component` | Write a component spec (MD-first) before any code is created |
|
|
161
162
|
| `/squad` | Kick off a squad task — one task or many (auto-detects batch mode). Pushes back with clarifying questions if the task is vague. |
|
|
162
163
|
| `/squad-architect` | Design the technical plan from the PO spec |
|
|
163
164
|
| `/squad-dev` | Implement code following the architect plan |
|
|
164
165
|
| `/squad-test` | Classify test levels, write and run tests against acceptance criteria |
|
|
165
166
|
| `/squad-review` | Review the full pipeline and give a verdict |
|
|
166
167
|
| `/squad-doc` | Create companion `.md` files for new/modified code after review passes |
|
|
167
|
-
| `/squad-
|
|
168
|
+
| `/squad-go` | Extract tasks from the current conversation and run the full pipeline immediately — no second command needed |
|
|
169
|
+
| `/squad-auto` | Auto-run the full pipeline after `/squad` kickoff (sequential) |
|
|
168
170
|
| `/squad-auto-parallel` | Auto-run the pipeline in parallel using Claude Code agents (Claude Code only) |
|
|
169
171
|
| `/ck` | Health check — verify setup, standards, and integrations |
|
|
170
172
|
| `/agent-push-checklist` | Pre-push quality checklist for agents to self-check before `git push` |
|
|
@@ -195,12 +197,22 @@ The squad workflow turns a single AI session into a structured multi-role pipeli
|
|
|
195
197
|
| 5 | Reviewer | `/squad-review` | Reviews everything and gives a PASS or NEEDS-WORK verdict |
|
|
196
198
|
| 6 | Doc Writer | `/squad-doc` | Creates companion `.md` files for every new/modified code file |
|
|
197
199
|
|
|
200
|
+
### Express Flow (conversation-first)
|
|
201
|
+
|
|
202
|
+
After discussing a feature or fix with your AI tool, run a single command to go hands-free:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
/squad-go
|
|
206
|
+
# Reads tasks from the current conversation, confirms the list, writes specs,
|
|
207
|
+
# and immediately runs architect → dev → test → review → doc — no second command needed
|
|
208
|
+
```
|
|
209
|
+
|
|
198
210
|
### Single-Task Flow
|
|
199
211
|
|
|
200
212
|
```bash
|
|
201
213
|
/squad "add dark mode support" # PO writes the spec
|
|
202
214
|
|
|
203
|
-
/squad-auto # Auto-runs architect → dev → test → review → doc
|
|
215
|
+
/squad-auto # Auto-runs architect → dev → test → review → doc
|
|
204
216
|
# — or step through manually —
|
|
205
217
|
/squad-architect # Architect designs the plan
|
|
206
218
|
/squad-dev # Dev implements the code
|
|
@@ -258,6 +270,57 @@ If you have a screenshot, mockup, or design image relevant to the task, paste or
|
|
|
258
270
|
|
|
259
271
|
---
|
|
260
272
|
|
|
273
|
+
## Spec Pipeline
|
|
274
|
+
|
|
275
|
+
The spec pipeline turns a high-level product overview into an implementation-ready spec. It runs before the squad — producing the UX flows, DB schema, API contracts, and phased build plan that make stories possible.
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
/spec # Start or continue — picks up the next unchecked scope automatically
|
|
279
|
+
/spec 02-jobs # Run a specific scope by name
|
|
280
|
+
/spec --redo 01-identity-auth # Re-run a completed scope from scratch
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### How It Works
|
|
284
|
+
|
|
285
|
+
`/spec` reads a product overview file (`PROJECT_OVERVIEW.md`, `OVERVIEW.md`, `BRIEF.md`, or any `.md` file you point it to) and runs a multi-round pipeline for each scope:
|
|
286
|
+
|
|
287
|
+
| Round | Who runs | What happens |
|
|
288
|
+
|-------|----------|-------------|
|
|
289
|
+
| 0 — Brief | CTO | Reads the overview, defines scope boundaries, writes a brief all agents share |
|
|
290
|
+
| 1 — Domain experts | UX, Data, Systems, Planner (parallel) | Each produces their section independently from the brief |
|
|
291
|
+
| 2 — Challenges | CTO | Reads all four sections, writes challenges — gaps, contradictions, missing decisions |
|
|
292
|
+
| 3 — Revisions | UX, Data, Systems, Planner (parallel) | Each addresses the CTO's challenges, flags unresolvable items as OPEN DECISIONs |
|
|
293
|
+
| Final — Author | CTO | Resolves open decisions, writes the unified `SPEC.md` |
|
|
294
|
+
|
|
295
|
+
### Output Structure
|
|
296
|
+
|
|
297
|
+
Each scope produces a folder with all working artifacts and a final `SPEC.md`:
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
spec/
|
|
301
|
+
PROGRESS.md ← scope checklist, updated after each run
|
|
302
|
+
INDEX.md ← master TOC linking all SPEC.md files
|
|
303
|
+
|
|
304
|
+
01-identity-auth/
|
|
305
|
+
00-brief.md ← CTO's scoping brief
|
|
306
|
+
01-ux.md ← UX flows and screens
|
|
307
|
+
02-data.md ← DB schema and relationships
|
|
308
|
+
03-systems.md ← API contracts and services
|
|
309
|
+
04-plan.md ← build phases and stories
|
|
310
|
+
05-challenges.md ← CTO's Round 2 challenges
|
|
311
|
+
SPEC.md ← final unified spec for this scope
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Run `/spec` once per scope. Each run appends to `spec/INDEX.md`. When all scopes are done, feed individual `SPEC.md` files into `/squad` as implementation tasks.
|
|
315
|
+
|
|
316
|
+
### First Run
|
|
317
|
+
|
|
318
|
+
On the first run, the CTO reads the entire overview and identifies all logical scopes — ordering them by dependency (identity before marketplace, invoicing before tax). This produces `spec/PROGRESS.md` which acts as the checklist for all subsequent runs.
|
|
319
|
+
|
|
320
|
+
If no standard overview file is found, `/spec` lists all `.md` files in the directory and asks you to pick.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
261
324
|
## Hooks & Quality Gates
|
|
262
325
|
|
|
263
326
|
ContextKit installs two kinds of hooks. **Git hooks** (pre-push, commit-msg) enforce quality at push time for the whole team. For **Claude Code** installs, a **PostToolUse hook** is also written to `.claude/settings.json` — it runs format+lint after every file edit in a Claude Code session, catching failures immediately rather than at push time.
|
package/lib/commands/install.js
CHANGED
|
@@ -928,8 +928,8 @@ Any design decisions, trade-offs, or open questions to resolve before coding.
|
|
|
928
928
|
'.contextkit/commands/dev/create-component.md'
|
|
929
929
|
);
|
|
930
930
|
await this.downloadManager.downloadFile(
|
|
931
|
-
`${this.repoUrl}/commands/dev/spec.md`,
|
|
932
|
-
'.contextkit/commands/dev/spec.md'
|
|
931
|
+
`${this.repoUrl}/commands/dev/spec-component.md`,
|
|
932
|
+
'.contextkit/commands/dev/spec-component.md'
|
|
933
933
|
);
|
|
934
934
|
|
|
935
935
|
// Download squad commands
|
|
@@ -973,11 +973,53 @@ Any design decisions, trade-offs, or open questions to resolve before coding.
|
|
|
973
973
|
`${this.repoUrl}/commands/squad/squad-ci.md`,
|
|
974
974
|
'.contextkit/commands/squad/squad-ci.md'
|
|
975
975
|
);
|
|
976
|
+
await this.downloadManager.downloadFile(
|
|
977
|
+
`${this.repoUrl}/commands/squad/squad-go.md`,
|
|
978
|
+
'.contextkit/commands/squad/squad-go.md'
|
|
979
|
+
);
|
|
976
980
|
await this.downloadManager.downloadFile(
|
|
977
981
|
`${this.repoUrl}/commands/dev/health-check.md`,
|
|
978
982
|
'.contextkit/commands/dev/health-check.md'
|
|
979
983
|
);
|
|
980
984
|
|
|
985
|
+
// Download spec pipeline commands
|
|
986
|
+
await this.downloadManager.downloadFile(
|
|
987
|
+
`${this.repoUrl}/commands/spec/spec.md`,
|
|
988
|
+
'.contextkit/commands/spec/spec.md'
|
|
989
|
+
);
|
|
990
|
+
await this.downloadManager.downloadFile(
|
|
991
|
+
`${this.repoUrl}/commands/spec/spec-init.md`,
|
|
992
|
+
'.contextkit/commands/spec/spec-init.md'
|
|
993
|
+
);
|
|
994
|
+
await this.downloadManager.downloadFile(
|
|
995
|
+
`${this.repoUrl}/commands/spec/spec-brief.md`,
|
|
996
|
+
'.contextkit/commands/spec/spec-brief.md'
|
|
997
|
+
);
|
|
998
|
+
await this.downloadManager.downloadFile(
|
|
999
|
+
`${this.repoUrl}/commands/spec/spec-ux.md`,
|
|
1000
|
+
'.contextkit/commands/spec/spec-ux.md'
|
|
1001
|
+
);
|
|
1002
|
+
await this.downloadManager.downloadFile(
|
|
1003
|
+
`${this.repoUrl}/commands/spec/spec-data.md`,
|
|
1004
|
+
'.contextkit/commands/spec/spec-data.md'
|
|
1005
|
+
);
|
|
1006
|
+
await this.downloadManager.downloadFile(
|
|
1007
|
+
`${this.repoUrl}/commands/spec/spec-systems.md`,
|
|
1008
|
+
'.contextkit/commands/spec/spec-systems.md'
|
|
1009
|
+
);
|
|
1010
|
+
await this.downloadManager.downloadFile(
|
|
1011
|
+
`${this.repoUrl}/commands/spec/spec-planner.md`,
|
|
1012
|
+
'.contextkit/commands/spec/spec-planner.md'
|
|
1013
|
+
);
|
|
1014
|
+
await this.downloadManager.downloadFile(
|
|
1015
|
+
`${this.repoUrl}/commands/spec/spec-challenge.md`,
|
|
1016
|
+
'.contextkit/commands/spec/spec-challenge.md'
|
|
1017
|
+
);
|
|
1018
|
+
await this.downloadManager.downloadFile(
|
|
1019
|
+
`${this.repoUrl}/commands/spec/spec-author.md`,
|
|
1020
|
+
'.contextkit/commands/spec/spec-author.md'
|
|
1021
|
+
);
|
|
1022
|
+
|
|
981
1023
|
// Download doc family commands
|
|
982
1024
|
await this.downloadManager.downloadFile(
|
|
983
1025
|
`${this.repoUrl}/commands/docs/doc-arch.md`,
|
package/lib/commands/update.js
CHANGED
|
@@ -292,8 +292,8 @@ class UpdateCommand {
|
|
|
292
292
|
'.contextkit/commands/dev/create-component.md'
|
|
293
293
|
);
|
|
294
294
|
await this.downloadManager.downloadFile(
|
|
295
|
-
`${this.repoUrl}/commands/dev/spec.md`,
|
|
296
|
-
'.contextkit/commands/dev/spec.md'
|
|
295
|
+
`${this.repoUrl}/commands/dev/spec-component.md`,
|
|
296
|
+
'.contextkit/commands/dev/spec-component.md'
|
|
297
297
|
);
|
|
298
298
|
|
|
299
299
|
// Download squad commands
|
|
@@ -337,11 +337,53 @@ class UpdateCommand {
|
|
|
337
337
|
`${this.repoUrl}/commands/squad/squad-ci.md`,
|
|
338
338
|
'.contextkit/commands/squad/squad-ci.md'
|
|
339
339
|
);
|
|
340
|
+
await this.downloadManager.downloadFile(
|
|
341
|
+
`${this.repoUrl}/commands/squad/squad-go.md`,
|
|
342
|
+
'.contextkit/commands/squad/squad-go.md'
|
|
343
|
+
);
|
|
340
344
|
await this.downloadManager.downloadFile(
|
|
341
345
|
`${this.repoUrl}/commands/dev/health-check.md`,
|
|
342
346
|
'.contextkit/commands/dev/health-check.md'
|
|
343
347
|
);
|
|
344
348
|
|
|
349
|
+
// Download spec pipeline commands
|
|
350
|
+
await this.downloadManager.downloadFile(
|
|
351
|
+
`${this.repoUrl}/commands/spec/spec.md`,
|
|
352
|
+
'.contextkit/commands/spec/spec.md'
|
|
353
|
+
);
|
|
354
|
+
await this.downloadManager.downloadFile(
|
|
355
|
+
`${this.repoUrl}/commands/spec/spec-init.md`,
|
|
356
|
+
'.contextkit/commands/spec/spec-init.md'
|
|
357
|
+
);
|
|
358
|
+
await this.downloadManager.downloadFile(
|
|
359
|
+
`${this.repoUrl}/commands/spec/spec-brief.md`,
|
|
360
|
+
'.contextkit/commands/spec/spec-brief.md'
|
|
361
|
+
);
|
|
362
|
+
await this.downloadManager.downloadFile(
|
|
363
|
+
`${this.repoUrl}/commands/spec/spec-ux.md`,
|
|
364
|
+
'.contextkit/commands/spec/spec-ux.md'
|
|
365
|
+
);
|
|
366
|
+
await this.downloadManager.downloadFile(
|
|
367
|
+
`${this.repoUrl}/commands/spec/spec-data.md`,
|
|
368
|
+
'.contextkit/commands/spec/spec-data.md'
|
|
369
|
+
);
|
|
370
|
+
await this.downloadManager.downloadFile(
|
|
371
|
+
`${this.repoUrl}/commands/spec/spec-systems.md`,
|
|
372
|
+
'.contextkit/commands/spec/spec-systems.md'
|
|
373
|
+
);
|
|
374
|
+
await this.downloadManager.downloadFile(
|
|
375
|
+
`${this.repoUrl}/commands/spec/spec-planner.md`,
|
|
376
|
+
'.contextkit/commands/spec/spec-planner.md'
|
|
377
|
+
);
|
|
378
|
+
await this.downloadManager.downloadFile(
|
|
379
|
+
`${this.repoUrl}/commands/spec/spec-challenge.md`,
|
|
380
|
+
'.contextkit/commands/spec/spec-challenge.md'
|
|
381
|
+
);
|
|
382
|
+
await this.downloadManager.downloadFile(
|
|
383
|
+
`${this.repoUrl}/commands/spec/spec-author.md`,
|
|
384
|
+
'.contextkit/commands/spec/spec-author.md'
|
|
385
|
+
);
|
|
386
|
+
|
|
345
387
|
// Download doc family commands
|
|
346
388
|
await this.downloadManager.downloadFile(
|
|
347
389
|
`${this.repoUrl}/commands/docs/doc-arch.md`,
|
|
@@ -26,7 +26,9 @@ class ClaudeIntegration extends BaseIntegration {
|
|
|
26
26
|
'.claude/skills/squad-auto-parallel/SKILL.md',
|
|
27
27
|
'.claude/skills/squad-reset/SKILL.md',
|
|
28
28
|
'.claude/skills/squad-doc/SKILL.md',
|
|
29
|
+
'.claude/skills/squad-go/SKILL.md',
|
|
29
30
|
'.claude/skills/spec/SKILL.md',
|
|
31
|
+
'.claude/skills/spec-component/SKILL.md',
|
|
30
32
|
'.claude/skills/ck/SKILL.md',
|
|
31
33
|
'.claude/skills/doc-arch/SKILL.md',
|
|
32
34
|
'.claude/skills/doc-feature/SKILL.md',
|
|
@@ -311,7 +313,7 @@ Add inline docs, README sections, and usage examples for the specified code.
|
|
|
311
313
|
);
|
|
312
314
|
|
|
313
315
|
await this.writeGeneratedFile(
|
|
314
|
-
'.claude/skills/spec/SKILL.md',
|
|
316
|
+
'.claude/skills/spec-component/SKILL.md',
|
|
315
317
|
`---
|
|
316
318
|
description: Write a component spec (MD-first) before coding begins
|
|
317
319
|
argument-hint: "<component or feature name>"
|
|
@@ -319,12 +321,28 @@ allowed-tools: Read, Write, Glob, Grep
|
|
|
319
321
|
effort: normal
|
|
320
322
|
---
|
|
321
323
|
|
|
322
|
-
Read \`.contextkit/commands/dev/spec.md\` and execute the spec workflow.
|
|
324
|
+
Read \`.contextkit/commands/dev/spec-component.md\` and execute the component spec workflow.
|
|
323
325
|
|
|
324
326
|
Write a component spec (MD-first) before any code is created. Scaffold the spec file colocated with the component and wait for review before coding begins.
|
|
325
327
|
`
|
|
326
328
|
);
|
|
327
329
|
|
|
330
|
+
await this.writeGeneratedFile(
|
|
331
|
+
'.claude/skills/spec/SKILL.md',
|
|
332
|
+
`---
|
|
333
|
+
description: Turn a product overview into an implementation-ready spec — UX flows, DB schema, API contracts, and build plan
|
|
334
|
+
argument-hint: "[scope-name] | --redo <scope> | --reset"
|
|
335
|
+
allowed-tools: Read, Write, Glob, Grep, Task
|
|
336
|
+
effort: high
|
|
337
|
+
context: fork
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
Read \`.contextkit/commands/spec/spec.md\` and execute the spec pipeline workflow.
|
|
341
|
+
|
|
342
|
+
Reads a product overview file, breaks it into logical scopes, and runs a multi-round pipeline for each scope: CTO briefs → 4 domain experts in parallel → CTO challenges → domain revisions → CTO authors final SPEC.md. Produces a structured \`spec/\` folder. Run once per scope — \`/spec\` picks up where you left off.
|
|
343
|
+
`
|
|
344
|
+
);
|
|
345
|
+
|
|
328
346
|
await this.writeGeneratedFile(
|
|
329
347
|
'.claude/skills/ck/SKILL.md',
|
|
330
348
|
`---
|
|
@@ -471,6 +489,24 @@ After review passes, create or update companion .md files for every new/modified
|
|
|
471
489
|
`
|
|
472
490
|
);
|
|
473
491
|
|
|
492
|
+
await this.writeGeneratedFile(
|
|
493
|
+
'.claude/skills/squad-go/SKILL.md',
|
|
494
|
+
`---
|
|
495
|
+
description: Extract tasks from conversation and run the full pipeline immediately — no checkpoint pause
|
|
496
|
+
argument-hint: '"<optional task override>"'
|
|
497
|
+
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
|
|
498
|
+
effort: high
|
|
499
|
+
context: fork
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
Read \`.contextkit/commands/squad/squad-go.md\` and execute the express pipeline workflow.
|
|
503
|
+
|
|
504
|
+
Reads tasks from the current conversation, writes PO specs, and immediately runs architect → dev → test → review → doc. No checkpoint pause — single invocation, hands-free.
|
|
505
|
+
|
|
506
|
+
Use \`/squad\` instead when you want to review specs before execution starts.
|
|
507
|
+
`
|
|
508
|
+
);
|
|
509
|
+
|
|
474
510
|
// Doc family skills
|
|
475
511
|
await this.writeGeneratedFile(
|
|
476
512
|
'.claude/skills/doc-arch/SKILL.md',
|
|
@@ -590,6 +626,11 @@ Load and apply the project's ContextKit standards before taking action in an age
|
|
|
590
626
|
console.log(chalk.dim(' /squad-dev — Implement the code'));
|
|
591
627
|
console.log(chalk.dim(' /squad-test — Write and run tests'));
|
|
592
628
|
console.log(chalk.dim(' /squad-review — Review and write verdict'));
|
|
629
|
+
console.log(
|
|
630
|
+
chalk.dim(
|
|
631
|
+
' /squad-go — Extract tasks from conversation and run full pipeline'
|
|
632
|
+
)
|
|
633
|
+
);
|
|
593
634
|
console.log(chalk.dim(' /squad-auto — Auto-run full pipeline (recommended)'));
|
|
594
635
|
console.log(
|
|
595
636
|
chalk.dim(' /squad-auto-parallel — Auto-run pipeline in parallel (batch, fastest)')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nolrm/contextkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "ContextKit - Context Engineering for AI Development. Provide rich context to AI through structured MD files with standards, code guides, and documentation. Works with Cursor, Claude, Aider, VS Code Copilot, and more.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"bin": {
|