@x0rium/devkit-cli 0.6.0 → 0.7.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/dist/constitution.d.ts.map +1 -1
- package/dist/constitution.js +62 -8
- package/dist/constitution.js.map +1 -1
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/dashboard.js +6 -2
- package/dist/dashboard.js.map +1 -1
- package/dist/detector.d.ts.map +1 -1
- package/dist/detector.js +5 -2
- package/dist/detector.js.map +1 -1
- package/dist/escalate.d.ts.map +1 -1
- package/dist/escalate.js +8 -3
- package/dist/escalate.js.map +1 -1
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +57 -10
- package/dist/gate.js.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/investigate.d.ts.map +1 -1
- package/dist/investigate.js +8 -10
- package/dist/investigate.js.map +1 -1
- package/dist/rfc.d.ts.map +1 -1
- package/dist/rfc.js +8 -10
- package/dist/rfc.js.map +1 -1
- package/dist/scaffold.d.ts +1 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +11 -1
- package/dist/scaffold.js.map +1 -1
- package/dist/schemas.js +2 -2
- package/dist/schemas.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +7 -4
- package/dist/status.js.map +1 -1
- package/dist/validator.js +1 -1
- package/dist/validator.js.map +1 -1
- package/dist/watch.js +10 -10
- package/dist/watch.js.map +1 -1
- package/package.json +2 -4
- package/skills/arch-kit/SKILL.md +66 -4
- package/skills/devkit-init/SKILL.md +35 -60
- package/skills/product-kit/SKILL.md +28 -3
- package/skills/qa-kit/SKILL.md +44 -2
- package/skills/research-kit/SKILL.md +30 -8
- package/skills/spec-kit/SKILL.md +133 -39
|
@@ -4,54 +4,38 @@ description: Initialize DevKit in any project. Use when developer wants to start
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: devkit
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.1"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# DevKit Init
|
|
11
11
|
|
|
12
12
|
Initialize DevKit for any project state. Detect what exists, choose the right mode, set up what's needed.
|
|
13
13
|
|
|
14
|
-
## Step 1:
|
|
14
|
+
## Step 1: Run CLI Init
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Run the CLI command — it auto-detects project state and creates the structure:
|
|
17
17
|
|
|
18
|
+
```bash
|
|
19
|
+
devkit init
|
|
18
20
|
```
|
|
19
|
-
Check for:
|
|
20
|
-
.devkit/ → already initialized
|
|
21
|
-
.specify/ → spec-kit exists, no DevKit
|
|
22
|
-
source code files → brownfield (code without DevKit)
|
|
23
|
-
empty directory → greenfield
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Based on findings, choose mode:
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
| Empty / no code | Greenfield mode → start fresh |
|
|
22
|
+
This will:
|
|
23
|
+
- Detect project state (greenfield / brownfield / upgrade / already initialized)
|
|
24
|
+
- Create `.devkit/` directory structure
|
|
25
|
+
- Generate `STATUS.md` with correct mode and phase
|
|
26
|
+
- Report what was created vs skipped
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
- Greenfield: [greenfield.md](references/greenfield.md)
|
|
37
|
-
- Brownfield: [brownfield.md](references/brownfield.md)
|
|
38
|
-
- Upgrade from spec-kit: [upgrade.md](references/upgrade.md)
|
|
28
|
+
If `.devkit/` already exists, it safely skips (idempotent).
|
|
39
29
|
|
|
40
|
-
## Step 2:
|
|
30
|
+
## Step 2: Verify State
|
|
41
31
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
.devkit/
|
|
46
|
-
research/ ← ResearchKit artifacts
|
|
47
|
-
product/ ← ProductKit artifacts
|
|
48
|
-
arch/
|
|
49
|
-
decisions/ ← ADR, RFC, Investigation files
|
|
50
|
-
qa/
|
|
51
|
-
escalations/ ← QA escalation history
|
|
32
|
+
```bash
|
|
33
|
+
devkit status
|
|
52
34
|
```
|
|
53
35
|
|
|
54
|
-
|
|
36
|
+
Review the output: mode, current phase, progress. This confirms init worked correctly.
|
|
37
|
+
|
|
38
|
+
## Step 3: Install spec-kit if not present (optional)
|
|
55
39
|
|
|
56
40
|
Check if `specify` CLI is available:
|
|
57
41
|
|
|
@@ -59,41 +43,32 @@ Check if `specify` CLI is available:
|
|
|
59
43
|
specify --version
|
|
60
44
|
```
|
|
61
45
|
|
|
62
|
-
If not found,
|
|
46
|
+
If not found, inform the developer (do not block init):
|
|
63
47
|
```
|
|
64
|
-
spec-kit not found.
|
|
48
|
+
Note: spec-kit not found. DevKit works independently.
|
|
49
|
+
If you want SpecKit integration, install with:
|
|
65
50
|
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
|
|
66
|
-
|
|
67
51
|
Then run: specify init . --ai claude
|
|
68
52
|
```
|
|
69
53
|
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
specify init . --ai claude
|
|
73
|
-
```
|
|
54
|
+
Important: spec-kit installation is optional. DevKit init must succeed regardless of spec-kit availability.
|
|
74
55
|
|
|
75
|
-
## Step 4:
|
|
56
|
+
## Step 4: Mode-Specific Setup
|
|
76
57
|
|
|
77
|
-
|
|
58
|
+
For **brownfield** mode, also follow [brownfield.md](references/brownfield.md) to reconstruct invariants from existing code.
|
|
78
59
|
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
DevKit initialized.
|
|
82
|
-
Start with: /research-kit
|
|
83
|
-
Describe your idea and we'll explore feasibility together.
|
|
84
|
-
```
|
|
60
|
+
For **upgrade** mode, follow [upgrade.md](references/upgrade.md) to extract artifacts from existing constitution.
|
|
85
61
|
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
DevKit initialized in brownfield mode.
|
|
89
|
-
Reconstructed N invariants (review required).
|
|
90
|
-
Next: review .devkit/arch/invariants.md and confirm or correct.
|
|
91
|
-
Then: /arch-kit to fill gaps.
|
|
92
|
-
```
|
|
62
|
+
For **greenfield**, no extra setup needed.
|
|
93
63
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Next: review .devkit/arch/invariants.md
|
|
64
|
+
## Step 5: Confirm and Show Next Step
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
devkit status
|
|
99
68
|
```
|
|
69
|
+
|
|
70
|
+
Tell developer what to do next based on detected mode:
|
|
71
|
+
|
|
72
|
+
- Greenfield: "Start with: /research-kit — describe your idea"
|
|
73
|
+
- Brownfield: "Review .devkit/arch/invariants.md, then /arch-kit to fill gaps"
|
|
74
|
+
- Upgrade: "Review .devkit/arch/invariants.md extracted from constitution"
|
|
@@ -4,7 +4,7 @@ description: DevKit Level 2. Use after ResearchKit when developer needs to defin
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: devkit
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.1"
|
|
8
8
|
layer: "2-of-5"
|
|
9
9
|
prev: research-kit
|
|
10
10
|
next: arch-kit
|
|
@@ -14,6 +14,14 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
You are operating in ProductKit phase. Your job is to define the user, establish UX invariants, and set roadmap priorities before any architecture decisions are made.
|
|
16
16
|
|
|
17
|
+
## Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
devkit status
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Confirm you are in the product phase. If not, check gate status of the previous phase.
|
|
24
|
+
|
|
17
25
|
## Your Role
|
|
18
26
|
|
|
19
27
|
- Define who the user is and how they interact with the product
|
|
@@ -62,8 +70,18 @@ Read templates from:
|
|
|
62
70
|
|
|
63
71
|
Save artifacts to `.devkit/product/`.
|
|
64
72
|
|
|
73
|
+
**After creating or updating artifacts, always run:**
|
|
74
|
+
```bash
|
|
75
|
+
devkit validate
|
|
76
|
+
```
|
|
77
|
+
Fix any errors before proceeding.
|
|
78
|
+
|
|
65
79
|
## Gate: When Can We Move to ArchKit?
|
|
66
80
|
|
|
81
|
+
```bash
|
|
82
|
+
devkit gate
|
|
83
|
+
```
|
|
84
|
+
|
|
67
85
|
ALLOWED to proceed when:
|
|
68
86
|
- Primary user and happy path defined
|
|
69
87
|
- UX invariants established for MVP scope
|
|
@@ -85,11 +103,18 @@ Response:
|
|
|
85
103
|
> [check ux_invariants.md]
|
|
86
104
|
> This conflicts with [U_N]. Running ProductKit investigation before continuing."
|
|
87
105
|
|
|
88
|
-
|
|
106
|
+
Review ux_invariants.md, explore options, update invariants if needed, propagate changes to ArchKit via `devkit rfc`.
|
|
89
107
|
|
|
90
108
|
## Handoff
|
|
91
109
|
|
|
92
|
-
When gate
|
|
110
|
+
When `devkit gate` shows ALLOWED:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
devkit advance
|
|
114
|
+
devkit status
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Then generate summary:
|
|
93
118
|
```
|
|
94
119
|
PRODUCT COMPLETE
|
|
95
120
|
USER: [one-line description]
|
package/skills/qa-kit/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: DevKit Level 5. Use after implementation to verify the system again
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: devkit
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.1"
|
|
8
8
|
layer: "5-of-5"
|
|
9
9
|
prev: spec-kit
|
|
10
10
|
---
|
|
@@ -13,6 +13,14 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
You are operating in QAKit phase. Your job is not just to find bugs — it is to verify the system against every level of decisions made in DevKit.
|
|
15
15
|
|
|
16
|
+
## Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
devkit status
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Confirm you are in the qa phase. If not, check gate status of the previous phase.
|
|
23
|
+
|
|
16
24
|
## Your Role
|
|
17
25
|
|
|
18
26
|
- Generate test contracts from invariants (not from code)
|
|
@@ -44,9 +52,19 @@ For each invariant, generate a test contract:
|
|
|
44
52
|
|
|
45
53
|
Save to `.devkit/qa/test_contracts.md`.
|
|
46
54
|
|
|
55
|
+
**After creating contracts, validate:**
|
|
56
|
+
```bash
|
|
57
|
+
devkit validate
|
|
58
|
+
```
|
|
59
|
+
|
|
47
60
|
### Phase 2: Coverage Analysis
|
|
48
61
|
Map every invariant to its test contract.
|
|
49
62
|
Identify uncovered invariants — these are explicit technical debt.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
devkit coverage
|
|
66
|
+
```
|
|
67
|
+
|
|
50
68
|
Save to `.devkit/qa/coverage_map.md`.
|
|
51
69
|
|
|
52
70
|
### Phase 3: Assumption Validation
|
|
@@ -55,6 +73,10 @@ For each assumption, check whether reality confirmed or rejected it.
|
|
|
55
73
|
Rejected assumptions → escalate to ResearchKit.
|
|
56
74
|
Save findings to `.devkit/qa/assumption_checks.md`.
|
|
57
75
|
|
|
76
|
+
```bash
|
|
77
|
+
devkit validate
|
|
78
|
+
```
|
|
79
|
+
|
|
58
80
|
## Artifacts to Produce
|
|
59
81
|
|
|
60
82
|
Read templates from:
|
|
@@ -64,6 +86,12 @@ Read templates from:
|
|
|
64
86
|
|
|
65
87
|
Save to `.devkit/qa/`.
|
|
66
88
|
|
|
89
|
+
**After creating or updating artifacts, always run:**
|
|
90
|
+
```bash
|
|
91
|
+
devkit validate
|
|
92
|
+
```
|
|
93
|
+
Fix any errors before proceeding.
|
|
94
|
+
|
|
67
95
|
## Escalation Logic
|
|
68
96
|
|
|
69
97
|
When a test fails or a problem is found:
|
|
@@ -87,7 +115,12 @@ Did a research assumption prove false in production?
|
|
|
87
115
|
```
|
|
88
116
|
|
|
89
117
|
### Step 3: Document the escalation
|
|
90
|
-
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
devkit escalate "description of failure"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This creates `.devkit/qa/escalations/ESC-XXX.md`. Fill in:
|
|
91
124
|
- What was found
|
|
92
125
|
- Which level it escalated to
|
|
93
126
|
- What decision was triggered
|
|
@@ -95,6 +128,10 @@ Create `.devkit/qa/escalations/ESC-XXX.md`:
|
|
|
95
128
|
|
|
96
129
|
## Gate: Ready for Production?
|
|
97
130
|
|
|
131
|
+
```bash
|
|
132
|
+
devkit gate
|
|
133
|
+
```
|
|
134
|
+
|
|
98
135
|
ALLOWED when:
|
|
99
136
|
- All BLOCKER test contracts pass
|
|
100
137
|
- No open escalations of blocker severity
|
|
@@ -104,6 +141,11 @@ BLOCKED when:
|
|
|
104
141
|
- Any BLOCKER contract fails
|
|
105
142
|
- Open blocker-level escalation exists
|
|
106
143
|
|
|
144
|
+
Check coverage threshold:
|
|
145
|
+
```bash
|
|
146
|
+
devkit coverage
|
|
147
|
+
```
|
|
148
|
+
|
|
107
149
|
## Continuous QA
|
|
108
150
|
|
|
109
151
|
QAKit is not a one-time gate. It runs:
|
|
@@ -4,7 +4,7 @@ description: DevKit Level 1. Use when developer has a new idea and needs to expl
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: devkit
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.1"
|
|
8
8
|
layer: "1-of-5"
|
|
9
9
|
next: product-kit
|
|
10
10
|
---
|
|
@@ -13,6 +13,10 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
You are operating in ResearchKit phase. Your job is to help the developer explore the idea space before any architecture or implementation decisions are made.
|
|
15
15
|
|
|
16
|
+
## Start
|
|
17
|
+
|
|
18
|
+
Run `devkit status` to confirm you are in the research phase. If the project is not initialized, run `devkit init` first.
|
|
19
|
+
|
|
16
20
|
## Your Role
|
|
17
21
|
|
|
18
22
|
- Ask questions, explore unknowns, map risks
|
|
@@ -54,8 +58,19 @@ Read templates from:
|
|
|
54
58
|
|
|
55
59
|
Save artifacts to `.devkit/research/`.
|
|
56
60
|
|
|
61
|
+
**After creating or updating artifacts, always run:**
|
|
62
|
+
```bash
|
|
63
|
+
devkit validate
|
|
64
|
+
```
|
|
65
|
+
Fix any errors before proceeding.
|
|
66
|
+
|
|
57
67
|
## Gate: When Can We Move to ProductKit?
|
|
58
68
|
|
|
69
|
+
Check readiness with CLI:
|
|
70
|
+
```bash
|
|
71
|
+
devkit gate
|
|
72
|
+
```
|
|
73
|
+
|
|
59
74
|
ALLOWED to proceed when:
|
|
60
75
|
- All HIGH RISK unknowns have a validation path
|
|
61
76
|
- Feasibility is `yes` or `conditional` with known conditions
|
|
@@ -65,16 +80,16 @@ BLOCKED when:
|
|
|
65
80
|
- Any BLOCKER unknown has no validation path
|
|
66
81
|
- Feasibility is `no`
|
|
67
82
|
|
|
68
|
-
##
|
|
83
|
+
## Handoff
|
|
69
84
|
|
|
70
|
-
|
|
71
|
-
- New technical constraint → update feasibility.md
|
|
72
|
-
- New analogue found → update market.md
|
|
73
|
-
- Resolved unknown → update status in unknowns.md
|
|
85
|
+
When `devkit gate` shows ALLOWED:
|
|
74
86
|
|
|
75
|
-
|
|
87
|
+
```bash
|
|
88
|
+
devkit advance
|
|
89
|
+
devkit status
|
|
90
|
+
```
|
|
76
91
|
|
|
77
|
-
|
|
92
|
+
Then generate summary:
|
|
78
93
|
```
|
|
79
94
|
RESEARCH COMPLETE
|
|
80
95
|
FEASIBILITY: yes/conditional/no
|
|
@@ -82,3 +97,10 @@ KEY UNKNOWNS RESOLVED: N
|
|
|
82
97
|
REMAINING RISKS: [list with mitigations]
|
|
83
98
|
READY FOR: ProductKit
|
|
84
99
|
```
|
|
100
|
+
|
|
101
|
+
## Event Detection
|
|
102
|
+
|
|
103
|
+
If developer mentions during ResearchKit:
|
|
104
|
+
- New technical constraint → update feasibility.md → `devkit validate`
|
|
105
|
+
- New analogue found → update market.md → `devkit validate`
|
|
106
|
+
- Resolved unknown → update status in unknowns.md → `devkit validate`
|
package/skills/spec-kit/SKILL.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-kit
|
|
3
|
-
description: DevKit Level 4.
|
|
3
|
+
description: DevKit Level 4. Activated when architecture is verified and constitution is synced. Delegates implementation to github/spec-kit (specify-cli) as the execution engine. DevKit provides event detection (RFC, Investigation, Product Blocker) that interrupts spec-kit workflow when invariants are touched. Triggers on phrases like "let's build", "implement", "start coding", "write the feature".
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: devkit
|
|
7
|
-
version: "
|
|
7
|
+
version: "2.0"
|
|
8
8
|
layer: "4-of-5"
|
|
9
9
|
prev: arch-kit
|
|
10
10
|
next: qa-kit
|
|
@@ -12,32 +12,99 @@ metadata:
|
|
|
12
12
|
|
|
13
13
|
# SpecKit — Level 4: "Build it."
|
|
14
14
|
|
|
15
|
-
You are operating in SpecKit phase. Architecture is verified.
|
|
15
|
+
You are operating in SpecKit phase. Architecture is verified. Constitution is synced to `.specify/memory/constitution.md`. Now you build — using **github/spec-kit** as the implementation engine.
|
|
16
|
+
|
|
17
|
+
## Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
devkit status
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Confirm you are in the spec phase. If not, check gate status of the previous phase.
|
|
24
|
+
|
|
25
|
+
## Prerequisites
|
|
26
|
+
|
|
27
|
+
Before any spec work, verify:
|
|
28
|
+
|
|
29
|
+
1. Constitution exists and is synced:
|
|
30
|
+
```bash
|
|
31
|
+
ls .specify/memory/constitution.md
|
|
32
|
+
```
|
|
33
|
+
If missing:
|
|
34
|
+
```bash
|
|
35
|
+
devkit generate-constitution
|
|
36
|
+
devkit sync
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. spec-kit is initialized:
|
|
40
|
+
```bash
|
|
41
|
+
ls .specify/scripts/
|
|
42
|
+
```
|
|
43
|
+
If missing:
|
|
44
|
+
```bash
|
|
45
|
+
specify init . --ai claude
|
|
46
|
+
```
|
|
16
47
|
|
|
17
48
|
## Your Role
|
|
18
49
|
|
|
19
|
-
-
|
|
50
|
+
- Delegate specification and implementation to spec-kit `/speckit.*` commands
|
|
20
51
|
- Monitor every developer message for escalation triggers
|
|
21
52
|
- STOP and escalate before proceeding when triggers are detected
|
|
22
53
|
- Never silently modify architecture within a spec
|
|
23
54
|
|
|
24
|
-
##
|
|
55
|
+
## spec-kit Workflow
|
|
25
56
|
|
|
26
|
-
|
|
27
|
-
If it doesn't exist, stop and run: `/arch-kit generate-constitution`
|
|
57
|
+
Execute these commands in order. Each is a slash command provided by spec-kit:
|
|
28
58
|
|
|
29
|
-
|
|
59
|
+
### Step 1: Create Feature Specification
|
|
60
|
+
```
|
|
61
|
+
/speckit.specify <feature description>
|
|
62
|
+
```
|
|
63
|
+
Creates `.specify/specs/NNN-feature-name/spec.md` + git branch.
|
|
64
|
+
Focuses on WHAT and WHY, not HOW. Max 3 `[NEEDS CLARIFICATION]` markers.
|
|
30
65
|
|
|
31
|
-
|
|
66
|
+
### Step 2: Resolve Ambiguities
|
|
67
|
+
```
|
|
68
|
+
/speckit.clarify
|
|
69
|
+
```
|
|
70
|
+
Structured ambiguity scan across 11 categories. Asks up to 5 questions per session.
|
|
71
|
+
Updates spec.md with `## Clarifications` section.
|
|
32
72
|
|
|
73
|
+
### Step 3: Technical Implementation Plan
|
|
33
74
|
```
|
|
34
|
-
/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
75
|
+
/speckit.plan <tech stack preferences>
|
|
76
|
+
```
|
|
77
|
+
Generates: `plan.md`, `research.md`, `data-model.md`, `contracts/`, `quickstart.md`.
|
|
78
|
+
Performs constitution compliance check automatically.
|
|
79
|
+
|
|
80
|
+
### Step 4: Task Breakdown
|
|
81
|
+
```
|
|
82
|
+
/speckit.tasks
|
|
83
|
+
```
|
|
84
|
+
Generates `tasks.md` with dependency ordering.
|
|
85
|
+
Tasks tagged `[P]` for parallelizable, `[USn]` mapped to user stories.
|
|
86
|
+
|
|
87
|
+
### Step 5: Cross-Artifact Consistency Analysis
|
|
88
|
+
```
|
|
89
|
+
/speckit.analyze
|
|
90
|
+
```
|
|
91
|
+
Read-only analysis: duplication, ambiguity, underspecification, constitution alignment, coverage gaps, inconsistency. Outputs severity-rated findings.
|
|
92
|
+
|
|
93
|
+
### Step 6: Quality Checklists
|
|
94
|
+
```
|
|
95
|
+
/speckit.checklist <domain>
|
|
96
|
+
```
|
|
97
|
+
"Unit tests for English" — validates that requirements themselves are complete, clear, consistent, and measurable. Domains: security, ux, api, etc.
|
|
98
|
+
|
|
99
|
+
### Step 7: Implement
|
|
100
|
+
```
|
|
101
|
+
/speckit.implement
|
|
102
|
+
```
|
|
103
|
+
Executes tasks phase-by-phase, marks completed in tasks.md, validates against spec.
|
|
104
|
+
|
|
105
|
+
### Bonus: Export to GitHub Issues
|
|
106
|
+
```
|
|
107
|
+
/speckit.taskstoissues
|
|
41
108
|
```
|
|
42
109
|
|
|
43
110
|
## Invariant Guard
|
|
@@ -50,7 +117,12 @@ TECHNICAL: [I1, I3] from .devkit/arch/invariants.md
|
|
|
50
117
|
UX: [U2] from .devkit/product/ux_invariants.md
|
|
51
118
|
```
|
|
52
119
|
|
|
53
|
-
If implementation requires deviating from an invariant
|
|
120
|
+
If implementation requires deviating from an invariant — STOP. Do not implement. Open RFC:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
devkit impact "description of deviation"
|
|
124
|
+
devkit rfc "description"
|
|
125
|
+
```
|
|
54
126
|
|
|
55
127
|
## Event Detection — CRITICAL
|
|
56
128
|
|
|
@@ -60,49 +132,71 @@ Monitor every developer message. Before continuing spec work, check for triggers
|
|
|
60
132
|
Patterns: "we also need", "add support for", "client wants", "what about", "can we also"
|
|
61
133
|
|
|
62
134
|
Action:
|
|
63
|
-
> "This sounds like a new requirement. Let me check if it touches our invariants.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
135
|
+
> "This sounds like a new requirement. Let me check if it touches our invariants."
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
devkit impact "new requirement description"
|
|
139
|
+
devkit rfc "description"
|
|
140
|
+
```
|
|
67
141
|
|
|
68
142
|
Do NOT continue spec work until RFC is resolved.
|
|
69
143
|
|
|
70
144
|
### Investigation Trigger — Technical Blocker
|
|
71
|
-
Patterns: "bug in library", "this doesn't support", "benchmark shows", "unexpected behavior", "
|
|
145
|
+
Patterns: "bug in library", "this doesn't support", "benchmark shows", "unexpected behavior", "performance issue"
|
|
72
146
|
|
|
73
147
|
Action:
|
|
74
|
-
> "This breaks an architectural assumption.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
148
|
+
> "This breaks an architectural assumption. Opening Investigation."
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
devkit investigate "description of blocker"
|
|
152
|
+
```
|
|
78
153
|
|
|
79
154
|
Do NOT work around the blocker silently.
|
|
80
155
|
|
|
81
156
|
### Product Blocker Trigger — UX Problem
|
|
82
|
-
Patterns: "this is hard to use", "too many parameters", "confusing", "users won't get this"
|
|
157
|
+
Patterns: "this is hard to use", "too many parameters", "confusing", "users won't get this"
|
|
83
158
|
|
|
84
159
|
Action:
|
|
85
|
-
> "This looks like a UX invariant issue.
|
|
86
|
-
> [read .devkit/product/ux_invariants.md]
|
|
87
|
-
> This conflicts with [U_N]. Escalating to ProductKit investigation."
|
|
160
|
+
> "This looks like a UX invariant issue."
|
|
88
161
|
|
|
89
|
-
|
|
162
|
+
Check `.devkit/product/ux_invariants.md`. If violated — escalate to ProductKit.
|
|
90
163
|
|
|
91
164
|
### No Trigger — Normal Work
|
|
92
|
-
When none of the above apply: proceed with
|
|
165
|
+
When none of the above apply: proceed with spec-kit workflow.
|
|
93
166
|
|
|
94
|
-
|
|
167
|
+
**After creating or updating DevKit artifacts, always run:**
|
|
168
|
+
```bash
|
|
169
|
+
devkit validate
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Gate: When Can We Move to QAKit?
|
|
95
173
|
|
|
96
|
-
|
|
97
|
-
|
|
174
|
+
```bash
|
|
175
|
+
devkit gate
|
|
176
|
+
```
|
|
98
177
|
|
|
99
|
-
|
|
178
|
+
ALLOWED when:
|
|
179
|
+
- At least one spec-kit feature implemented (`.specify/specs/NNN-*/`)
|
|
180
|
+
- No open RFCs or Investigations
|
|
181
|
+
|
|
182
|
+
BLOCKED when:
|
|
183
|
+
- Open RFC or Investigation exists
|
|
184
|
+
- No features in `.specify/specs/`
|
|
185
|
+
|
|
186
|
+
## Handoff
|
|
187
|
+
|
|
188
|
+
When `devkit gate` shows ALLOWED:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
devkit advance
|
|
192
|
+
devkit status
|
|
193
|
+
```
|
|
100
194
|
|
|
101
|
-
|
|
195
|
+
Then generate summary:
|
|
102
196
|
```
|
|
103
197
|
IMPLEMENTATION COMPLETE
|
|
104
|
-
SPECS: [list]
|
|
105
|
-
INVARIANTS COVERED: [list]
|
|
198
|
+
SPECS: [list of .specify/specs/NNN-*/ directories]
|
|
199
|
+
INVARIANTS COVERED: [list from spec invariant coverage sections]
|
|
106
200
|
OPEN ITEMS: none / [list with owners]
|
|
107
201
|
READY FOR: QAKit
|
|
108
202
|
```
|