tracerkit 1.19.3 → 1.19.5

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
@@ -29,7 +29,7 @@ DEFINE PLAN BUILD VERIFY
29
29
  │ │ │ │
30
30
  ▼ ▼ ▼ ▼
31
31
  PRD doc Phased plan Implement phase Pass/fail
32
- + feedback loops + status
32
+ + feedback loops
33
33
  ```
34
34
 
35
35
  ## Get Started
@@ -125,17 +125,17 @@ AI: Phase 1 — Theme visible end-to-end (3 remaining)
125
125
  Implementing... all checks pass. Commit?
126
126
 
127
127
  You: /tk:check dark-mode-support
128
- AI: Status: done | Total: 5/5
129
- Marked complete in .tracerkit/prds/dark-mode-support.md
128
+ AI: Total: 7/7
129
+ All phases complete implementation verified.
130
130
  ```
131
131
 
132
132
  Between sessions, `/tk:brief` shows active features and picks up where you left off:
133
133
 
134
134
  ```
135
135
  You: /tk:brief
136
- AI: | Feature | Status | Age | Progress | Next |
137
- |-------------------|-------------|-----|----------|------------------------------|
138
- | dark-mode-support | in_progress | 3d | 3/7 | Toggle component renders ... |
136
+ AI: dark-mode-support (3/7)
137
+ Phase 1 — Theme visible end-to-end: 3/3
138
+ > Phase 2 User can toggle and persist preference: 0/4
139
139
 
140
140
  **Focus → dark-mode-support**
141
141
  ```
@@ -144,26 +144,25 @@ See [Examples](docs/examples.md) for full walkthroughs.
144
144
 
145
145
  ## Skills
146
146
 
147
- | Skill | What it does | Output |
148
- | ------------------ | ------------------------------------------------------ | --------------------------------------------------- |
149
- | `/tk:prd <idea>` | Interview → codebase scan → structured PRD | `.tracerkit/prds/<slug>.md` |
150
- | `/tk:plan <slug>` | PRD → phased vertical slices, each demoable on its own | `.tracerkit/plans/<slug>.md` |
151
- | `/tk:build <slug>` | Implement next incomplete phase, run feedback loops | Code changes + checked items in plan |
152
- | `/tk:brief` | Feature dashboard with progress and suggested focus | Terminal only, no files |
153
- | `/tk:check [slug]` | Verify done-when checkboxes against codebase and tests | Verdict block in plan, status updated when all pass |
147
+ | Skill | What it does | Output |
148
+ | ------------------ | ------------------------------------------------------ | ------------------------------------ |
149
+ | `/tk:prd <idea>` | Interview → codebase scan → structured PRD | `.tracerkit/prds/<slug>.md` |
150
+ | `/tk:plan <slug>` | PRD → phased vertical slices, each demoable on its own | `.tracerkit/plans/<slug>.md` |
151
+ | `/tk:build <slug>` | Implement next incomplete phase, run feedback loops | Code changes + checked items in plan |
152
+ | `/tk:brief` | Feature dashboard with progress and suggested focus | Terminal only, no files |
153
+ | `/tk:check [slug]` | Verify done-when checkboxes against codebase and tests | Checkboxes updated in plan |
154
154
 
155
155
  ## Docs
156
156
 
