@jakkrichm/create-nexus-devflow 2.1.0 → 2.2.1
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 +1 -1
- package/dist/bin/create-nexus-devflow.js +29 -5
- package/dist/bin/create-nexus-devflow.js.map +1 -1
- package/dist/lib/command-catalog.js +5 -2
- package/dist/lib/command-catalog.js.map +1 -1
- package/dist/lib/dashboard.js +1 -1
- package/dist/lib/discoveries.js +18 -6
- package/dist/lib/discoveries.js.map +1 -1
- package/dist/lib/ideas.js +2 -2
- package/dist/lib/ideas.js.map +1 -1
- package/dist/lib/project-metadata.d.ts +1 -1
- package/dist/lib/project-metadata.js +3 -2
- package/dist/lib/project-metadata.js.map +1 -1
- package/dist/lib/update.js +13 -5
- package/dist/lib/update.js.map +1 -1
- package/dist/lib/workflow-state.js +9 -6
- package/dist/lib/workflow-state.js.map +1 -1
- package/dist/scripts/prepare-template.js +10 -2
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/10-define/SKILL.md +1 -1
- package/template/.agents/skills/adopt/SKILL.md +58 -5
- package/template/.agents/skills/brainstorm/SKILL.md +1 -1
- package/template/.agents/skills/devflow/SKILL.md +9 -7
- package/template/.agents/skills/discovery/SKILL.md +75 -150
- package/template/.agents/skills/doctor/SKILL.md +23 -16
- package/template/.agents/skills/feature/SKILL.md +1 -0
- package/template/.agents/skills/grill/SKILL.md +93 -0
- package/template/.agents/skills/implement/SKILL.md +2 -2
- package/template/.agents/skills/onboard/SKILL.md +18 -17
- package/template/.agents/skills/rollback/SKILL.md +1 -1
- package/template/.claude/skills/10-define/SKILL.md +3 -3
- package/template/.claude/skills/20-spec/SKILL.md +1 -2
- package/template/.claude/skills/30-plan/SKILL.md +1 -2
- package/template/.claude/skills/40-execute/SKILL.md +2 -2
- package/template/.claude/skills/50-verify/SKILL.md +2 -2
- package/template/.claude/skills/60-report/SKILL.md +2 -2
- package/template/.claude/skills/70-deliver/SKILL.md +2 -2
- package/template/.claude/skills/adopt/SKILL.md +191 -75
- package/template/.claude/skills/audit/SKILL.md +267 -133
- package/template/.claude/skills/autopilot/SKILL.md +226 -167
- package/template/.claude/skills/brainstorm/SKILL.md +62 -0
- package/template/.claude/skills/brief/SKILL.md +93 -92
- package/template/.claude/skills/check/SKILL.md +96 -76
- package/template/.claude/skills/ci/SKILL.md +140 -61
- package/template/.claude/skills/complete/SKILL.md +156 -101
- package/template/.claude/skills/convert-any-to-md/SKILL.md +2 -2
- package/template/.claude/skills/convert-any-to-md/references/setup.md +29 -0
- package/template/.claude/skills/convert-any-to-md/scripts/convert_any_to_md.py +487 -0
- package/template/.claude/skills/convert-any-to-md/scripts/requirements.txt +3 -0
- package/template/.claude/skills/debug/SKILL.md +124 -49
- package/template/.claude/skills/devflow/SKILL.md +18 -10
- package/template/.claude/skills/discovery/SKILL.md +65 -119
- package/template/.claude/skills/doctor/SKILL.md +195 -72
- package/template/.claude/skills/feature/SKILL.md +197 -152
- package/template/.claude/skills/fix/SKILL.md +41 -90
- package/template/.claude/skills/grill/SKILL.md +93 -0
- package/template/.claude/skills/idea/SKILL.md +2 -2
- package/template/.claude/skills/implement/SKILL.md +189 -46
- package/template/.claude/skills/onboard/SKILL.md +216 -85
- package/template/.claude/skills/overview/SKILL.md +44 -29
- package/template/.claude/skills/prototype/SKILL.md +82 -27
- package/template/.claude/skills/release/SKILL.md +119 -130
- package/template/.claude/skills/report-html/SKILL.md +2 -2
- package/template/.claude/skills/rollback/SKILL.md +123 -77
- package/template/.claude/skills/status/SKILL.md +109 -0
- package/template/.claude/skills/test/SKILL.md +2 -2
- package/template/.claude/skills/tests/SKILL.md +126 -0
- package/template/.claude/skills/try/SKILL.md +77 -65
- package/template/AGENTS.md +8 -7
- package/template/devflow/build-plan.md +8 -0
- package/template/devflow/context/ai-interaction.md +11 -0
- package/template/devflow/context/coding-standards.md +15 -1
- package/template/devflow/context/current-stage.md +1 -1
- package/template/devflow/decisions/.gitkeep +0 -0
- package/template/devflow/decisions/README.md +24 -0
- package/template/devflow/history/HISTORY.md +1 -1
- package/template/devflow/history/features/README.md +5 -0
- package/template/devflow/history/fixes/README.md +5 -0
- package/template/devflow/history/rollbacks/README.md +5 -0
- package/template/.agents/skills/00-explore/SKILL.md +0 -84
- package/template/.claude/skills/00-explore/SKILL.md +0 -84
|
@@ -2,7 +2,7 @@ import fs from "node:fs/promises";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
const FAST_STAGES = ["feature-fix", "implement", "check", "complete"];
|
|
4
4
|
const DEEP_STAGES = [
|
|
5
|
-
"
|
|
5
|
+
"discovery",
|
|
6
6
|
"10-define",
|
|
7
7
|
"20-spec",
|
|
8
8
|
"30-plan",
|
|
@@ -42,7 +42,7 @@ function parseWorkflowState(markdown, currentWork) {
|
|
|
42
42
|
}
|
|
43
43
|
else if (explicitTrack === "deep") {
|
|
44
44
|
track = "deep";
|
|
45
|
-
currentStage = deepStage || (activeDiscoveryId ? "
|
|
45
|
+
currentStage = deepStage || (activeDiscoveryId ? "discovery" : "10-define");
|
|
46
46
|
}
|
|
47
47
|
else if (explicitTrack === "fast") {
|
|
48
48
|
track = "fast";
|
|
@@ -54,7 +54,7 @@ function parseWorkflowState(markdown, currentWork) {
|
|
|
54
54
|
}
|
|
55
55
|
else if (activeDiscoveryId) {
|
|
56
56
|
track = "deep";
|
|
57
|
-
currentStage = "
|
|
57
|
+
currentStage = "discovery";
|
|
58
58
|
}
|
|
59
59
|
else if (currentWork.state === "active") {
|
|
60
60
|
track = currentWork.type === "stage" ? "deep" : "fast";
|
|
@@ -82,9 +82,12 @@ function nullableField(markdown, label) {
|
|
|
82
82
|
function normalizeDeepStage(value) {
|
|
83
83
|
if (!value)
|
|
84
84
|
return null;
|
|
85
|
-
const handoff = value.match(/(?:ready\s+for|executing)\s+(00-explore|10-define|20-spec|30-plan|40-execute|50-verify|60-report|70-deliver)/i)?.[1];
|
|
86
|
-
const direct = value.match(/\b(00-explore|10-define|20-spec|30-plan|40-execute|50-verify|60-report|70-deliver)\b/i)?.[1];
|
|
87
|
-
|
|
85
|
+
const handoff = value.match(/(?:ready\s+for|executing)\s+(discovery|00-explore|10-define|20-spec|30-plan|40-execute|50-verify|60-report|70-deliver)/i)?.[1];
|
|
86
|
+
const direct = value.match(/\b(discovery|00-explore|10-define|20-spec|30-plan|40-execute|50-verify|60-report|70-deliver)\b/i)?.[1];
|
|
87
|
+
const raw = (handoff || direct || "").toLowerCase();
|
|
88
|
+
if (raw === "00-explore")
|
|
89
|
+
return "discovery";
|
|
90
|
+
return raw || null;
|
|
88
91
|
}
|
|
89
92
|
function normalizeFastStage(value) {
|
|
90
93
|
if (!value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../../lib/workflow-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAyB7B,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAC/E,MAAM,WAAW,GAAG;IAClB,
|
|
1
|
+
{"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../../lib/workflow-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,11 @@ async function copyEntry(entry) {
|
|
|
43
43
|
!normalized.endsWith("README.md")) {
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
|
+
if (normalized.startsWith("devflow/decisions/") &&
|
|
47
|
+
!normalized.endsWith(".gitkeep") &&
|
|
48
|
+
!normalized.endsWith("README.md")) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
46
51
|
if (normalized.startsWith("devflow/research/")) {
|
|
47
52
|
return false;
|
|
48
53
|
}
|
|
@@ -62,14 +67,17 @@ async function copyEntry(entry) {
|
|
|
62
67
|
}
|
|
63
68
|
async function ensureEmptyDirectories() {
|
|
64
69
|
const discDir = path.join(templateRoot, "devflow", "discoveries");
|
|
70
|
+
const decDir = path.join(templateRoot, "devflow", "decisions");
|
|
65
71
|
const featDir = path.join(templateRoot, "devflow", "history", "features");
|
|
66
72
|
const fixDir = path.join(templateRoot, "devflow", "history", "fixes");
|
|
67
73
|
const rollDir = path.join(templateRoot, "devflow", "history", "rollbacks");
|
|
68
74
|
await fs.mkdir(discDir, { recursive: true });
|
|
75
|
+
await fs.mkdir(decDir, { recursive: true });
|
|
69
76
|
await fs.mkdir(featDir, { recursive: true });
|
|
70
77
|
await fs.mkdir(fixDir, { recursive: true });
|
|
71
78
|
await fs.mkdir(rollDir, { recursive: true });
|
|
72
79
|
await fs.writeFile(path.join(discDir, ".gitkeep"), "", "utf8");
|
|
80
|
+
await fs.writeFile(path.join(decDir, ".gitkeep"), "", "utf8");
|
|
73
81
|
}
|
|
74
82
|
async function sanitizeStarterFiles() {
|
|
75
83
|
// 1. Sanitize AGENTS.md
|
|
@@ -102,7 +110,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
|
|
|
102
110
|
|
|
103
111
|
| Completed Date | Run ID | Category | Title | Git Commit | Status | Archive Link |
|
|
104
112
|
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
105
|
-
| _No shipped runs yet_ | - | - | Run \`/feature\` or \`/
|
|
113
|
+
| _No shipped runs yet_ | - | - | Run \`/feature\` or \`/discovery\` to start your first delivery run | - | - | - |
|
|
106
114
|
|
|
107
115
|
---
|
|
108
116
|
|
|
@@ -170,7 +178,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
|
|
|
170
178
|
|
|
171
179
|
- **Active Discovery ID**: \`None\`
|
|
172
180
|
- **Active Running ID**: \`None\`
|
|
173
|
-
- **Current Stage**: \`Idle (Ready for new /feature, /fix, /
|
|
181
|
+
- **Current Stage**: \`Idle (Ready for new /feature, /fix, /discovery, or /10-define)\`
|
|
174
182
|
- **Living Spec**: \`None\`
|
|
175
183
|
- **Last Completed Run**: \`None\`
|
|
176
184
|
- **Last Updated**: \`None\`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG;IACd,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,KAAK,UAAU,SAAS,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE;YAC1B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpE,IACE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;oBACtC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,2BAA2B,CAAC;oBAClD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC;oBAC/C,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,4BAA4B,CAAC;oBACnD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC;oBAC7C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAC3C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,QAAQ,CAAC,8BAA8B,CAAC;oBACnD,UAAU,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EACnD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAE3E,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,uBAAuB,GAAG,oCAAoC,CAAC;QACrE,MAAM,eAAe,GAAG;;;;;;CAM3B,CAAC;QACE,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IAED,8BAA8B;IAC9B,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAExG,4BAA4B;IAC5B,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEzF,uCAAuC;IACvC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAElH,oCAAoC;IACpC,MAAM,YAAY,GAAG;;;;;;;;CAQtB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAE5G,sCAAsC;IACtC,MAAM,cAAc,GAAG;;;CAGxB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAClH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@ using:
|
|
|
43
43
|
Require:
|
|
44
44
|
- `Decision: Proceed`
|
|
45
45
|
- `Approval Status: Approved`
|
|
46
|
-
- A resolvable Discovery ID and `00-explore.md`
|
|
46
|
+
- A resolvable Discovery ID and `discovery.md` (or legacy `00-explore.md`)
|
|
47
47
|
|
|
48
48
|
### 3. Allocate Sequential ID
|
|
49
49
|
- Inspect `devflow/history/HISTORY.md` and allocate sequential ID without prefix (e.g. `022-{slug}`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: adopt
|
|
3
|
-
description: "[devflow][B] Bring the blueprint into an existing (brownfield) codebase. Surveys the real repo, interviews for intent, generates the owned plans and coding standards, documents existing verification and CI, and points to the optional standalone CI setup. Use when the user runs /adopt, is overlaying the blueprint onto an app that already has meaningful code, or asks to adopt or bootstrap the workflow into an existing project. For freshly scaffolded or early projects, use onboard instead."
|
|
3
|
+
description: "[devflow][B] Bring the blueprint into an existing (brownfield) codebase. Surveys the real repo, interviews for intent, generates the owned plans and coding standards, documents existing verification and CI, asks whether DevFlow workflow files should be committed or kept local-only, and points to the optional standalone CI setup. Use when the user runs /adopt, is overlaying the blueprint onto an app that already has meaningful code, or asks to adopt or bootstrap the workflow into an existing project. For freshly scaffolded or early projects, use onboard instead."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# adopt - bootstrap the blueprint from an existing codebase
|
|
@@ -42,9 +42,9 @@ Protect the project README:
|
|
|
42
42
|
|
|
43
43
|
- If the root `README.md` already looks like a real project README, leave it
|
|
44
44
|
alone.
|
|
45
|
-
- If the root `README.md` is the copied
|
|
45
|
+
- If the root `README.md` is the copied DevFlow workflow doc (for example it
|
|
46
46
|
starts with `# AI Coding Blueprint`), report it as obsolete overlay content
|
|
47
|
-
and ask before replacing or removing it. Do not move it into `
|
|
47
|
+
and ask before replacing or removing it. Do not move it into `devflow/`.
|
|
48
48
|
- Do not create or overwrite a root project README for a brownfield app unless
|
|
49
49
|
the user explicitly asks. The existing project face belongs to the app, not the
|
|
50
50
|
workflow.
|
|
@@ -124,7 +124,54 @@ Run /ci or $ci when you want automatic GitHub checks.
|
|
|
124
124
|
Explain that CI is not required to finish adoption. The `/ci` skill owns
|
|
125
125
|
project-specific Verify and GitHub workflow setup.
|
|
126
126
|
|
|
127
|
-
## Step 5 -
|
|
127
|
+
## Step 5 - ask about DevFlow visibility
|
|
128
|
+
|
|
129
|
+
Ask how the DevFlow workflow files should be handled in git, unless the user
|
|
130
|
+
already gave a preference:
|
|
131
|
+
|
|
132
|
+
```text
|
|
133
|
+
DevFlow visibility?
|
|
134
|
+
|
|
135
|
+
1. Commit DevFlow workflow files
|
|
136
|
+
Portable. Best for teams and working across machines.
|
|
137
|
+
|
|
138
|
+
2. Keep DevFlow workflow files local
|
|
139
|
+
Adds .agents/, .claude/, devflow/, and CLAUDE.md to .gitignore.
|
|
140
|
+
Keeps AGENTS.md public as the lightweight project agent guide.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Recommend option 1 by default. If the user chooses option 2:
|
|
144
|
+
|
|
145
|
+
- Add this block to `.gitignore`, preserving existing entries:
|
|
146
|
+
|
|
147
|
+
```gitignore
|
|
148
|
+
# DevFlow local workflow files
|
|
149
|
+
.agents/
|
|
150
|
+
.claude/
|
|
151
|
+
devflow/
|
|
152
|
+
CLAUDE.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
- Keep `AGENTS.md` tracked. It remains the lightweight public project guide for
|
|
156
|
+
commands and conventions.
|
|
157
|
+
- Make `AGENTS.md` public-safe: keep project description, commands, testing gate,
|
|
158
|
+
and coding conventions, but remove or avoid DevFlow workflow explanations,
|
|
159
|
+
hidden adapter paths, workflow-document pointers, and core skill lists that
|
|
160
|
+
would expose the local-only workflow.
|
|
161
|
+
- Explain that local-only mode hides the workflow contents from the repo, but the
|
|
162
|
+
`.gitignore` names still reveal the ignored paths.
|
|
163
|
+
- Explain that DevFlow state, specs, findings, and history will not travel
|
|
164
|
+
with the repo; another machine needs DevFlow reinstalled or restored
|
|
165
|
+
locally.
|
|
166
|
+
- Because adoption runs right after the DevFlow files were added to an
|
|
167
|
+
existing repository, they are more likely to already be staged or committed
|
|
168
|
+
than in a fresh install. If any of `.agents/`, `.claude/`, `devflow/`, or
|
|
169
|
+
`CLAUDE.md` are already tracked, say `.gitignore` will not hide tracked files.
|
|
170
|
+
Ask before running
|
|
171
|
+
`git rm --cached -r .agents .claude devflow CLAUDE.md`, and
|
|
172
|
+
only run it if the user explicitly approves. Never delete the local files.
|
|
173
|
+
|
|
174
|
+
## Step 6 - review gate, then hand off
|
|
128
175
|
|
|
129
176
|
Stop and show the user what you generated, calling out:
|
|
130
177
|
|
|
@@ -132,7 +179,9 @@ Stop and show the user what you generated, calling out:
|
|
|
132
179
|
judgment most worth their eyes,
|
|
133
180
|
- every `> TODO (confirm)` you left,
|
|
134
181
|
- anything the survey and the interview disagreed on,
|
|
135
|
-
- verification command and GitHub checks status
|
|
182
|
+
- verification command and GitHub checks status,
|
|
183
|
+
- DevFlow visibility choice, and a tracked-file warning if local-only mode was
|
|
184
|
+
chosen after files were already tracked.
|
|
136
185
|
|
|
137
186
|
These files are the ones the user *owns*. Have them review and adjust, then tell
|
|
138
187
|
them to run `/overview` to distill the plans into `project-overview.md` and start
|
|
@@ -150,6 +199,10 @@ the normal loop.
|
|
|
150
199
|
before touching them. Never run a scaffolder.
|
|
151
200
|
- **Be honest about testing.** If there's no runner, say testing is opt-in and not
|
|
152
201
|
yet set up; don't describe a gate the project hasn't adopted.
|
|
202
|
+
- Keep `AGENTS.md` public in local-only mode unless the user explicitly asks for
|
|
203
|
+
a more advanced setup.
|
|
204
|
+
- Do not untrack DevFlow files with `git rm --cached` without a separate
|
|
205
|
+
explicit approval.
|
|
153
206
|
|
|
154
207
|
## Formatting
|
|
155
208
|
|
|
@@ -58,5 +58,5 @@ Construct a structured evaluation table:
|
|
|
58
58
|
|
|
59
59
|
## Next Workflow Recommendation
|
|
60
60
|
|
|
61
|
-
- **Primary**: `
|
|
61
|
+
- **Primary**: `discovery {discovery_id}` (if resuming discovery) or `10-define` / `feature` (if ready to specify)
|
|
62
62
|
- **Inbox**: `idea` to record into `devflow/ideas.md`
|
|
@@ -23,7 +23,7 @@ Use this skill to guide the user on what to do next, inspect current workspace s
|
|
|
23
23
|
Nexus-DevFlow supports two seamless workflow tracks:
|
|
24
24
|
1. **🏎️ Fast-Track (Blueprint Mode - 4 Steps)**: `/spec` ➔ `/implement` ➔ `/check` ➔ `/complete`
|
|
25
25
|
*Driven by a **Single Living Spec (`current-feature.md`)** for fast, high-velocity daily development and bugfixes (85% of tasks).*
|
|
26
|
-
2. **🏗️ Deep-Track (Architect Mode - 8 Steps)**: `
|
|
26
|
+
2. **🏗️ Deep-Track (Architect Mode - 8 Steps)**: `discovery` ➔ `10-define` ➔ `20-spec` ➔ `30-plan` ➔ `40-execute` ➔ `50-verify` ➔ `60-report` ➔ `70-deliver`
|
|
27
27
|
*Driven by modular separate stage files for large, high-stakes architectural epics and multi-agent coordination.*
|
|
28
28
|
|
|
29
29
|
---
|
|
@@ -45,14 +45,14 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
45
45
|
- If at `40-execute.md` with all tasks done -> Recommend `50-verify {RUNNING_ID}`.
|
|
46
46
|
- If passed `50-verify.md` -> Recommend `60-report {RUNNING_ID}` then `70-deliver {RUNNING_ID}`.
|
|
47
47
|
3. **Active Discovery**: Check `devflow/discoveries/` for open discovery notes.
|
|
48
|
-
4. **Pending Ideas Inbox**: Check `devflow/ideas.md`. If items exist under `## 📌 Pending Ideas`, summarize them in a **💡 Pending Ideas (Inbox)** list with their IDs (`[IDEA-xxx]`), feasibility, and mention that they can be started with `/spec IDEA-xxx`.
|
|
48
|
+
4. **Pending Ideas Inbox**: Check `devflow/ideas.md`. If items exist under `## 📌 Pending Ideas`, summarize them in a **💡 Pending Ideas (Inbox)** list with their IDs (`[IDEA-xxx]`), feasibility, and mention that they can be started with `/spec IDEA-xxx` or `/discovery IDEA-xxx`.
|
|
49
49
|
5. **Audit Findings Ledger**: Check `devflow/context/findings.md` for open high-severity findings.
|
|
50
50
|
|
|
51
51
|
### Default State Recommendations
|
|
52
52
|
- if no run is active and user wants to start a feature -> Recommend `/feature <name>`.
|
|
53
53
|
- If no run is active and user wants to fix a bug -> Recommend `/fix <bug>`.
|
|
54
|
-
- If no run is active and user has pending ideas in `devflow/ideas.md` -> Highlight `/spec IDEA-xxx`.
|
|
55
|
-
- If no run is active and user wants deep architectural exploration -> Recommend `
|
|
54
|
+
- If no run is active and user has pending ideas in `devflow/ideas.md` -> Highlight `/spec IDEA-xxx` or `/discovery IDEA-xxx`.
|
|
55
|
+
- If no run is active and user wants deep architectural exploration -> Recommend `discovery`.
|
|
56
56
|
- If user asks to check system health -> Recommend `doctor`.
|
|
57
57
|
|
|
58
58
|
---
|
|
@@ -71,7 +71,7 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
71
71
|
| "Setup DevFlow on fresh/new project" | `onboard` | `onboard` / `setup` | `onboard` -> `/spec` or `10-define` |
|
|
72
72
|
| "Adopt DevFlow on existing codebase" | `adopt` | `adopt` / `bootstrap` | `adopt` -> `/spec` or `10-define` |
|
|
73
73
|
| "Check setup health & diagnostics" | `doctor` | `doctor` / `health` | `doctor` |
|
|
74
|
-
| "Explore a new request / deep idea" | `
|
|
74
|
+
| "Explore a new request / deep idea" | `discovery` | `discovery` / `/discovery` | **Deep-Track**: `discovery` -> `10` -> `20` -> ... |
|
|
75
75
|
| "Define delivery boundaries and ID" | `10-define` | `define` | **Deep-Track**: `10` -> `20` -> `30` |
|
|
76
76
|
| "Break down spec into plan (Deep)" | `30-plan` | `plan` | **Deep-Track**: `30` -> `40` -> `50` |
|
|
77
77
|
| "Deep code implementation" | `40-execute` | `implement` | **Deep-Track**: `40` -> `50` |
|
|
@@ -84,6 +84,7 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
84
84
|
| "Pre-check scope & risks before spec" | `brief` | `brief` | Companion |
|
|
85
85
|
| "Run autonomous bounded delivery loop"| `autopilot` | `autopilot` | Companion |
|
|
86
86
|
| "Brainstorm ideas without ID" | `brainstorm` | `brainstorm` | Companion |
|
|
87
|
+
| "Socratic alignment / ADR / glossary" | `grill` | `/grill` / `align` | Companion (pre-spec / domain modeling) |
|
|
87
88
|
| "Investigate failure or root cause" | `debug` | `debug` | Companion |
|
|
88
89
|
|
|
89
90
|
---
|
|
@@ -97,7 +98,7 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
97
98
|
- `complete` (`/complete`, `$complete`) - Safety pass, release digest, git merge, close run
|
|
98
99
|
|
|
99
100
|
### 2. Deep-Track (Architect Mode - 8 Steps)
|
|
100
|
-
- `
|
|
101
|
+
- `discovery` - Project roadmap planning or feature exploration before delivery commitment
|
|
101
102
|
- `10-define` - Lock delivery boundaries and allocate Running ID
|
|
102
103
|
- `20-spec` - Formalize markdown delivery contract
|
|
103
104
|
- `30-plan` - Breakdown spec into phased tasks with test decisions
|
|
@@ -109,6 +110,8 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
109
110
|
### 3. Public Companion Commands
|
|
110
111
|
- `devflow` (`status`, `/devflow`) - Interactive guide, state inspector, and router
|
|
111
112
|
- `idea` (`/idea`) - Quick idea capture and AI feasibility enrichment into `devflow/ideas.md`
|
|
113
|
+
- `grill` (`/grill`, `align`) - Codebase-grounded Socratic alignment, domain glossary, and ADR recorder
|
|
114
|
+
- `brainstorm` - Ideate and compare trade-off options without allocating running IDs
|
|
112
115
|
- `report-html` (`/report:html`) - Standalone interactive HTML report dashboard generator
|
|
113
116
|
- `onboard` - Baseline stack setup for freshly scaffolded projects
|
|
114
117
|
- `adopt` - Bootstrap DevFlow into existing brownfield projects
|
|
@@ -118,6 +121,5 @@ When invoked without an argument (or when determining the next step), inspect:
|
|
|
118
121
|
- `ci` - Automatic GitHub Actions workflow setup
|
|
119
122
|
- `brief` - Read-only scope and risk pre-briefing
|
|
120
123
|
- `autopilot` - Autonomous bounded delivery loop
|
|
121
|
-
- `brainstorm` - Ideate without allocating running IDs
|
|
122
124
|
- `debug` - Root cause investigation before or during implementation
|
|
123
125
|
- `overview` - Living context synchronization into project-overview.md
|
|
@@ -1,166 +1,91 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: discovery
|
|
3
|
-
description: "[devflow][
|
|
3
|
+
description: "[devflow][D] Unified discovery and exploration stage in DevFlow 2.0 - conducts project-level roadmap discovery (project-plan.md/build-plan.md) or feature-level exploration (Stage 00) before delivery commitment."
|
|
4
|
+
argument-hint: "[{title, request, IDEA-xxx, or discovery-id}]"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
# discovery -
|
|
7
|
+
# discovery - Unified Discovery & Pre-Delivery Exploration
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
$ARGUMENTS
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
`/discovery` is the central discovery entry point in Nexus-DevFlow. It operates in two adaptive modes based on input scope:
|
|
12
|
+
1. **🗺️ Macro Project Discovery**: Develops high-level product and build roadmap plans (`devflow/project-plan.md` & `devflow/build-plan.md`) through an adaptive conversation before `/overview`.
|
|
13
|
+
2. **🔍 Micro Feature Exploration (Stage 00)**: Explores a specific feature, request, or idea before committing to delivery, routes through supporting lenses, and finishes with a visible `Proceed`, `Defer`, or `Reject` decision before `10-define`.
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
of that conversation, and draft the two user-owned planning files only when the
|
|
18
|
-
user asks for drafts.
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Invocations & Usage
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
```text
|
|
20
|
+
# 1. Macro Project Planning Mode (No arguments or project scope)
|
|
21
|
+
/discovery
|
|
22
|
+
/discovery --project
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
# 2. Micro Feature Exploration Mode (Stage 00 of Deep-Track)
|
|
25
|
+
/discovery {title or request}
|
|
26
|
+
/discovery IDEA-xxx
|
|
27
|
+
/discovery {discovery-id}
|
|
28
|
+
```
|
|
25
29
|
|
|
26
|
-
|
|
30
|
+
---
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
- `devflow/build-plan.md`
|
|
30
|
-
- the root project manifest, README, and framework configuration when they
|
|
31
|
-
already contain relevant facts
|
|
32
|
-
- `devflow/context/project-overview.md` only when the user is revisiting an
|
|
33
|
-
established project's direction
|
|
32
|
+
## Mode 1: Macro Project Discovery (Roadmap & System Planning)
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
deepen it, revise a specific direction, or use it unchanged as conversation
|
|
39
|
-
context. Do not replace it with a fresh generic plan.
|
|
34
|
+
Use when:
|
|
35
|
+
- Starting a new product or shaping high-level architecture across the entire repository.
|
|
36
|
+
- Revisiting the overall project vision, major milestones, or tech stack before generating `/overview`.
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
### Process:
|
|
39
|
+
1. **Establish Baseline**: Read `devflow/project-plan.md` and `devflow/build-plan.md` (if present).
|
|
40
|
+
2. **Adaptive Conversation**: Ask 1-2 focused questions at a time covering problem space, user workflows, MVP boundaries, non-goals, data models, and stack constraints.
|
|
41
|
+
3. **Periodic Snapshots**: Provide compact summaries of confirmed decisions, working assumptions, and open TODOs.
|
|
42
|
+
4. **Draft Plans Behind Approval Gate**: Draft proposed `project-plan.md` and `build-plan.md` only when the user explicitly requests drafts.
|
|
43
|
+
5. **Write on Approval**: Write approved files and recommend `/overview` as the next step.
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Mode 2: Micro Feature Exploration (Stage 00 of Deep-Track)
|
|
48
|
+
|
|
49
|
+
Use when:
|
|
50
|
+
- Exploring a specific feature, complex architectural change, or pending idea (`/discovery IDEA-xxx`).
|
|
51
|
+
- The team needs to evaluate feasibility, options, domain glossary, or root causes before locking delivery scope.
|
|
52
|
+
|
|
53
|
+
### Markdown-First Contract:
|
|
54
|
+
Write the primary discovery artifact to:
|
|
55
|
+
```text
|
|
56
|
+
devflow/discoveries/{DISCOVERY_ID}-{slug}/discovery.md
|
|
57
|
+
```
|
|
58
|
+
*(A Discovery ID uses the namespace `DISC-YYYYMMDD-NNN`. It is not a Running ID and does not reserve a numeric delivery run.)*
|
|
59
|
+
|
|
60
|
+
### 5 Supporting Routes & Built-in Lenses:
|
|
61
|
+
|
|
62
|
+
1. **Brainstorming Lens (Divergent & Convergent)**:
|
|
63
|
+
- Formulate 2-3 viable options with trade-offs.
|
|
64
|
+
- Construct a **Trade-off Comparison Table** (Pros, Cons, Recommendation).
|
|
65
|
+
2. **Research & Empirical Proof Lens**:
|
|
66
|
+
- Inspect existing codebase patterns with search tools (`grep_search`, `rg`).
|
|
67
|
+
- Conduct external web search if library feasibility or API contracts are uncertain.
|
|
68
|
+
3. **PRD & Scoping Lens**:
|
|
69
|
+
- Problem Statement, Target Persona, Core User Stories, and In-Scope vs. Out-of-Scope boundaries.
|
|
70
|
+
4. **Issue & Bug Triage Lens**:
|
|
71
|
+
- Classify severity (`Critical/Blocker`, `Major`, `Minor`) and determine whether root-cause analysis (`debug`) is required.
|
|
72
|
+
5. **Socratic Grilling & Domain Alignment Lens (`grill`)**:
|
|
73
|
+
- Codebase-grounded interactive inquiry to clarify entity boundaries, data flows, and edge cases.
|
|
74
|
+
- Record agreed terminology in `devflow/context/glossary.md` and major architecture decisions in `devflow/decisions/ADR-xxx-{slug}.md`.
|
|
75
|
+
|
|
76
|
+
### Decision & Approval Gate:
|
|
77
|
+
Set one visible decision:
|
|
78
|
+
- `Proceed`: Enough value and evidence exist to define delivery work:
|
|
79
|
+
- **🏎️ Fast-Track (Recommended for 85% of standard features/fixes)**: Handoff to `/feature {discovery_id}` or `/fix {discovery_id}` (writes `devflow/context/current-feature.md`).
|
|
80
|
+
- **🏗️ Deep-Track (For large architectural epics/migrations)**: Handoff to `10-define {discovery_id}` (writes `devflow/context/current-run/10-define.md`).
|
|
81
|
+
- `Defer`: The idea remains relevant but timing or evidence is not ready.
|
|
82
|
+
- `Reject`: The idea should not proceed under current framing.
|
|
83
|
+
|
|
84
|
+
---
|
|
45
85
|
|
|
46
|
-
|
|
47
|
-
Prefer a likely interpretation the user can correct over a vague request for
|
|
48
|
-
more detail. Explain a tradeoff when the answer would materially change scope,
|
|
49
|
-
architecture, cost, or build order.
|
|
86
|
+
## Next Workflow Recommendations
|
|
50
87
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- MVP capabilities, explicit non-goals, and later possibilities
|
|
56
|
-
- business rules, data, integrations, permissions, and important edge cases
|
|
57
|
-
- stack choices, constraints, dependencies, and technical unknowns
|
|
58
|
-
- UI/UX direction, accessibility needs, and useful references
|
|
59
|
-
- monetization or business model when relevant
|
|
60
|
-
- deployment shape, environments, background work, storage, and operations
|
|
61
|
-
- risks, assumptions, unresolved decisions, and how success will be judged
|
|
62
|
-
- feature boundaries, dependencies, and a sensible build order
|
|
63
|
-
|
|
64
|
-
Depth is the goal. Follow a consequential answer until its implications are
|
|
65
|
-
clear instead of racing to the next category. Do not ask the user to repeat facts
|
|
66
|
-
already established in the conversation or repository. Do not force irrelevant
|
|
67
|
-
topics merely to complete a checklist.
|
|
68
|
-
|
|
69
|
-
Periodically return a compact discovery snapshot with:
|
|
70
|
-
|
|
71
|
-
- confirmed decisions
|
|
72
|
-
- working assumptions that still need confirmation
|
|
73
|
-
- open questions or conflicts
|
|
74
|
-
- ideas explicitly deferred or excluded
|
|
75
|
-
|
|
76
|
-
The snapshot keeps a long conversation coherent. It is not permission to write
|
|
77
|
-
the plans.
|
|
78
|
-
|
|
79
|
-
## Step 3 - decide whether the plans are ready
|
|
80
|
-
|
|
81
|
-
Do not end discovery because a preset number of questions has been reached. It
|
|
82
|
-
is ready to draft when:
|
|
83
|
-
|
|
84
|
-
- the problem, users, and core workflows are concrete
|
|
85
|
-
- MVP scope and non-goals are distinguishable
|
|
86
|
-
- data and technical choices are detailed enough to expose major dependencies
|
|
87
|
-
- the build order can be expressed as feature-sized outcomes
|
|
88
|
-
- important contradictions are resolved
|
|
89
|
-
- remaining unknowns are either safe to defer or explicitly accepted as TODOs
|
|
90
|
-
- the user says they are ready for the plans to be drafted
|
|
91
|
-
|
|
92
|
-
If the user asks for drafts while a material gap remains, name the gap and ask
|
|
93
|
-
whether to continue discovery or preserve it as an explicit TODO. Respect the
|
|
94
|
-
choice. The user may also stop at any time and write the plans manually.
|
|
95
|
-
|
|
96
|
-
## Step 4 - draft both planning files
|
|
97
|
-
|
|
98
|
-
When the user asks for drafts, produce complete proposed contents for both files
|
|
99
|
-
without writing them yet.
|
|
100
|
-
|
|
101
|
-
For `devflow/project-plan.md`:
|
|
102
|
-
|
|
103
|
-
- keep the template's main subject areas, adding useful sections when the
|
|
104
|
-
conversation requires them
|
|
105
|
-
- preserve rationale, examples, tradeoffs, constraints, edge cases, and
|
|
106
|
-
exclusions that will matter during later feature work
|
|
107
|
-
- be as detailed as the project needs; never compress a rich discovery into a
|
|
108
|
-
line or two per section
|
|
109
|
-
- distinguish confirmed decisions from assumptions and TODOs
|
|
110
|
-
|
|
111
|
-
For `devflow/build-plan.md`:
|
|
112
|
-
|
|
113
|
-
- use numbered checkboxes and optional milestone headings
|
|
114
|
-
- keep each item a high-level, feature-sized outcome with a concise description
|
|
115
|
-
- order items by dependency and the earliest useful vertical slice
|
|
116
|
-
- keep implementation detail in later `/feature` specs rather than turning the
|
|
117
|
-
roadmap into a task dump
|
|
118
|
-
- include only agreed scope; place deferred ideas outside the MVP or omit them as
|
|
119
|
-
the user directed
|
|
120
|
-
|
|
121
|
-
If substantive plans already exist, preserve their information and completed
|
|
122
|
-
build-plan numbering. Clearly identify proposed additions, removals, or changed
|
|
123
|
-
decisions.
|
|
124
|
-
|
|
125
|
-
End by asking the user to review the full drafts. Do not write either file in the
|
|
126
|
-
same response that first presents them.
|
|
127
|
-
|
|
128
|
-
## Step 5 - write only after approval
|
|
129
|
-
|
|
130
|
-
Write the approved drafts only after the user explicitly approves them. If the
|
|
131
|
-
user requests changes, revise the drafts and show the affected sections again
|
|
132
|
-
before writing.
|
|
133
|
-
|
|
134
|
-
After writing:
|
|
135
|
-
|
|
136
|
-
- report which files changed
|
|
137
|
-
- list any retained TODOs or unresolved decisions
|
|
138
|
-
- remind the user that both files remain theirs to edit and deepen directly
|
|
139
|
-
- stop before generating `devflow/context/project-overview.md`
|
|
140
|
-
- point to `/overview` or `$overview` as the next optional command when the user
|
|
141
|
-
is satisfied with the plans
|
|
142
|
-
|
|
143
|
-
## Rules
|
|
144
|
-
|
|
145
|
-
- This skill is always optional. Never make it a prerequisite for `/overview`,
|
|
146
|
-
`/feature`, or any other Blueprint command.
|
|
147
|
-
- Never start it automatically from `/onboard`, because planning files are
|
|
148
|
-
empty, or because a project is new.
|
|
149
|
-
- Never imply that plans created manually or through another conversation are
|
|
150
|
-
inferior or incomplete merely because this skill was not used.
|
|
151
|
-
- Never overwrite substantive planning content without showing the replacement
|
|
152
|
-
and receiving explicit approval.
|
|
153
|
-
- Never write plans during the interview or after a vague signal such as "looks
|
|
154
|
-
good." The user must explicitly approve the proposed file contents.
|
|
155
|
-
- Never scaffold the app, edit product code, generate the overview, create a
|
|
156
|
-
feature spec, commit, merge, push, or deploy.
|
|
157
|
-
- Preserve detailed project reasoning in `project-plan.md`, while keeping
|
|
158
|
-
`build-plan.md` high-level and trackable.
|
|
159
|
-
- Keep the conversation adaptive. Depth comes from relevant follow-up questions,
|
|
160
|
-
not from mechanically asking every possible question.
|
|
161
|
-
|
|
162
|
-
## Formatting
|
|
163
|
-
|
|
164
|
-
Follow `devflow/context/ai-interaction.md`. During discovery, ask one focused
|
|
165
|
-
question per turn. For snapshots and draft reviews, use concise headings and
|
|
166
|
-
lists so confirmed decisions and remaining gaps are easy to inspect.
|
|
88
|
+
- **From Macro Project Mode**: Run `/overview` to compile context into `devflow/context/project-overview.md`.
|
|
89
|
+
- **From Micro Stage 00 (Approved Proceed ➔ Fast-Track)**: Run `/feature {discovery_id}` to start lean living spec.
|
|
90
|
+
- **From Micro Stage 00 (Approved Proceed ➔ Deep-Track)**: Run `10-define {discovery_id}` to allocate a Running ID.
|
|
91
|
+
- **From Micro Stage 00 (Defer / Reject)**: No next command needed.
|