@engramm/dev-workflow 0.1.5 → 0.1.7
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 +4 -1
- package/dist/cli/task.d.ts.map +1 -1
- package/dist/cli/task.js +35 -0
- package/dist/cli/task.js.map +1 -1
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js +13 -0
- package/dist/lib/templates.js.map +1 -1
- package/dist/mcp/handlers.d.ts +1 -0
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +7 -0
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +11 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/tasks/phase-tasks.d.ts +8 -0
- package/dist/tasks/phase-tasks.d.ts.map +1 -0
- package/dist/tasks/phase-tasks.js +35 -0
- package/dist/tasks/phase-tasks.js.map +1 -0
- package/package.json +1 -1
- package/templates/agents/architect.md +9 -3
- package/templates/agents/coder.md +9 -3
- package/templates/agents/committer.md +8 -0
- package/templates/agents/debugger.md +8 -2
- package/templates/agents/planner.md +8 -2
- package/templates/agents/reader.md +7 -0
- package/templates/agents/reviewer.md +8 -1
- package/templates/agents/tester.md +8 -2
- package/templates/claude/commands/session/handover.md +6 -5
- package/templates/claude/commands/session/resume.md +8 -0
- package/templates/claude/commands/session/review.md +7 -6
- package/templates/claude/commands/vault/analyze.md +7 -6
- package/templates/claude/commands/vault/arch.md +150 -0
- package/templates/claude/commands/vault/from-spec.md +9 -6
- package/templates/claude/commands/vault/project-review.md +179 -0
- package/templates/claude/commands/workflow/dev.md +11 -0
- package/templates/claude/commands/workflow/steps/preflight.md +10 -5
- package/templates/claude/commands/workflow/steps/read.md +6 -0
- package/templates/claude/commands/workflow/steps/vault-updates.md +56 -2
package/README.md
CHANGED
|
@@ -98,6 +98,8 @@ Violation = immediate pipeline abort.
|
|
|
98
98
|
| `/vault:bug` | Record a resolved bug |
|
|
99
99
|
| `/vault:adr` | Record an architecture decision |
|
|
100
100
|
| `/vault:debt` | Record tech debt |
|
|
101
|
+
| `/vault:arch` | Architecture analysis: 2-3 options with trade-offs |
|
|
102
|
+
| `/vault:project-review` | Full project audit: 7 perspectives, A-F scoring |
|
|
101
103
|
| `/vault:deps` | Map module dependencies |
|
|
102
104
|
| `/vault:security-scan` | Security audit |
|
|
103
105
|
| `/vault:test-gaps` | Find untested code |
|
|
@@ -145,7 +147,7 @@ dev-workflow serve # Start MCP server
|
|
|
145
147
|
|
|
146
148
|
## MCP Tools
|
|
147
149
|
|
|
148
|
-
|
|
150
|
+
14 tools available via MCP server:
|
|
149
151
|
|
|
150
152
|
| Tool | Description |
|
|
151
153
|
|------|------------|
|
|
@@ -159,6 +161,7 @@ dev-workflow serve # Start MCP server
|
|
|
159
161
|
| `task_list` | List tasks |
|
|
160
162
|
| `task_update` | Update task |
|
|
161
163
|
| `task_start` | Start task (link to branch) |
|
|
164
|
+
| `task_create_from_phase` | Parse phase file and create missing tasks |
|
|
162
165
|
| `workflow_status` | Current workflow status |
|
|
163
166
|
| `agent_list` | List agents with permissions |
|
|
164
167
|
| `agent_run` | Generate agent prompt with vault context |
|
package/dist/cli/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/cli/task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/cli/task.ts"],"names":[],"mappings":"AAcA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA2CzC"}
|
package/dist/cli/task.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { detectContext } from "../lib/context.js";
|
|
2
2
|
import { TaskManager } from "../tasks/manager.js";
|
|
3
3
|
import { TaskTracker } from "../tasks/tracker.js";
|
|
4
|
+
import { join } from "node:path";
|
|
4
5
|
import { icon, statusIcon, table } from "../lib/output.js";
|
|
6
|
+
import { createTasksFromPhase } from "../tasks/phase-tasks.js";
|
|
5
7
|
function parseFlag(args, flag) {
|
|
6
8
|
const index = args.indexOf(flag);
|
|
7
9
|
if (index === -1 || index >= args.length - 1)
|
|
@@ -21,6 +23,9 @@ export function task(args) {
|
|
|
21
23
|
case "create":
|
|
22
24
|
taskCreate(manager, args.slice(1));
|
|
23
25
|
break;
|
|
26
|
+
case "create-from-phase":
|
|
27
|
+
taskCreateFromPhase(manager, context.projectRoot, args[1]);
|
|
28
|
+
break;
|
|
24
29
|
case "list":
|
|
25
30
|
taskList(manager, args.slice(1));
|
|
26
31
|
break;
|
|
@@ -150,4 +155,34 @@ function taskBlock(manager, id) {
|
|
|
150
155
|
process.exitCode = 1;
|
|
151
156
|
}
|
|
152
157
|
}
|
|
158
|
+
function taskCreateFromPhase(manager, projectRoot, phaseFile) {
|
|
159
|
+
if (!phaseFile) {
|
|
160
|
+
console.error("Usage: dev-workflow task create-from-phase <phase-file>");
|
|
161
|
+
process.exitCode = 1;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const fullPath = phaseFile.startsWith("/") ? phaseFile : join(projectRoot, phaseFile);
|
|
165
|
+
try {
|
|
166
|
+
const result = createTasksFromPhase(fullPath, manager);
|
|
167
|
+
if (result.created.length > 0) {
|
|
168
|
+
console.log(`Created ${result.created.length} tasks:`);
|
|
169
|
+
for (const title of result.created) {
|
|
170
|
+
console.log(` + ${title}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (result.skipped.length > 0) {
|
|
174
|
+
console.log(`Skipped ${result.skipped.length} (already exist):`);
|
|
175
|
+
for (const title of result.skipped) {
|
|
176
|
+
console.log(` = ${title}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (result.created.length === 0 && result.skipped.length === 0) {
|
|
180
|
+
console.log("No tasks found in phase file.");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.error(error instanceof Error ? error.message : "Failed to parse phase file");
|
|
185
|
+
process.exitCode = 1;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
153
188
|
//# sourceMappingURL=task.js.map
|
package/dist/cli/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/cli/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/cli/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAwNA,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACrC,MAAM,CAiBR;AAED,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
|
package/dist/lib/templates.js
CHANGED
|
@@ -184,6 +184,19 @@ Project knowledge is stored in \`.dev-vault/\`:
|
|
|
184
184
|
4. Review: \`/session:review\`
|
|
185
185
|
5. Handover: \`/session:handover\`
|
|
186
186
|
|
|
187
|
+
### Vault write rules (ALWAYS ACTIVE)
|
|
188
|
+
|
|
189
|
+
When the user agrees to a scope change, architecture decision, or deferred work — record IMMEDIATELY:
|
|
190
|
+
|
|
191
|
+
- **Architecture/scope decision** (user says "yes" to a proposal) → \`vault_record(type: "adr", title, content)\`
|
|
192
|
+
- **Work deferred** (user agrees to postpone something) → \`vault_record(type: "debt", title, content)\`
|
|
193
|
+
- **New gotcha discovered** → append to \`.dev-vault/knowledge.md\` section "Gotchas" (Edit tool, APPEND)
|
|
194
|
+
- **Gameplan changed** (phases reordered, tasks moved) → update \`.dev-vault/gameplan.md\` (Edit tool)
|
|
195
|
+
|
|
196
|
+
This applies in ALL contexts: during /workflow:dev (including aborted pipelines), free conversation, /vault:arch. Do NOT wait for pipeline completion. Record when user confirms.
|
|
197
|
+
|
|
198
|
+
Use Edit tool to APPEND to existing vault files. NEVER use Write tool on existing files.
|
|
199
|
+
|
|
187
200
|
## Project
|
|
188
201
|
|
|
189
202
|
<!-- Add project-specific instructions below -->
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAEtD,MAAM,iBAAiB,GAA2B;IAChD,aAAa,EAAE;;;;;;;;;;;;;;;;;CAiBhB;IAEC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;CAiBtB;IAEC,iBAAiB,EAAE;;;;;;;;;;;CAWpB;IAEC,gBAAgB,EAAE;;;;;;;;;;;CAWnB;IAEC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;CAoBnB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;CAiBlB;IAEC,aAAa,EAAE;;;;;;;;;;;;;;CAchB;IAEC,aAAa,EAAE;;;;;;;;;;;;;;CAchB;IAEC,cAAc,EAAE;;;;;;;;;;;;;;;CAejB;IAEC,mBAAmB,EAAE
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAEtD,MAAM,iBAAiB,GAA2B;IAChD,aAAa,EAAE;;;;;;;;;;;;;;;;;CAiBhB;IAEC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;CAiBtB;IAEC,iBAAiB,EAAE;;;;;;;;;;;CAWpB;IAEC,gBAAgB,EAAE;;;;;;;;;;;CAWnB;IAEC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;CAoBnB;IAEC,eAAe,EAAE;;;;;;;;;;;;;;;;;CAiBlB;IAEC,aAAa,EAAE;;;;;;;;;;;;;;CAchB;IAEC,aAAa,EAAE;;;;;;;;;;;;;;CAchB;IAEC,cAAc,EAAE;;;;;;;;;;;;;;;CAejB;IAEC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDtB;CACA,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,YAAoC,EAAE;IAEtC,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;IAEzE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC;IAC/D,IAAI,QAAgB,CAAC;IAErB,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/mcp/handlers.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAkE7D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAGxC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,mBAAmB,EACnC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW;IAYpB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAsEjF,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,QAAQ;CAQjB"}
|
package/dist/mcp/handlers.js
CHANGED
|
@@ -4,6 +4,7 @@ import { renderTemplate } from "../lib/templates.js";
|
|
|
4
4
|
import { WorkflowState } from "../workflow/state.js";
|
|
5
5
|
import { topN } from "../intelligence/ranker.js";
|
|
6
6
|
import { syncFromVault } from "../intelligence/sync.js";
|
|
7
|
+
import { createTasksFromPhase } from "../tasks/phase-tasks.js";
|
|
7
8
|
function requireString(params, key) {
|
|
8
9
|
const value = params[key];
|
|
9
10
|
if (typeof value !== "string" || value === "") {
|
|
@@ -93,6 +94,8 @@ export class ToolHandlers {
|
|
|
93
94
|
return this.intelligenceQuery(optionalString(params, "branch"), optionalString(params, "task"), params["limit"]);
|
|
94
95
|
case "task_start":
|
|
95
96
|
return this.taskStart(requireString(params, "id"));
|
|
97
|
+
case "task_create_from_phase":
|
|
98
|
+
return this.taskCreateFromPhase(requireString(params, "phaseFile"));
|
|
96
99
|
case "task_create":
|
|
97
100
|
return this.taskCreate(requireString(params, "title"), optionalString(params, "description"));
|
|
98
101
|
case "task_list":
|
|
@@ -208,6 +211,10 @@ export class ToolHandlers {
|
|
|
208
211
|
lastAccessed: entry.node.lastAccessed,
|
|
209
212
|
}));
|
|
210
213
|
}
|
|
214
|
+
taskCreateFromPhase(phaseFile) {
|
|
215
|
+
const fullPath = phaseFile.startsWith("/") ? phaseFile : join(this.context.projectRoot, phaseFile);
|
|
216
|
+
return createTasksFromPhase(fullPath, this.taskManager);
|
|
217
|
+
}
|
|
211
218
|
taskStart(id) {
|
|
212
219
|
const task = this.taskManager.get(id);
|
|
213
220
|
const slug = task.title
|
package/dist/mcp/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CA6JrD"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -123,6 +123,17 @@ export function getToolDefinitions() {
|
|
|
123
123
|
required: ["id"],
|
|
124
124
|
},
|
|
125
125
|
},
|
|
126
|
+
{
|
|
127
|
+
name: "task_create_from_phase",
|
|
128
|
+
description: "Parse ## Tasks from a phase file and create missing tasks",
|
|
129
|
+
inputSchema: {
|
|
130
|
+
type: "object",
|
|
131
|
+
properties: {
|
|
132
|
+
phaseFile: { type: "string", description: "Path to phase file, e.g. .dev-vault/phases/phase-3-core.md" },
|
|
133
|
+
},
|
|
134
|
+
required: ["phaseFile"],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
126
137
|
{
|
|
127
138
|
name: "agent_list",
|
|
128
139
|
description: "List available agents with their capabilities",
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TaskManager } from "./manager.js";
|
|
2
|
+
export interface PhaseTaskResult {
|
|
3
|
+
created: string[];
|
|
4
|
+
skipped: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare function parseTasksFromPhase(phaseFilePath: string): string[];
|
|
7
|
+
export declare function createTasksFromPhase(phaseFilePath: string, taskManager: TaskManager): PhaseTaskResult;
|
|
8
|
+
//# sourceMappingURL=phase-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tasks.d.ts","sourceRoot":"","sources":["../../src/tasks/phase-tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAcnE;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,WAAW,GACvB,eAAe,CAuBjB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
+
export function parseTasksFromPhase(phaseFilePath) {
|
|
3
|
+
if (!existsSync(phaseFilePath)) {
|
|
4
|
+
throw new Error(`Phase file not found: ${phaseFilePath}`);
|
|
5
|
+
}
|
|
6
|
+
const content = readFileSync(phaseFilePath, "utf-8");
|
|
7
|
+
const tasksMatch = content.match(/## Tasks\n([\s\S]*?)(?=\n## |\n---|\Z)/);
|
|
8
|
+
if (!tasksMatch)
|
|
9
|
+
return [];
|
|
10
|
+
const tasksSection = tasksMatch[1];
|
|
11
|
+
return tasksSection
|
|
12
|
+
.split("\n")
|
|
13
|
+
.map((line) => line.replace(/^\d+\.\s*/, "").trim())
|
|
14
|
+
.filter((line) => line.length > 0 && !line.startsWith("#"));
|
|
15
|
+
}
|
|
16
|
+
export function createTasksFromPhase(phaseFilePath, taskManager) {
|
|
17
|
+
const taskTitles = parseTasksFromPhase(phaseFilePath);
|
|
18
|
+
const existingTasks = taskManager.list();
|
|
19
|
+
const existingTitles = existingTasks.map((t) => t.title.toLowerCase());
|
|
20
|
+
const created = [];
|
|
21
|
+
const skipped = [];
|
|
22
|
+
for (const title of taskTitles) {
|
|
23
|
+
const alreadyExists = existingTitles.some((existing) => existing.includes(title.toLowerCase().slice(0, 20))
|
|
24
|
+
|| title.toLowerCase().includes(existing.slice(0, 20)));
|
|
25
|
+
if (alreadyExists) {
|
|
26
|
+
skipped.push(title);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
taskManager.create(title, "");
|
|
30
|
+
created.push(title);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return { created, skipped };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=phase-tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-tasks.js","sourceRoot":"","sources":["../../src/tasks/phase-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQnD,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IACpC,OAAO,YAAY;SAChB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,aAAqB,EACrB,WAAwB;IAExB,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CACvC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;eAC5D,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACzD,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -12,9 +12,15 @@ You are an architect agent for {{projectName}}.
|
|
|
12
12
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
|
-
Analyze the codebase and design system architecture.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
Analyze the codebase and design system architecture.
|
|
16
|
+
Evaluate trade-offs, MUST propose 2-3 solutions with pros/cons.
|
|
17
|
+
|
|
18
|
+
## Permissions (VIOLATION = ABORT)
|
|
19
|
+
|
|
20
|
+
- Read files: YES
|
|
21
|
+
- Write/Edit files: FORBIDDEN
|
|
22
|
+
- Bash commands: FORBIDDEN
|
|
23
|
+
- You MUST NOT create, modify, or delete any file. Analysis only.
|
|
18
24
|
|
|
19
25
|
## Project Context
|
|
20
26
|
|
|
@@ -12,9 +12,15 @@ You are a coder agent for {{projectName}}.
|
|
|
12
12
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
|
-
Write code strictly following the plan.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
Write code strictly following the plan. The ONLY agent allowed to modify project files.
|
|
16
|
+
|
|
17
|
+
## Permissions (VIOLATION = ABORT)
|
|
18
|
+
|
|
19
|
+
- Read files: YES (any file)
|
|
20
|
+
- Write/Edit: ONLY src/** and tests/** — FORBIDDEN outside these paths
|
|
21
|
+
- Bash: ONLY build/test/lint commands — FORBIDDEN: git commit, git push, git reset
|
|
22
|
+
- git: FORBIDDEN — committer agent handles all git operations
|
|
23
|
+
- Scope: ONLY changes in the plan. Scope creep FORBIDDEN.
|
|
18
24
|
|
|
19
25
|
## Project Context
|
|
20
26
|
|
|
@@ -15,6 +15,14 @@ You are a committer agent for {{projectName}}.
|
|
|
15
15
|
Create a clean git commit. Review staged changes, write a
|
|
16
16
|
descriptive commit message, and commit.
|
|
17
17
|
|
|
18
|
+
## Permissions (VIOLATION = ABORT)
|
|
19
|
+
|
|
20
|
+
- Read files: FORBIDDEN
|
|
21
|
+
- Write/Edit files: FORBIDDEN
|
|
22
|
+
- Bash: ONLY `git add`, `git diff --staged`, `git commit` — 3 commands total
|
|
23
|
+
- FORBIDDEN: git push, git pull, git reset, git checkout, git rebase, git merge
|
|
24
|
+
- FORBIDDEN: any non-git bash command
|
|
25
|
+
|
|
18
26
|
## Branch: {{branch}}
|
|
19
27
|
{{branchContext}}
|
|
20
28
|
|
|
@@ -13,8 +13,14 @@ You are a debugger agent for {{projectName}}.
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
15
|
Systematically diagnose bugs by tracing execution, inspecting state,
|
|
16
|
-
and identifying root causes.
|
|
17
|
-
|
|
16
|
+
and identifying root causes. Your output is the diagnosis and fix recommendation.
|
|
17
|
+
|
|
18
|
+
## Permissions (VIOLATION = ABORT)
|
|
19
|
+
|
|
20
|
+
- Read files: YES
|
|
21
|
+
- Write/Edit files: FORBIDDEN — describe the fix, do NOT apply it
|
|
22
|
+
- Bash commands: FORBIDDEN
|
|
23
|
+
- You MUST NOT create, modify, or delete any file. Diagnosis only.
|
|
18
24
|
|
|
19
25
|
## Project Context
|
|
20
26
|
|
|
@@ -12,8 +12,14 @@ You are a planner agent for {{projectName}}.
|
|
|
12
12
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
|
-
Create a detailed implementation plan.
|
|
16
|
-
|
|
15
|
+
Create a detailed implementation plan. Your output is the plan itself.
|
|
16
|
+
|
|
17
|
+
## Permissions (VIOLATION = ABORT)
|
|
18
|
+
|
|
19
|
+
- Read files: YES
|
|
20
|
+
- Write/Edit files: FORBIDDEN
|
|
21
|
+
- Bash commands: FORBIDDEN
|
|
22
|
+
- You MUST NOT create, modify, or delete any files
|
|
17
23
|
|
|
18
24
|
## Project Context
|
|
19
25
|
|
|
@@ -15,6 +15,13 @@ You are a reader agent for {{projectName}}.
|
|
|
15
15
|
Gather and summarize project context. You read code, documentation,
|
|
16
16
|
and vault data to build a complete picture of the current state.
|
|
17
17
|
|
|
18
|
+
## Permissions (VIOLATION = ABORT)
|
|
19
|
+
|
|
20
|
+
- Read files: YES
|
|
21
|
+
- Write/Edit files: FORBIDDEN
|
|
22
|
+
- Bash commands: FORBIDDEN
|
|
23
|
+
- Max files: 10, max 500 lines each
|
|
24
|
+
|
|
18
25
|
## Project Context
|
|
19
26
|
|
|
20
27
|
### Stack
|
|
@@ -13,7 +13,14 @@ You are a reviewer agent for {{projectName}}.
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
15
|
Review code changes for quality, security, and convention compliance.
|
|
16
|
-
|
|
16
|
+
Your output is a review report. You NEVER fix code — only report issues.
|
|
17
|
+
|
|
18
|
+
## Permissions (VIOLATION = ABORT)
|
|
19
|
+
|
|
20
|
+
- Read files: YES
|
|
21
|
+
- Write/Edit files: FORBIDDEN — you MUST NOT modify, create, or delete any file
|
|
22
|
+
- Bash commands: FORBIDDEN
|
|
23
|
+
- If you see a problem: describe it and suggest a fix. Do NOT apply the fix.
|
|
17
24
|
|
|
18
25
|
## Project Context
|
|
19
26
|
|
|
@@ -12,8 +12,14 @@ You are a tester agent for {{projectName}}.
|
|
|
12
12
|
|
|
13
13
|
## Your Role
|
|
14
14
|
|
|
15
|
-
Write tests and verify they pass.
|
|
16
|
-
|
|
15
|
+
Write tests and verify they pass.
|
|
16
|
+
|
|
17
|
+
## Permissions (VIOLATION = ABORT)
|
|
18
|
+
|
|
19
|
+
- Read files: YES (any file)
|
|
20
|
+
- Write/Edit: ONLY files in tests/ — FORBIDDEN outside tests/
|
|
21
|
+
- Bash: ONLY test commands (npm test, cargo test, pytest) — no other bash
|
|
22
|
+
- You MUST NOT modify source code. Only tests.
|
|
17
23
|
|
|
18
24
|
## Project Context
|
|
19
25
|
|
|
@@ -49,8 +49,9 @@ Capture the current session's work into `.dev-vault/` for future sessions.
|
|
|
49
49
|
|
|
50
50
|
## Rules
|
|
51
51
|
|
|
52
|
-
- **APPEND ONLY** —
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
52
|
+
- **APPEND ONLY** — NEVER overwrite existing vault files. Read first, then Edit to append.
|
|
53
|
+
- **Edit tool ONLY** — NEVER use Write tool on existing files (it overwrites entirely)
|
|
54
|
+
- **Max 3 sentences per section** — reference material, not essays
|
|
55
|
+
- **MUST include** file paths or commit hashes in "Done" section — no vague descriptions
|
|
56
|
+
- **MUST create** vault records (/vault:bug, /vault:adr, /vault:debt) if findings qualify — not "offer", DO IT
|
|
57
|
+
- NEVER include secrets or tokens
|
|
@@ -41,3 +41,11 @@ Use this exact format (markdown, not code block):
|
|
|
41
41
|
- **New branch without context** → ask user about goal, create branch file
|
|
42
42
|
- **No vault** → suggest `dev-workflow init`
|
|
43
43
|
- **Empty vault files** → suggest `/vault:analyze`
|
|
44
|
+
|
|
45
|
+
## Rules
|
|
46
|
+
|
|
47
|
+
- **MUST read ALL 4 vault files** (stack, conventions, knowledge, gameplan) — do not skip any
|
|
48
|
+
- **MUST check** for active tasks and paused workflows — not optional
|
|
49
|
+
- **MUST display** branch context if not on main — not optional
|
|
50
|
+
- **Resume complete when:** all vault sections shown + branch context + tasks + workflow status
|
|
51
|
+
- Read-only — NEVER modify vault files during resume
|
|
@@ -74,9 +74,10 @@ If perspectives disagree (e.g., Pragmatism says "good enough" but Quality says "
|
|
|
74
74
|
|
|
75
75
|
## Rules
|
|
76
76
|
|
|
77
|
-
- Read-only —
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
77
|
+
- **Read-only** — NEVER modify project code. VIOLATION = ABORT.
|
|
78
|
+
- **All 5 perspectives REQUIRED** — do not skip any. Each MUST produce a verdict.
|
|
79
|
+
- **Reference specific files and line numbers** — no vague "there might be issues"
|
|
80
|
+
- **Each finding MUST be tagged** with source perspective (Security/Quality/Conventions/Completeness/Pragmatism)
|
|
81
|
+
- **Conflict resolution:** Security > Correctness > Conventions > Pragmatism. Higher priority wins.
|
|
82
|
+
- **Critical from ANY perspective** → overall REQUEST_CHANGES
|
|
83
|
+
- **APPEND ONLY** for vault updates — use Edit tool, NEVER Write tool on existing files
|
|
@@ -100,11 +100,12 @@ For each phase:
|
|
|
100
100
|
|
|
101
101
|
## Rules
|
|
102
102
|
|
|
103
|
-
- **Gate criteria:** each phase
|
|
104
|
-
- **
|
|
105
|
-
- **Be specific** — "functions use snake_case" not "standard naming"
|
|
106
|
-
- **Reference files** — "error handling in cli/src/main.rs uses anyhow"
|
|
103
|
+
- **Gate criteria:** each phase REQUIRES explicit user approval. Do NOT skip.
|
|
104
|
+
- **APPEND ONLY** — use Edit tool. NEVER use Write tool on existing vault files.
|
|
105
|
+
- **Be specific** — "functions use snake_case" not "standard naming". Vague = rewrite.
|
|
106
|
+
- **Reference files** — MUST include file path: "error handling in cli/src/main.rs uses anyhow"
|
|
107
107
|
- **Skip gameplan.md** — roadmap is human-authored
|
|
108
108
|
- **Don't add utility crates/packages to stack.md** — only frameworks, ORMs, test runners
|
|
109
|
-
-
|
|
110
|
-
-
|
|
109
|
+
- **MUST read minimum 10 files, maximum 15** — not fewer, not "a few"
|
|
110
|
+
- **Verification:** after each phase, verify no contradictions with existing vault content
|
|
111
|
+
- NEVER include secrets or credentials
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# /vault:arch — Architecture analysis and decision support
|
|
2
|
+
|
|
3
|
+
Read-only analysis of an architecture question. Researches codebase and vault, proposes 2-3 solutions with trade-offs, recommends one. Does NOT write code.
|
|
4
|
+
|
|
5
|
+
## Arguments
|
|
6
|
+
|
|
7
|
+
`/vault:arch "<question>"` — architecture question or decision to analyze.
|
|
8
|
+
|
|
9
|
+
Examples:
|
|
10
|
+
- `/vault:arch "как организовать модуль авторизации?"`
|
|
11
|
+
- `/vault:arch "стоит ли разделить этот сервис на два?"`
|
|
12
|
+
- `/vault:arch "выбор между REST и gRPC"`
|
|
13
|
+
- `/vault:arch "как обрабатывать ошибки в pipeline?"`
|
|
14
|
+
|
|
15
|
+
## Permissions (VIOLATION = ABORT)
|
|
16
|
+
|
|
17
|
+
- Read files: YES
|
|
18
|
+
- Write/Edit files: FORBIDDEN — analysis only, no code changes
|
|
19
|
+
- Bash: FORBIDDEN
|
|
20
|
+
- Vault writes: FORBIDDEN — user decides whether to create ADR after analysis
|
|
21
|
+
|
|
22
|
+
## Procedure
|
|
23
|
+
|
|
24
|
+
### Step 1: Load context
|
|
25
|
+
|
|
26
|
+
MUST read:
|
|
27
|
+
- `.dev-vault/stack.md` — what technologies are available
|
|
28
|
+
- `.dev-vault/conventions.md` — what patterns are established
|
|
29
|
+
- `.dev-vault/knowledge.md` — existing architecture, gotchas
|
|
30
|
+
- `.dev-vault/gameplan.md` — current phase, priorities
|
|
31
|
+
|
|
32
|
+
### Step 2: Research codebase
|
|
33
|
+
|
|
34
|
+
Use Agent (Explore subagent) to:
|
|
35
|
+
1. Find code related to the question (Glob/Grep)
|
|
36
|
+
2. Read relevant files (max 15 files)
|
|
37
|
+
3. Map current architecture around the question area
|
|
38
|
+
4. Identify existing patterns that apply
|
|
39
|
+
5. Check `.dev-vault/architecture/` for related ADR records
|
|
40
|
+
|
|
41
|
+
### Step 3: Analyze from 3 perspectives
|
|
42
|
+
|
|
43
|
+
MUST evaluate from ALL 3:
|
|
44
|
+
|
|
45
|
+
**Maintainability** — how easy to understand, modify, test?
|
|
46
|
+
- Module boundaries clear?
|
|
47
|
+
- Dependencies explicit?
|
|
48
|
+
- Testable in isolation?
|
|
49
|
+
|
|
50
|
+
**Security** — attack surface, trust boundaries?
|
|
51
|
+
- Where does user input enter?
|
|
52
|
+
- What needs authentication/authorization?
|
|
53
|
+
- Data protection implications?
|
|
54
|
+
|
|
55
|
+
**Pragmatism** — effort vs value, simplicity, timeline?
|
|
56
|
+
- How much work for each option?
|
|
57
|
+
- Fits current phase from gameplan?
|
|
58
|
+
- Over-engineering risk?
|
|
59
|
+
|
|
60
|
+
Note conflicts between perspectives explicitly.
|
|
61
|
+
|
|
62
|
+
### Step 4: Propose solutions
|
|
63
|
+
|
|
64
|
+
MUST propose **2-3 solutions** (not 1, not 5+). Each MUST include:
|
|
65
|
+
|
|
66
|
+
1. **Summary** — 1-2 sentences
|
|
67
|
+
2. **How it works** — concrete description with file paths / module names
|
|
68
|
+
3. **Pros** — specific, not generic ("reduces coupling between X and Y")
|
|
69
|
+
4. **Cons** — specific, honest ("adds N files, complexity in Z")
|
|
70
|
+
5. **Fits conventions?** — does it match `.dev-vault/conventions.md`?
|
|
71
|
+
6. **Effort** — small / medium / large
|
|
72
|
+
7. **Risk** — what could go wrong
|
|
73
|
+
|
|
74
|
+
### Step 5: Recommend
|
|
75
|
+
|
|
76
|
+
Pick ONE solution. MUST justify with:
|
|
77
|
+
- Why this one over the others
|
|
78
|
+
- Which perspective it optimizes for and why
|
|
79
|
+
- What trade-offs are accepted
|
|
80
|
+
|
|
81
|
+
## Output format
|
|
82
|
+
|
|
83
|
+
MUST use this exact format:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
══════════════════════════════════
|
|
87
|
+
ARCH: <question short form>
|
|
88
|
+
══════════════════════════════════
|
|
89
|
+
|
|
90
|
+
Context:
|
|
91
|
+
Project: <name> | Branch: <branch> | Phase: <current from gameplan>
|
|
92
|
+
Related files: <N> analyzed
|
|
93
|
+
Existing patterns: <relevant conventions/patterns found>
|
|
94
|
+
Related ADRs: <list or "none">
|
|
95
|
+
|
|
96
|
+
── Option A: <name> ──
|
|
97
|
+
|
|
98
|
+
<summary>
|
|
99
|
+
|
|
100
|
+
How: <concrete description>
|
|
101
|
+
Pros:
|
|
102
|
+
+ <specific pro>
|
|
103
|
+
+ <specific pro>
|
|
104
|
+
Cons:
|
|
105
|
+
- <specific con>
|
|
106
|
+
- <specific con>
|
|
107
|
+
Conventions: matches / deviates (<what>)
|
|
108
|
+
Effort: small / medium / large
|
|
109
|
+
Risk: <what could go wrong>
|
|
110
|
+
|
|
111
|
+
── Option B: <name> ──
|
|
112
|
+
|
|
113
|
+
<same structure>
|
|
114
|
+
|
|
115
|
+
── Option C: <name> (if applicable) ──
|
|
116
|
+
|
|
117
|
+
<same structure>
|
|
118
|
+
|
|
119
|
+
── Perspective conflicts ──
|
|
120
|
+
|
|
121
|
+
<if perspectives disagree — describe the conflict and how recommendation resolves it>
|
|
122
|
+
|
|
123
|
+
── RECOMMENDATION ──
|
|
124
|
+
|
|
125
|
+
Option <A/B/C>: <name>
|
|
126
|
+
|
|
127
|
+
Justification:
|
|
128
|
+
<why this one>
|
|
129
|
+
<which perspective it optimizes for>
|
|
130
|
+
<what trade-offs accepted>
|
|
131
|
+
|
|
132
|
+
Next steps:
|
|
133
|
+
1. <concrete action>
|
|
134
|
+
2. <concrete action>
|
|
135
|
+
|
|
136
|
+
Record this decision? → /vault:adr
|
|
137
|
+
|
|
138
|
+
══════════════════════════════════
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Rules
|
|
142
|
+
|
|
143
|
+
- **Read-only** — NEVER modify any file. VIOLATION = ABORT.
|
|
144
|
+
- **MUST propose 2-3 options** — not 1 ("here's what you should do"), not 5+ (analysis paralysis)
|
|
145
|
+
- **Evidence-based** — every claim MUST reference a specific file or vault entry. No "generally speaking".
|
|
146
|
+
- **Concrete** — "move auth logic to src/auth/middleware.ts" not "consider separating concerns"
|
|
147
|
+
- **Stack-aware** — options MUST be feasible with current stack from stack.md
|
|
148
|
+
- **Convention-aware** — flag if option violates conventions.md, justify why it's worth deviating
|
|
149
|
+
- **No code** — describe what to do, not how to implement. Implementation is coder's job.
|
|
150
|
+
- **Offer ADR** — always end with suggestion to record as ADR if decision is significant
|
|
@@ -300,12 +300,15 @@ After creation:
|
|
|
300
300
|
|
|
301
301
|
## Rules
|
|
302
302
|
|
|
303
|
-
- **Gate criteria:** each phase
|
|
304
|
-
- **
|
|
305
|
-
- **Be specific** — "TypeScript 5.x with strict mode" not "typed language"
|
|
306
|
-
- **
|
|
303
|
+
- **Gate criteria:** each phase REQUIRES explicit user approval before writing. Do NOT skip approval.
|
|
304
|
+
- **APPEND ONLY** — use Edit tool to append. NEVER use Write tool on existing vault files.
|
|
305
|
+
- **Be specific** — "TypeScript 5.x with strict mode" not "typed language". Vague = rewrite.
|
|
306
|
+
- **Verify versions** — MUST use context7 MCP for library versions. No guessing from training data.
|
|
307
|
+
- **Derive when implicit** — if spec says "REST API" but not "Express", MUST research and propose with rationale
|
|
307
308
|
- **Skip empty phases** — if spec has no data model, skip 3b entirely
|
|
308
|
-
- **No secrets** —
|
|
309
|
-
- **Reference spec** — cite which part of the spec each item comes from
|
|
309
|
+
- **No secrets** — NEVER include API keys, passwords, or credentials
|
|
310
|
+
- **Reference spec** — MUST cite which part of the spec each item comes from
|
|
311
|
+
- **No "best-effort"** — every item MUST be verified against spec or codebase
|
|
310
312
|
- **Multi-perspective on architecture only** — other phases use single-pass analysis
|
|
311
313
|
- **Gameplan phases are coarse** — detailed task breakdown happens in `/task` and `/workflow`
|
|
314
|
+
- **Gameplan phases are coarse** — detailed task breakdown happens in `/task` and `/workflow`
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# /vault:project-review — Full project audit
|
|
2
|
+
|
|
3
|
+
Read-only comprehensive audit of the project. Checks vault, architecture, tests, security, debt, conventions, and production readiness. Does NOT modify any files.
|
|
4
|
+
|
|
5
|
+
## Permissions
|
|
6
|
+
|
|
7
|
+
- Read files: YES
|
|
8
|
+
- Write/Edit files: FORBIDDEN
|
|
9
|
+
- Bash: ONLY `npm test`, `npm run build`, `npm run lint` (or stack equivalent) — for checking, not fixing
|
|
10
|
+
|
|
11
|
+
## Procedure
|
|
12
|
+
|
|
13
|
+
### Step 1: Load vault context
|
|
14
|
+
|
|
15
|
+
MUST read ALL vault files:
|
|
16
|
+
- `.dev-vault/stack.md`
|
|
17
|
+
- `.dev-vault/conventions.md`
|
|
18
|
+
- `.dev-vault/knowledge.md`
|
|
19
|
+
- `.dev-vault/gameplan.md`
|
|
20
|
+
- `.dev-vault/phases/` — all phase files (check status: done/pending)
|
|
21
|
+
- `.dev-vault/tasks/` — all tasks (check statuses)
|
|
22
|
+
- `.dev-vault/architecture/` — all ADR records
|
|
23
|
+
- `.dev-vault/bugs/` — all bug records
|
|
24
|
+
- `.dev-vault/debt/` — all debt records
|
|
25
|
+
|
|
26
|
+
### Step 2: Scan codebase
|
|
27
|
+
|
|
28
|
+
Use Agent (Explore subagent) to:
|
|
29
|
+
1. Map project structure (top-level dirs, file count per dir)
|
|
30
|
+
2. Read 15-20 representative files (entry points, core modules, tests, configs)
|
|
31
|
+
3. Run `npm test` (or stack equivalent) — record pass/fail count
|
|
32
|
+
4. Run `npm run build` — record success/failure
|
|
33
|
+
5. Search for: TODO, FIXME, HACK, console.log, hardcoded secrets patterns
|
|
34
|
+
|
|
35
|
+
### Step 3: Analyze from 7 perspectives
|
|
36
|
+
|
|
37
|
+
MUST evaluate ALL 7 — do not skip any.
|
|
38
|
+
|
|
39
|
+
**1. Vault completeness**
|
|
40
|
+
- All 4 sections filled (not just frontmatter)?
|
|
41
|
+
- knowledge.md reflects actual architecture (not outdated)?
|
|
42
|
+
- gameplan.md reflects actual progress (phases done match code)?
|
|
43
|
+
- conventions.md matches real code patterns?
|
|
44
|
+
- Unrecorded ADRs, bugs, or debt visible in code?
|
|
45
|
+
|
|
46
|
+
**2. Architecture**
|
|
47
|
+
- Dependency direction correct? (inner layers don't import outer)
|
|
48
|
+
- Single Responsibility: files/modules do one thing?
|
|
49
|
+
- God objects: any file/class doing too much?
|
|
50
|
+
- Layer separation clean? (no domain logic in controllers, no infra in domain)
|
|
51
|
+
- Circular dependencies?
|
|
52
|
+
|
|
53
|
+
**3. Test coverage**
|
|
54
|
+
- All public modules have tests?
|
|
55
|
+
- Tests cover: happy path, edge cases, error paths?
|
|
56
|
+
- Test quality: meaningful assertions, not just "doesn't throw"?
|
|
57
|
+
- Test isolation: no shared state?
|
|
58
|
+
- Integration tests exist for critical paths?
|
|
59
|
+
|
|
60
|
+
**4. Security**
|
|
61
|
+
- OWASP Top 10 patterns in code?
|
|
62
|
+
- Hardcoded secrets, API keys, passwords?
|
|
63
|
+
- Input validation at system boundaries?
|
|
64
|
+
- Auth/AuthZ where needed?
|
|
65
|
+
- Dependencies: known vulnerabilities? (`npm audit` or equivalent)
|
|
66
|
+
|
|
67
|
+
**5. Tech debt**
|
|
68
|
+
- Recorded debt in `.dev-vault/debt/` — still relevant?
|
|
69
|
+
- Unrecorded debt visible in code? (TODO, FIXME, HACK, workarounds)
|
|
70
|
+
- Files over 300 lines?
|
|
71
|
+
- Functions over 30 lines?
|
|
72
|
+
- Dead code, unused imports?
|
|
73
|
+
|
|
74
|
+
**6. Production readiness**
|
|
75
|
+
- Error handling: all external calls have error paths + timeouts?
|
|
76
|
+
- Logging: structured logging, no console.log?
|
|
77
|
+
- Config: no hardcoded values that should be env/config?
|
|
78
|
+
- Graceful shutdown?
|
|
79
|
+
- Idempotent operations where needed?
|
|
80
|
+
|
|
81
|
+
**7. Convention compliance**
|
|
82
|
+
- Code matches `.dev-vault/conventions.md`?
|
|
83
|
+
- Naming consistent? (check 10+ files)
|
|
84
|
+
- File structure matches conventions?
|
|
85
|
+
- Git commit style consistent?
|
|
86
|
+
- Test patterns consistent?
|
|
87
|
+
|
|
88
|
+
### Step 4: Score and report
|
|
89
|
+
|
|
90
|
+
## Output format
|
|
91
|
+
|
|
92
|
+
MUST use this exact format:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
══════════════════════════════════
|
|
96
|
+
PROJECT REVIEW: <name>
|
|
97
|
+
══════════════════════════════════
|
|
98
|
+
|
|
99
|
+
Branch: <branch>
|
|
100
|
+
Date: <today>
|
|
101
|
+
Files scanned: <N>
|
|
102
|
+
Tests: <N passed> / <N total>
|
|
103
|
+
Build: pass / fail
|
|
104
|
+
|
|
105
|
+
── SCORES ──
|
|
106
|
+
|
|
107
|
+
| Perspective | Score | Issues |
|
|
108
|
+
|---------------------|-------|--------|
|
|
109
|
+
| Vault completeness | A/B/C/D/F | <N> |
|
|
110
|
+
| Architecture | A/B/C/D/F | <N> |
|
|
111
|
+
| Test coverage | A/B/C/D/F | <N> |
|
|
112
|
+
| Security | A/B/C/D/F | <N> |
|
|
113
|
+
| Tech debt | A/B/C/D/F | <N> |
|
|
114
|
+
| Production readiness| A/B/C/D/F | <N> |
|
|
115
|
+
| Convention compliance| A/B/C/D/F | <N> |
|
|
116
|
+
|
|
117
|
+
Overall: <weighted average> / A
|
|
118
|
+
|
|
119
|
+
── CRITICAL (must fix) ──
|
|
120
|
+
|
|
121
|
+
- [SEVERITY] [perspective] <file:line> — <issue>
|
|
122
|
+
Fix: <concrete suggestion>
|
|
123
|
+
|
|
124
|
+
── HIGH (should fix) ──
|
|
125
|
+
|
|
126
|
+
- [SEVERITY] [perspective] <file:line> — <issue>
|
|
127
|
+
Fix: <suggestion>
|
|
128
|
+
|
|
129
|
+
── MEDIUM (consider) ──
|
|
130
|
+
|
|
131
|
+
- [perspective] <issue summary>
|
|
132
|
+
|
|
133
|
+
── VAULT GAPS ──
|
|
134
|
+
|
|
135
|
+
- <what's missing or outdated in vault>
|
|
136
|
+
|
|
137
|
+
── TECH DEBT INVENTORY ──
|
|
138
|
+
|
|
139
|
+
Recorded: <N> items in .dev-vault/debt/
|
|
140
|
+
Unrecorded: <N> items found in code
|
|
141
|
+
- <file:line> — <debt description>
|
|
142
|
+
|
|
143
|
+
── RECOMMENDATIONS ──
|
|
144
|
+
|
|
145
|
+
1. <highest priority action>
|
|
146
|
+
2. <second priority>
|
|
147
|
+
3. <third priority>
|
|
148
|
+
|
|
149
|
+
── GAMEPLAN vs REALITY ──
|
|
150
|
+
|
|
151
|
+
| Phase | Gameplan status | Actual status | Match |
|
|
152
|
+
|-------|----------------|---------------|-------|
|
|
153
|
+
| Phase 1 | done | <code evidence> | yes/no |
|
|
154
|
+
| Phase 2 | done | <code evidence> | yes/no |
|
|
155
|
+
| ... | ... | ... | ... |
|
|
156
|
+
|
|
157
|
+
══════════════════════════════════
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Scoring criteria
|
|
161
|
+
|
|
162
|
+
| Score | Meaning |
|
|
163
|
+
|-------|---------|
|
|
164
|
+
| **A** | Excellent — no issues or only style nits |
|
|
165
|
+
| **B** | Good — minor issues, no blockers |
|
|
166
|
+
| **C** | Acceptable — some issues need attention |
|
|
167
|
+
| **D** | Poor — significant issues, blocks production readiness |
|
|
168
|
+
| **F** | Failing — critical issues, not safe to ship |
|
|
169
|
+
|
|
170
|
+
## Rules
|
|
171
|
+
|
|
172
|
+
- **Read-only** — NEVER modify any file. VIOLATION = ABORT.
|
|
173
|
+
- **All 7 perspectives REQUIRED** — do not skip any. Each MUST produce a score.
|
|
174
|
+
- **Evidence-based** — every finding MUST reference a specific file:line. No vague claims.
|
|
175
|
+
- **MUST scan minimum 15 files** — representative sample across all modules
|
|
176
|
+
- **MUST run tests and build** — report actual results, not assumptions
|
|
177
|
+
- **Compare vault with code** — vault says X, code does Y → flag discrepancy
|
|
178
|
+
- **Recorded debt review** — check if existing debt records are still relevant or resolved
|
|
179
|
+
- **No "best-effort"** — if you can't verify something, say "NOT VERIFIED" with reason
|
|
@@ -58,6 +58,9 @@ Step 7: Read steps/test.md → run build + lint + tests
|
|
|
58
58
|
Step 8: Read steps/verify.md → launch Explore agent → COMPLETE / INCOMPLETE
|
|
59
59
|
Step 9: Read steps/commit.md → stage + commit (interactive or autonomous)
|
|
60
60
|
Step 9b: Read steps/vault-updates.md → update daily log, task status
|
|
61
|
+
|
|
62
|
+
ON STOP (pipeline aborted at any step):
|
|
63
|
+
Read steps/vault-updates.md → record findings, ADR, debt BEFORE stopping
|
|
61
64
|
```
|
|
62
65
|
|
|
63
66
|
### Phase mode
|
|
@@ -138,6 +141,14 @@ Agents:
|
|
|
138
141
|
VERIFY [Explore] — [verdict]
|
|
139
142
|
COMMIT [git] — [hash]
|
|
140
143
|
|
|
144
|
+
[If review found gotchas:] Gotchas → knowledge.md
|
|
145
|
+
[If architecture concerns:] Concerns → knowledge.md
|
|
146
|
+
|
|
147
|
+
Vault records auto-created:
|
|
148
|
+
[If PLAN had deviations:] ADR → .dev-vault/architecture/<slug>.md
|
|
149
|
+
[If REVIEW CRITICAL/HIGH fixed:] Bug → .dev-vault/bugs/<slug>.md
|
|
150
|
+
[If CODER skipped MEDIUM:] Debt → .dev-vault/debt/<slug>.md
|
|
151
|
+
|
|
141
152
|
═══════════════════════════════
|
|
142
153
|
```
|
|
143
154
|
|
|
@@ -4,11 +4,16 @@ Orchestrator runs directly (no subagent).
|
|
|
4
4
|
|
|
5
5
|
## Phase mode: auto-create tasks
|
|
6
6
|
|
|
7
|
-
If argument is a phase file
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
If argument is a phase file, call MCP tool `task_create_from_phase`:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
task_create_from_phase(phaseFile: "<path to phase file>")
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This parses `## Tasks` from the phase file and creates missing tasks automatically.
|
|
14
|
+
Returns: `{ created: [...], skipped: [...] }`.
|
|
15
|
+
|
|
16
|
+
Display the result before proceeding.
|
|
12
17
|
|
|
13
18
|
## Baseline check
|
|
14
19
|
|
|
@@ -17,6 +17,9 @@ You are a reader agent. Gather context for the task below.
|
|
|
17
17
|
3. Read relevant files (max 10 files, 500 lines each)
|
|
18
18
|
4. Find dependencies and tests for those files
|
|
19
19
|
5. Find how similar things are done in the project
|
|
20
|
+
6. Scan .dev-vault/architecture/ for ADR records related to this task
|
|
21
|
+
7. Scan .dev-vault/bugs/ for known bugs in affected areas
|
|
22
|
+
8. Scan .dev-vault/debt/ for known debt in affected areas
|
|
20
23
|
|
|
21
24
|
## Output Format
|
|
22
25
|
CONTEXT:
|
|
@@ -26,6 +29,9 @@ Dependencies: [files depending on changes]
|
|
|
26
29
|
Tests: [existing tests for those files]
|
|
27
30
|
Patterns found: [how similar things are solved]
|
|
28
31
|
Relevant code: [key fragments]
|
|
32
|
+
Related ADRs: [from .dev-vault/architecture/ or "none"]
|
|
33
|
+
Known bugs: [from .dev-vault/bugs/ or "none"]
|
|
34
|
+
Known debt: [from .dev-vault/debt/ or "none"]
|
|
29
35
|
END_CONTEXT
|
|
30
36
|
```
|
|
31
37
|
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
# Step 9b: Vault updates (after commit)
|
|
1
|
+
# Step 9b: Vault updates (after commit OR pipeline stop)
|
|
2
2
|
|
|
3
|
-
Orchestrator writes
|
|
3
|
+
Orchestrator writes to vault after successful commit AND when pipeline stops/aborts.
|
|
4
4
|
Use **Edit tool** to append — **never overwrite** existing vault files.
|
|
5
5
|
|
|
6
|
+
**IMPORTANT:** Vault writes MUST happen even if pipeline did not reach COMMIT.
|
|
7
|
+
If pipeline stopped at REVIEW (blocker), TEST (fail), or VERIFY (incomplete) —
|
|
8
|
+
still record findings, decisions, and deferred work before stopping.
|
|
9
|
+
|
|
6
10
|
## 1. Daily log
|
|
7
11
|
|
|
8
12
|
Append to `.dev-vault/daily/<today>.md`:
|
|
@@ -46,3 +50,53 @@ After each subtask complete:
|
|
|
46
50
|
- Re-read `.dev-vault/conventions.md` (may have new patterns from review)
|
|
47
51
|
- Re-read `.dev-vault/knowledge.md` (may have new gotchas from review)
|
|
48
52
|
- Pass updated vault content to next subtask's CODER and REVIEW agents
|
|
53
|
+
|
|
54
|
+
## 5. Auto-create vault records
|
|
55
|
+
|
|
56
|
+
Create records automatically using MCP tool `vault_record(type, title, content)`.
|
|
57
|
+
Data is already in pipeline context — no need to ask the user.
|
|
58
|
+
|
|
59
|
+
### ADR (architecture decisions)
|
|
60
|
+
|
|
61
|
+
Create if PLAN contained:
|
|
62
|
+
- DEVIATION from conventions (with justification)
|
|
63
|
+
- Architecture section with alternatives considered
|
|
64
|
+
- Dependency direction change or new layer introduced
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
vault_record(type: "adr", title: "<decision>", content: "Context: <from PLAN>\nDecision: <what was chosen>\nAlternatives: <from PLAN Architecture section>\nConsequences: <trade-offs>")
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Bug (fixed issues)
|
|
71
|
+
|
|
72
|
+
Create if REVIEW found CRITICAL or HIGH and CODER fixed it:
|
|
73
|
+
- Root cause was non-obvious
|
|
74
|
+
- Fix required understanding of system internals
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
vault_record(type: "bug", title: "<issue summary>", content: "Symptoms: <from REVIEW issue>\nRoot cause: <from CODE_FIX>\nFix: <what was changed>\nPrevention: <how to avoid>")
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Debt (deferred work)
|
|
81
|
+
|
|
82
|
+
Create if CODER skipped MEDIUM review issues:
|
|
83
|
+
- Issue acknowledged but not fixed
|
|
84
|
+
- Reason documented in CODE_FIX Skipped section
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
vault_record(type: "debt", title: "<deferred issue>", content: "Problem: <from REVIEW issue>\nWhy deferred: <from CODE_FIX Skipped reason>\nProposal: <suggested fix>\nRisk if ignored: <impact>")
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Rules
|
|
91
|
+
|
|
92
|
+
- Only create if data exists in pipeline context (PLAN, REVIEW, CODE_FIX blocks)
|
|
93
|
+
- Do NOT create for: LOW/style issues, clean pipelines with no findings, trivial bugs
|
|
94
|
+
- One record per significant finding, not one per REVIEW issue
|
|
95
|
+
- Display created records in summary:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Vault records created:
|
|
99
|
+
ADR: .dev-vault/architecture/<date>-<slug>.md
|
|
100
|
+
Bug: .dev-vault/bugs/<date>-<slug>.md
|
|
101
|
+
Debt: .dev-vault/debt/<date>-<slug>.md
|
|
102
|
+
```
|