157
- | Document | Description |
158
- | ------------------------------------------------ | -------------------------------------------------- |
159
- | [Examples](docs/examples.md) | Walk through end-to-end usage scenarios |
160
- | [CLI Reference](docs/cli-reference.md) | Commands: init, update, uninstall |
161
- | [Metadata Lifecycle](docs/metadata-lifecycle.md) | Understand YAML frontmatter states and transitions |
162
- | [Comparison](docs/comparison.md) | Compare TracerKit to Spec Kit, Kiro, and OpenSpec |
163
- | [Cursor Setup](docs/cursor-setup.md) | Use TracerKit skills in Cursor |
164
- | [Gemini CLI Setup](docs/gemini-cli-setup.md) | Use TracerKit skills in Gemini CLI |
165
- | [Copilot Setup](docs/copilot-setup.md) | Use TracerKit skills in GitHub Copilot |
166
- | [OpenCode Setup](docs/opencode-setup.md) | Use TracerKit skills in OpenCode |
157
+ | Document | Description |
158
+ | -------------------------------------------- | ------------------------------------------------- |
159
+ | [Examples](docs/examples.md) | Walk through end-to-end usage scenarios |
160
+ | [CLI Reference](docs/cli-reference.md) | Commands: init, update, uninstall |
161
+ | [Comparison](docs/comparison.md) | Compare TracerKit to Spec Kit, Kiro, and OpenSpec |
162
+ | [Cursor Setup](docs/cursor-setup.md) | Use TracerKit skills in Cursor |
163
+ | [Gemini CLI Setup](docs/gemini-cli-setup.md) | Use TracerKit skills in Gemini CLI |
164
+ | [Copilot Setup](docs/copilot-setup.md) | Use TracerKit skills in GitHub Copilot |
165
+ | [OpenCode Setup](docs/opencode-setup.md) | Use TracerKit skills in OpenCode |
167
166
 
168
167
  ## Contributing
169
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracerkit",
3
- "version": "1.19.3",
3
+ "version": "1.19.5",
4
4
  "description": "Spec-driven workflow for AI coding agents — PRD → plan → build → verify. Pure Markdown skills, zero runtime deps.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -6,49 +6,35 @@ description: Session briefing — shows active features, progress, and suggested
6
6
 
7
7
  Overview of active features, progress, and suggested focus.
8
8
 
9
- ## Pre-loaded context
10
-
11
- - Available PRDs: !`ls .tracerkit/prds/*.md 2>/dev/null || echo "(none)"`
12
-
13
9
  ## Algorithm
14
10
 
15
- ### 1. Discover features
16
-
17
- For each `.md` file in `.tracerkit/prds/`: parse frontmatter, extract `status` and `created`. Skip `status: done`. Slug = filename without `.md`.
11
+ ### 1. Discover plans
18
12
 
19
- ### 2. Count progress from plans
13
+ Glob `.tracerkit/plans/*.md`. Slug = filename without `.md`. If no plans found, output: `No plans found — run /tk:prd to start one.`
20
14
 
21
- For each slug with a plan at `.tracerkit/plans/<slug>.md`:
15
+ ### 2. Count progress
22
16
 
23
- Count `- [x]` and `- [ ]` lines under each `## Phase N` heading. Sum `checked/total`. First unchecked item"Next" (strip trailing `[tag]`). No plan`—`.
17
+ For each plan, count `- [x]` and `- [ ]` lines under each `## Phase N` heading. Per-phase: `checked/total`. Sum across phasestotal progress. First phase with unchecked items cursor.
24
18
 
25
- ### 3. Build the table
19
+ Skip plans where all items are checked (fully complete).
26
20
 
27
- Sort by `created` ascending (no-date last). Age from `created`:
21
+ ### 3. Show progress
28
22
 
29
- - < 7 days → `Nd` (e.g. `3d`)
30
- - < 30 days → `Nw` (e.g. `2w`)
31
- - 30+ days → `Nmo` (e.g. `1mo`)
32
-
33
- Output this exact table format:
23
+ For each incomplete plan:
34
24
 
35
25
  ```
36
- | Feature | Status | Age | Progress | Next |
37
- |---------|--------|-----|----------|------|
38
- | <slug> | <status> | <age> | <checked>/<total> | <next item> |
26
+ <slug> (checked/total)
27
+ Phase 1 — title: checked/total
28
+ > Phase 2 title: checked/total
29
+ Phase 3 — title: checked/total
39
30
  ```
40
31
 
41
- If no features found, output: `No features found run /tk:prd to start one.`
42
-
43
- ### 4. Determine focus
44
-
45
- Apply these rules in order:
32
+ The `>` marks the first incomplete phase (cursor). Completed phases show without `>`.
46
33
 
47
- 1. Exactly 1 feature with `status: in_progress` → auto-select it
48
- 2. Multiple `in_progress` features → select the oldest by `created`
49
- 3. Zero `in_progress` features → select the oldest overall
34
+ ### 4. Suggest focus
50
35
 
51
- Append below the table:
36
+ If exactly one incomplete plan → auto-select it.
37
+ If multiple incomplete plans → select the one closest to completion.
52
38
 
53
39
  ```
54
40
  **Focus → <slug>**
@@ -58,6 +44,6 @@ Append below the table:
58
44
 
59
45
  Present options and wait for the user's choice:
60
46
 
61
- 1. Continue focused feature — read plan at `.tracerkit/plans/<slug>.md` (Recommended)
47
+ 1. Continue focused feature — `/tk:build <slug>` (Recommended)
62
48
  2. Start new feature — `/tk:prd`
63
49
  3. Check progress — `/tk:check <slug>`
@@ -11,10 +11,6 @@ Implement the next incomplete phase of a plan — one phase per invocation.
11
11
 
12
12
  **Interactive prompts**: present options as a numbered list and wait for the user's choice.
13
13
 
14
- ## Pre-loaded context
15
-
16
- - Available plans: !`ls .tracerkit/plans/*.md 2>/dev/null || echo "(none)"`
17
-
18
14
  ## Input
19
15
 
20
16
  The argument (if provided) is: $ARGUMENTS
@@ -1,39 +1,21 @@
1
1
  ---
2
- description: Verify implementation against plan. Shows progress, finds blockers, and marks complete when done. Use after implementing a plan, or without arguments to see a feature dashboard.
2
+ description: Verify implementation against plan. Shows progress and finds blockers. Use after implementing a plan.
3
3
  argument-hint: '[slug]'
4
4
  ---
5
5
 
6
6
  # Check Implementation
7
7
 
8
- Check implementation against a plan. Update checks, stamp findings, transition status, and mark complete when done.
8
+ Verify plan checkboxes against the codebase. Unmark items that don't hold up (`[x]` `[ ]`).
9
9
 
10
10
  **Interactive prompts**: present options as a numbered list and wait for the user's choice.
11
11
 
12
- ## Pre-loaded context
13
-
14
- - Available plans: !`ls .tracerkit/plans/*.md 2>/dev/null || echo "(none)"`
15
-
16
12
  ## Input
17
13
 
18
14
  The argument (if provided) is: $ARGUMENTS
19
15
 
20
- Use the argument as `<slug>` if given.
21
-
22
- If no argument is provided, build a summary table before asking which one to check:
23
-
24
- ```markdown
25
- | Feature | Status | Progress |
26
- | ------- | ------ | -------- |
27
- | <slug> | ... | 3/7 |
28
- ```
29
-
30
- For each `.md` file in `.tracerkit/prds/`:
31
-
32
- 1. Read the file, parse YAML frontmatter (block between `---` fences)
33
- 2. Extract `status` — use `unknown` if missing
34
- 3. If `.tracerkit/plans/<slug>.md` exists, count progress (see Progress Algorithm below). Show `—` if no plan.
16
+ Use the argument as `<slug>` if given. Accepts slug or `@file` reference.
35
17
 
36
- Present each feature as a numbered option and wait for the user's choice.
18
+ If no argument is provided, list available plans as numbered options and wait for the user's choice.
37
19
 
38
20
  ## Progress Algorithm
39
21
 
@@ -45,57 +27,48 @@ Count `- [x]` and `- [ ]` lines under each `## Phase N` heading. Per-phase: `Pha
45
27
 
46
28
  Read `.tracerkit/plans/<slug>.md`. If missing, list plans as numbered options and wait for the user's choice.
47
29
 
48
- ### 2. Load the PRD
30
+ ### 2. Fast-path: check if implementation exists
49
31
 
50
- Read source PRD referenced in plan header (`> Source PRD: ...`).
32
+ If primary module file(s) from Phase 1 don't exist, skip subagent — report `0/N — not yet started`, list Phase 1 done-when items.
51
33
 
52
- ### 3. Fast-path: check if implementation exists
34
+ ### 3. Launch read-only review
53
35
 
54
- If primary module file(s) from Phase 1 don't exist, skip subagent report `0/N not yet started`, list Phase 1 done-when items, jump to Step 5.
55
-
56
- ### 3b. Launch read-only review
57
-
58
- Use a **general-purpose subagent** (not `code-review` — that agent is for PR reviews). The subagent must be **read-only** (no file writes, no edits). It should:
36
+ Use a **general-purpose subagent** (not `code-review`). The subagent must be **read-only** (no file writes, no edits). It should:
59
37
 
60
38
  1. Read every section of the plan — architectural decisions, each phase, done-when checkboxes
61
39
  2. For each phase, check every `- [ ]` / `- [x]` item against the codebase
62
- 3. Run the project's test suite (e.g., `npm test`, `npx vitest run`) and include pass/fail results in the report. If no test command is discoverable, note this.
63
- 4. Compare user stories from the PRD against actual behavior
64
-
65
- For each checkbox, determine whether it should be verified (`[x]`) or not (`[ ]`) and report this — do not edit any files.
40
+ 3. Run the project's test suite and include pass/fail results
41
+ 4. For each checkbox, determine whether it should be checked (`[x]`) or unchecked (`[ ]`)
66
42
 
67
43
  Collect findings into two categories:
68
44
 
69
- - **BLOCKERS** — checked items that don't hold up, failing tests, broken contracts. These prevent transitioning to `done`.
70
- - **SUGGESTIONS** — improvements, minor gaps, style issues. These do not prevent `done`.
45
+ - **BLOCKERS** — checked items that don't hold up, failing tests, broken contracts
46
+ - **SUGGESTIONS** — improvements, minor gaps, style issues
71
47
 
72
- ### 3c. Update checkboxes
48
+ ### 4. Update checkboxes
73
49
 
74
- Using the subagent's report, update each checkbox in `.tracerkit/plans/<slug>.md` to `[x]` or `[ ]`.
50
+ Using the subagent's report, update each checkbox in `.tracerkit/plans/<slug>.md`:
75
51
 
76
- ### 4. Determine outcome
52
+ - Items that pass verification → `[x]`
53
+ - Items that fail verification → `[ ]` (unmark)
77
54
 
78
- Based on checks and findings, decide the status transition:
79
-
80
- - All checks verified + zero BLOCKERS → transition PRD to `done`
81
- - Some checks verified + zero BLOCKERS → keep PRD as `in_progress`
82
- - BLOCKERS found → keep PRD as `in_progress`
83
-
84
- ### 5. Report to user
55
+ ### 5. Report
85
56
 
86
57
  Count progress per phase (Progress Algorithm), then print:
87
58
 
88
- ```markdown
59
+ ```text
89
60
  ## Verification: <slug>
90
61
 
91
- ### Status: created | in_progress | done
92
-
93
62
  ### Progress
94
63
 
95
- Phase 1 — title: checked/total
96
- Phase 2 — title: checked/total
97
- Total: checked/total
64
+ Phase 1 — title: checked/total
65
+ > Phase 2 — title: checked/total
66
+ Total: checked/total
67
+ ```
68
+
69
+ The `>` marks the first incomplete phase (cursor).
98
70
 
71
+ ```text
99
72
  ### BLOCKERS
100
73
 
101
74
  - (list or "None")
@@ -105,41 +78,18 @@ Total: checked/total
105
78
  - (list or "None")
106
79
  ```
107
80
 
108
- ### 6. Stamp the plan
109
-
110
- Append a verdict block at the bottom of `.tracerkit/plans/<slug>.md`:
111
-
112
- ```markdown
113
- ---
114
-
115
- ## Verdict
116
-
117
- - **Date**: YYYY-MM-DD
118
- - **Checks**: (checked/total)
119
- - **BLOCKERS**: (count)
120
- - **SUGGESTIONS**: (count)
121
- ```
122
-
123
- If a previous verdict block exists, replace it with the new one.
124
-
125
- ### 7. On `done` — mark complete
126
-
127
- If all checks pass and zero BLOCKERS:
128
-
129
- 1. Update PRD frontmatter: `status: done`, add `completed: <UTC ISO 8601>`
130
- 2. Update plan frontmatter: `status: done`, add `completed: <UTC ISO 8601>`
81
+ If all items verified (total checked = total):
131
82
 
132
- ### 8. On `in_progress` (no blockers)
83
+ > All phases complete implementation verified.
133
84
 
134
- Show progress summary (checked/total per phase), list the next unchecked items to implement. Keep going.
85
+ ### 6. Next steps
135
86
 
136
- ### 9. On `in_progress` (with blockers)
87
+ If blockers exist, list items to fix, then re-run `/tk:check <slug>`.
137
88
 
138
- List the blockers to fix, then re-run `/tk:check <slug>`.
89
+ If all items verified, suggest creating a PR or shipping.
139
90
 
140
91
  ## Rules
141
92
 
142
93
  - The review subagent must be **read-only** — it must not create, edit, or delete any files
143
- - The only file writes this skill makes are: checkboxes + verdict block in the plan, and the status updates on `done`
94
+ - The only file writes this skill makes are: checkbox updates in the plan
144
95
  - Never modify implementation code — only observe and report
145
- - If the PRD file is missing but all checks pass, warn and proceed — mark the plan complete only (skip PRD status update)
@@ -11,10 +11,6 @@ Break a PRD into phased vertical slices (tracer bullets).
11
11
 
12
12
  Output: `.tracerkit/plans/<slug>.md`.
13
13
 
14
- ## Pre-loaded context
15
-
16
- - Available PRDs: !`ls .tracerkit/prds/*.md 2>/dev/null || echo "(none)"`
17
-
18
14
  ## Input
19
15
 
20
16
  The argument (if provided) is: $ARGUMENTS
@@ -32,10 +28,6 @@ If `.tracerkit/plans/<slug>.md` exists, present options and wait:
32
28
  1. Overwrite existing (Recommended)
33
29
  2. Pick a new name
34
30
 
35
- ### 1b. Update PRD status
36
-
37
- Set `status: in_progress` in `.tracerkit/prds/<slug>.md` frontmatter. Change only `status`.
38
-
39
31
  ### 2. Explore the codebase
40
32
 
41
33
  Map architecture, patterns, integration points. Skip if codebase context exists from prior step.
@@ -107,19 +99,9 @@ Iterate until approved.
107
99
  Save to `.tracerkit/plans/<slug>.md` (create dir if missing).
108
100
 
109
101
  ```markdown
110
- ---
111
- source_prd: .tracerkit/prds/<slug>.md
112
- slug: <slug>
113
- status: in_progress
114
- ---
115
-
116
102
  # Plan: <Feature Name>
117
-
118
- > Source PRD: `.tracerkit/prds/<slug>.md`
119
103
  ```
120
104
 
121
- Then update PRD frontmatter: add `plan: .tracerkit/plans/<slug>.md` field (creates backlink).
122
-
123
105
  Use this structure for the plan body:
124
106
 
125
107
  ```markdown
@@ -173,5 +155,5 @@ To implement this plan phase by phase, run `/tk:build <slug>`. It handles branch
173
155
  - Each phase must be demoable end-to-end on its own
174
156
  - "Done when" must be a checkbox list of testable conditions, not prose
175
157
  - **Safety valve**: if a phase has >5 "Done when" items, stop and split it into smaller phases before continuing
176
- - Never modify the source PRD content — only update frontmatter status fields
158
+ - Never modify the source PRD content
177
159
  - Carry PRD's Out of Scope forward verbatim
@@ -9,10 +9,6 @@ Skip satisfied steps. If argument provided, skip to Step 2.
9
9
 
10
10
  **Interactive prompts**: present options as a numbered list and wait for the user's choice.
11
11
 
12
- ## Pre-loaded context
13
-
14
- - Existing PRDs: !`ls .tracerkit/prds/*.md 2>/dev/null || echo "(none)"`
15
-
16
12
  ## Input
17
13
 
18
14
  The argument is: $ARGUMENTS
@@ -74,11 +70,6 @@ Present modules. Confirm which need tests.
74
70
  Save to `.tracerkit/prds/<slug>.md` (create dir if missing).
75
71
 
76
72
  ```markdown
77
- ---
78
- created: <UTC ISO 8601>
79
- status: created
80
- ---
81
-
82
73
  # Feature Name
83
74
  ```
84
75