@engramm/dev-workflow 0.1.2 → 0.1.4
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 +7 -4
- package/dist/cli/doctor.d.ts +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +96 -8
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +6 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +131 -19
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/update.d.ts +2 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +45 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/hooks/post-edit.js +11 -10
- package/dist/hooks/post-edit.js.map +1 -1
- package/dist/hooks/post-task.js +12 -10
- package/dist/hooks/post-task.js.map +1 -1
- package/dist/hooks/pre-compact.d.ts +0 -4
- package/dist/hooks/pre-compact.d.ts.map +1 -1
- package/dist/hooks/pre-compact.js +12 -14
- package/dist/hooks/pre-compact.js.map +1 -1
- package/dist/hooks/session-end.js +11 -13
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/hooks/session-start.js +15 -12
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/stdin.d.ts +23 -0
- package/dist/hooks/stdin.d.ts.map +1 -0
- package/dist/hooks/stdin.js +35 -0
- package/dist/hooks/stdin.js.map +1 -0
- package/dist/lib/types.d.ts +0 -5
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/writer.d.ts.map +1 -1
- package/dist/lib/writer.js +1 -0
- package/dist/lib/writer.js.map +1 -1
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +3 -0
- package/dist/mcp/handlers.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/commands/vault/from-spec.md +7 -2
- package/templates/claude/commands/workflow/dev.md +63 -2
package/README.md
CHANGED
|
@@ -26,9 +26,11 @@ dev-workflow gives it a **strict protocol**: every task goes through a 10-step p
|
|
|
26
26
|
- **Intelligence** — pattern graph with scoring (recency, frequency, context match)
|
|
27
27
|
- **Phase mode** — break large specs into phases, code each subtask separately
|
|
28
28
|
- **Interactive & autonomous** — ask before commit (default) or auto-commit for swarm use
|
|
29
|
-
- **13 MCP tools** — programmatic access to vault, tasks, intelligence
|
|
30
|
-
- **5 hooks** —
|
|
29
|
+
- **13 MCP tools** — programmatic access to vault, tasks, intelligence (via `.mcp.json`)
|
|
30
|
+
- **5 hooks** — SessionStart, SessionEnd, PostToolUse, TaskCompleted, PreCompact
|
|
31
31
|
- **From spec to code** — `/vault:from-spec` fills vault from SPEC.md in 4 phased steps
|
|
32
|
+
- **Auto-setup** — `init` generates CLAUDE.md, permissions, .mcp.json, stack-based .gitignore
|
|
33
|
+
- **Plan persistence** — approved plans saved to vault for audit and session resume
|
|
32
34
|
|
|
33
35
|
## Quick Start
|
|
34
36
|
|
|
@@ -127,9 +129,10 @@ Violation = immediate pipeline abort.
|
|
|
127
129
|
## CLI
|
|
128
130
|
|
|
129
131
|
```bash
|
|
130
|
-
dev-workflow init [--force] [--detect] # Initialize vault
|
|
132
|
+
dev-workflow init [--force] [--detect] # Initialize vault, hooks, CLAUDE.md, .mcp.json
|
|
133
|
+
dev-workflow update # Update commands/agents from package
|
|
131
134
|
dev-workflow status # Vault and workflow status
|
|
132
|
-
dev-workflow doctor [--fix] # Health check
|
|
135
|
+
dev-workflow doctor [--fix] # Health check (vault, hooks, .mcp.json, permissions)
|
|
133
136
|
dev-workflow task create|list|start|done # Task management
|
|
134
137
|
dev-workflow agent list|show|run # Agent management
|
|
135
138
|
dev-workflow run dev|hotfix|review|test # CLI workflows
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function doctor(fix?: boolean): void
|
|
1
|
+
export declare function doctor(fix?: boolean): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=doctor.d.ts.map
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAiCA,wBAAsB,MAAM,CAAC,GAAG,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKhE"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -19,7 +19,16 @@ function countCustomWorkflows(vaultPath) {
|
|
|
19
19
|
return 0;
|
|
20
20
|
return readdirSync(workflowsDir).filter((f) => f.endsWith(".yaml") || f.endsWith(".yml")).length;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
const VALID_HOOK_EVENTS = new Set([
|
|
23
|
+
"PreToolUse", "PostToolUse", "PostToolUseFailure", "Notification",
|
|
24
|
+
"UserPromptSubmit", "SessionStart", "SessionEnd", "Stop", "StopFailure",
|
|
25
|
+
"SubagentStart", "SubagentStop", "PreCompact", "PostCompact",
|
|
26
|
+
"PermissionRequest", "PermissionDenied", "Setup", "TeammateIdle",
|
|
27
|
+
"TaskCreated", "TaskCompleted", "Elicitation", "ElicitationResult",
|
|
28
|
+
"ConfigChange", "WorktreeCreate", "WorktreeRemove",
|
|
29
|
+
"InstructionsLoaded", "CwdChanged", "FileChanged",
|
|
30
|
+
]);
|
|
31
|
+
export async function doctor(fix = false) {
|
|
23
32
|
const context = detectContext();
|
|
24
33
|
if (!context) {
|
|
25
34
|
console.error("Not a git repository.");
|
|
@@ -29,6 +38,7 @@ export function doctor(fix = false) {
|
|
|
29
38
|
console.log(`\n${icon.doctor} dev-workflow doctor\n`);
|
|
30
39
|
const issues = [];
|
|
31
40
|
const reader = new VaultReader(context);
|
|
41
|
+
// Vault
|
|
32
42
|
if (reader.exists()) {
|
|
33
43
|
console.log(` ${icon.success} Vault .dev-vault/ exists`);
|
|
34
44
|
}
|
|
@@ -38,6 +48,7 @@ export function doctor(fix = false) {
|
|
|
38
48
|
printIssues(issues);
|
|
39
49
|
return;
|
|
40
50
|
}
|
|
51
|
+
// Vault files
|
|
41
52
|
const vaultFiles = [
|
|
42
53
|
["stack.md", "stack"],
|
|
43
54
|
["conventions.md", "conventions"],
|
|
@@ -59,6 +70,7 @@ export function doctor(fix = false) {
|
|
|
59
70
|
console.log(` ${icon.success} ${label.padEnd(16)} filled (${lines} lines)`);
|
|
60
71
|
}
|
|
61
72
|
}
|
|
73
|
+
// Agents
|
|
62
74
|
const agentsDir = join(PACKAGE_ROOT, "templates", "agents");
|
|
63
75
|
const customAgentsDir = join(context.vaultPath, "agents");
|
|
64
76
|
try {
|
|
@@ -70,6 +82,7 @@ export function doctor(fix = false) {
|
|
|
70
82
|
console.log(` Agents: FAILED to load`);
|
|
71
83
|
issues.push("Agent loading failed — check templates/agents/");
|
|
72
84
|
}
|
|
85
|
+
// Tasks
|
|
73
86
|
const taskManager = new TaskManager(context.vaultPath);
|
|
74
87
|
const tasks = taskManager.list();
|
|
75
88
|
if (tasks.length > 0) {
|
|
@@ -83,24 +96,99 @@ export function doctor(fix = false) {
|
|
|
83
96
|
else {
|
|
84
97
|
console.log(` Tasks: none`);
|
|
85
98
|
}
|
|
99
|
+
// Workflows
|
|
86
100
|
const builtinCount = getBuiltinWorkflows().length;
|
|
87
101
|
const customCount = countCustomWorkflows(context.vaultPath);
|
|
88
102
|
console.log(` Workflows: ${builtinCount} builtin${customCount > 0 ? ` + ${customCount} custom` : ""}`);
|
|
103
|
+
// CLAUDE.md
|
|
104
|
+
const claudeMdPath = join(context.projectRoot, "CLAUDE.md");
|
|
105
|
+
if (existsSync(claudeMdPath)) {
|
|
106
|
+
console.log(` ${icon.success} CLAUDE.md exists`);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log(` ${icon.warning} CLAUDE.md MISSING`);
|
|
110
|
+
issues.push("CLAUDE.md not found — run 'dev-workflow init'");
|
|
111
|
+
}
|
|
112
|
+
// .mcp.json
|
|
113
|
+
const mcpJsonPath = join(context.projectRoot, ".mcp.json");
|
|
114
|
+
if (existsSync(mcpJsonPath)) {
|
|
115
|
+
try {
|
|
116
|
+
const mcpConfig = JSON.parse(readFileSync(mcpJsonPath, "utf-8"));
|
|
117
|
+
const servers = mcpConfig["mcpServers"];
|
|
118
|
+
if (servers?.["dev-workflow"]) {
|
|
119
|
+
console.log(` ${icon.success} .mcp.json dev-workflow configured`);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
console.log(` ${icon.warning} .mcp.json exists but dev-workflow missing`);
|
|
123
|
+
issues.push(".mcp.json exists but dev-workflow server not configured");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
console.log(` ${icon.error} .mcp.json invalid JSON`);
|
|
128
|
+
issues.push(".mcp.json is not valid JSON");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.log(` ${icon.error} .mcp.json MISSING`);
|
|
133
|
+
issues.push(".mcp.json not found — run 'dev-workflow init'");
|
|
134
|
+
}
|
|
135
|
+
// settings.json + hooks validation
|
|
89
136
|
const settingsPath = join(context.projectRoot, ".claude", "settings.json");
|
|
90
137
|
if (existsSync(settingsPath)) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
138
|
+
try {
|
|
139
|
+
const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
|
|
140
|
+
const hooks = settings["hooks"];
|
|
141
|
+
if (hooks) {
|
|
142
|
+
const invalidEvents = Object.keys(hooks).filter((e) => !VALID_HOOK_EVENTS.has(e));
|
|
143
|
+
if (invalidEvents.length > 0) {
|
|
144
|
+
console.log(` ${icon.error} Hooks invalid events: ${invalidEvents.join(", ")}`);
|
|
145
|
+
issues.push(`Invalid hook events: ${invalidEvents.join(", ")} — valid: SessionStart, SessionEnd, PostToolUse, TaskCompleted, PreCompact`);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(` ${icon.success} Hooks ${Object.keys(hooks).length} events configured`);
|
|
149
|
+
}
|
|
150
|
+
for (const [eventName, eventConfigs] of Object.entries(hooks)) {
|
|
151
|
+
const configs = eventConfigs;
|
|
152
|
+
for (const config of configs) {
|
|
153
|
+
for (const hook of config.hooks ?? []) {
|
|
154
|
+
if (hook.command) {
|
|
155
|
+
const nodePath = hook.command.replace(/^node\s+/, "").split(" ")[0];
|
|
156
|
+
if (!existsSync(nodePath)) {
|
|
157
|
+
console.log(` ${icon.error} Hook path ${eventName}: file not found`);
|
|
158
|
+
issues.push(`Hook ${eventName}: ${nodePath} does not exist — run 'dev-workflow init --force'`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
console.log(` ${icon.warning} Hooks none configured`);
|
|
167
|
+
issues.push("No hooks in settings.json — run 'dev-workflow init'");
|
|
168
|
+
}
|
|
169
|
+
const perms = settings["permissions"];
|
|
170
|
+
if (perms) {
|
|
171
|
+
const allowCount = perms["allow"]?.length ?? 0;
|
|
172
|
+
const denyCount = perms["deny"]?.length ?? 0;
|
|
173
|
+
console.log(` ${icon.success} Permissions ${allowCount} allow, ${denyCount} deny`);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
console.log(` ${icon.warning} Permissions none configured`);
|
|
177
|
+
issues.push("No permissions in settings.json — run 'dev-workflow init --force'");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
console.log(` ${icon.error} Settings invalid JSON`);
|
|
182
|
+
issues.push(".claude/settings.json is not valid JSON");
|
|
183
|
+
}
|
|
96
184
|
}
|
|
97
185
|
else {
|
|
98
|
-
console.log(`
|
|
186
|
+
console.log(` ${icon.error} Settings .claude/settings.json MISSING`);
|
|
99
187
|
issues.push("Settings not found — run 'dev-workflow init'");
|
|
100
188
|
}
|
|
101
189
|
if (fix && issues.length > 0) {
|
|
102
190
|
console.log("\n Fixing...");
|
|
103
|
-
const { init } =
|
|
191
|
+
const { init } = await import("./init.js");
|
|
104
192
|
init({ force: true, detectOnly: false });
|
|
105
193
|
console.log(" Fixed: re-ran init --force");
|
|
106
194
|
}
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE/E,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAe,KAAK;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { doctor } from "./doctor.js";
|
|
|
8
8
|
import { search } from "./search.js";
|
|
9
9
|
import { exportVault, importVault } from "./vault-io.js";
|
|
10
10
|
import { config } from "./config.js";
|
|
11
|
+
import { update } from "./update.js";
|
|
11
12
|
const args = process.argv.slice(2);
|
|
12
13
|
const command = args[0];
|
|
13
14
|
function handleAsyncError(error) {
|
|
@@ -31,6 +32,7 @@ Usage:
|
|
|
31
32
|
dev-workflow config get|set|show Manage settings
|
|
32
33
|
dev-workflow export [file.json] Export vault to JSON
|
|
33
34
|
dev-workflow import <file.json> Import vault from JSON
|
|
35
|
+
dev-workflow update Update commands/agents from package
|
|
34
36
|
dev-workflow doctor [--fix] Check vault health
|
|
35
37
|
dev-workflow serve Start MCP server
|
|
36
38
|
dev-workflow help Show this help
|
|
@@ -73,8 +75,11 @@ switch (command) {
|
|
|
73
75
|
case "import":
|
|
74
76
|
importVault(args.slice(1));
|
|
75
77
|
break;
|
|
78
|
+
case "update":
|
|
79
|
+
update();
|
|
80
|
+
break;
|
|
76
81
|
case "doctor":
|
|
77
|
-
doctor(args.includes("--fix"));
|
|
82
|
+
doctor(args.includes("--fix")).catch(handleAsyncError);
|
|
78
83
|
break;
|
|
79
84
|
case "serve": {
|
|
80
85
|
import("./serve.js").then((m) => m.serve()).catch(handleAsyncError);
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,SAAS,gBAAgB,CAAC,KAAc;IACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAYA,UAAU,WAAW;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAYA,UAAU,WAAW;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgJD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA4F/C"}
|
package/dist/cli/init.js
CHANGED
|
@@ -18,12 +18,43 @@ function writeIfMissing(filepath, content, force) {
|
|
|
18
18
|
console.log(` create ${filepath}`);
|
|
19
19
|
return true;
|
|
20
20
|
}
|
|
21
|
+
function mergeSettingsJson(filepath, newSettings) {
|
|
22
|
+
let existing = {};
|
|
23
|
+
if (existsSync(filepath)) {
|
|
24
|
+
try {
|
|
25
|
+
existing = JSON.parse(readFileSync(filepath, "utf-8"));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
existing = {};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const existingHooks = (existing["hooks"] ?? {});
|
|
32
|
+
const newHooks = (newSettings["hooks"] ?? {});
|
|
33
|
+
const mergedHooks = { ...existingHooks, ...newHooks };
|
|
34
|
+
const existingPerms = (existing["permissions"] ?? {});
|
|
35
|
+
const newPerms = (newSettings["permissions"] ?? {});
|
|
36
|
+
const existingAllow = (existingPerms["allow"] ?? []);
|
|
37
|
+
const newAllow = (newPerms["allow"] ?? []);
|
|
38
|
+
const existingDeny = (existingPerms["deny"] ?? []);
|
|
39
|
+
const newDeny = (newPerms["deny"] ?? []);
|
|
40
|
+
const mergedPerms = {
|
|
41
|
+
allow: [...new Set([...existingAllow, ...newAllow])],
|
|
42
|
+
deny: [...new Set([...existingDeny, ...newDeny])],
|
|
43
|
+
};
|
|
44
|
+
const merged = {
|
|
45
|
+
...existing,
|
|
46
|
+
hooks: mergedHooks,
|
|
47
|
+
permissions: mergedPerms,
|
|
48
|
+
statusLine: newSettings["statusLine"],
|
|
49
|
+
};
|
|
50
|
+
mkdirSync(dirname(filepath), { recursive: true });
|
|
51
|
+
writeFileSync(filepath, JSON.stringify(merged, null, 2), "utf-8");
|
|
52
|
+
}
|
|
21
53
|
function buildSettingsJson() {
|
|
22
54
|
// Resolve paths from the actual package location (works for npm link, global, and local installs)
|
|
23
55
|
const distDir = join(PACKAGE_ROOT, "dist");
|
|
24
56
|
const hookBase = join(distDir, "hooks");
|
|
25
57
|
const statuslinePath = join(distDir, "lib", "statusline.js");
|
|
26
|
-
const mcpServerPath = join(distDir, "cli", "serve.js");
|
|
27
58
|
return JSON.stringify({
|
|
28
59
|
hooks: {
|
|
29
60
|
SessionStart: [{
|
|
@@ -40,14 +71,15 @@ function buildSettingsJson() {
|
|
|
40
71
|
timeout: 10000,
|
|
41
72
|
}],
|
|
42
73
|
}],
|
|
43
|
-
|
|
74
|
+
PostToolUse: [{
|
|
75
|
+
matcher: "Write|Edit|MultiEdit",
|
|
44
76
|
hooks: [{
|
|
45
77
|
type: "command",
|
|
46
78
|
command: `node ${hookBase}/post-edit.js`,
|
|
47
79
|
timeout: 5000,
|
|
48
80
|
}],
|
|
49
81
|
}],
|
|
50
|
-
|
|
82
|
+
TaskCompleted: [{
|
|
51
83
|
hooks: [{
|
|
52
84
|
type: "command",
|
|
53
85
|
command: `node ${hookBase}/post-task.js`,
|
|
@@ -73,16 +105,43 @@ function buildSettingsJson() {
|
|
|
73
105
|
},
|
|
74
106
|
],
|
|
75
107
|
},
|
|
108
|
+
permissions: {
|
|
109
|
+
allow: [
|
|
110
|
+
"Read",
|
|
111
|
+
"Edit",
|
|
112
|
+
"Write",
|
|
113
|
+
"Bash(npm test)",
|
|
114
|
+
"Bash(npm run *)",
|
|
115
|
+
"Bash(npx *)",
|
|
116
|
+
"Bash(pnpm test)",
|
|
117
|
+
"Bash(pnpm run *)",
|
|
118
|
+
"Bash(node *)",
|
|
119
|
+
"Bash(git status*)",
|
|
120
|
+
"Bash(git diff*)",
|
|
121
|
+
"Bash(git log*)",
|
|
122
|
+
"Bash(git branch*)",
|
|
123
|
+
"Bash(git add *)",
|
|
124
|
+
"Bash(git commit *)",
|
|
125
|
+
"Bash(git stash *)",
|
|
126
|
+
"Bash(ls *)",
|
|
127
|
+
"Bash(cat *)",
|
|
128
|
+
"Bash(pwd)",
|
|
129
|
+
"Bash(wc *)",
|
|
130
|
+
"Agent",
|
|
131
|
+
"mcp__dev-workflow__*",
|
|
132
|
+
],
|
|
133
|
+
deny: [
|
|
134
|
+
"Read(./.env)",
|
|
135
|
+
"Read(./.env.*)",
|
|
136
|
+
"Bash(git push *)",
|
|
137
|
+
"Bash(git reset --hard*)",
|
|
138
|
+
"Bash(rm -rf *)",
|
|
139
|
+
],
|
|
140
|
+
},
|
|
76
141
|
statusLine: {
|
|
77
142
|
type: "command",
|
|
78
143
|
command: `node ${statuslinePath}`,
|
|
79
144
|
},
|
|
80
|
-
mcpServers: {
|
|
81
|
-
"dev-workflow": {
|
|
82
|
-
command: "node",
|
|
83
|
-
args: [mcpServerPath],
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
145
|
}, null, 2);
|
|
87
146
|
}
|
|
88
147
|
export function init(options) {
|
|
@@ -104,8 +163,21 @@ export function init(options) {
|
|
|
104
163
|
if (writeIfMissing(claudeMdPath, renderTemplate("project/claude-md", { projectName: context.projectName }), options.force)) {
|
|
105
164
|
console.log(keyValue("\u2713 CLAUDE.md", "project instructions for Claude Code"));
|
|
106
165
|
}
|
|
107
|
-
// 1.
|
|
108
|
-
|
|
166
|
+
// 1. Merge .claude/settings.json (hooks + permissions + statusLine)
|
|
167
|
+
const settingsPath = join(projectRoot, ".claude", "settings.json");
|
|
168
|
+
const newSettings = JSON.parse(buildSettingsJson());
|
|
169
|
+
mergeSettingsJson(settingsPath, newSettings);
|
|
170
|
+
console.log(` merge ${settingsPath}`);
|
|
171
|
+
// 1b. Create .mcp.json (MCP server — Claude Code reads this for MCP discovery)
|
|
172
|
+
const mcpEntryPath = join(PACKAGE_ROOT, "dist", "cli", "index.js");
|
|
173
|
+
writeIfMissing(join(projectRoot, ".mcp.json"), JSON.stringify({
|
|
174
|
+
mcpServers: {
|
|
175
|
+
"dev-workflow": {
|
|
176
|
+
command: "node",
|
|
177
|
+
args: [mcpEntryPath, "serve"],
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
}, null, 2), options.force);
|
|
109
181
|
// 2. Copy commands from templates
|
|
110
182
|
const commandsTemplateDir = join(PACKAGE_ROOT, "templates", "claude", "commands");
|
|
111
183
|
const commandsTargetDir = join(projectRoot, ".claude", "commands");
|
|
@@ -138,7 +210,8 @@ export function init(options) {
|
|
|
138
210
|
: 0;
|
|
139
211
|
console.log(keyValue(knowledgeLines > 8 ? "\u2713 knowledge.md" : "\u25CB knowledge.md", knowledgeLines > 8 ? `${knowledgeLines} lines` : "empty \u2014 use /vault:analyze"));
|
|
140
212
|
console.log(keyValue(gameplanLines > 8 ? "\u2713 gameplan.md" : "\u25CB gameplan.md", gameplanLines > 8 ? `${gameplanLines} lines` : "empty \u2014 fill manually"));
|
|
141
|
-
|
|
213
|
+
const detectedStack = detectStack(projectRoot);
|
|
214
|
+
ensureGitignoreEntries(projectRoot, detectedStack);
|
|
142
215
|
console.log(`\n${icon.tip} Next: /vault:analyze for deep codebase analysis`);
|
|
143
216
|
}
|
|
144
217
|
function runAutoDetect(projectName, vaultPath, projectRoot, force) {
|
|
@@ -165,18 +238,57 @@ function runAutoDetect(projectName, vaultPath, projectRoot, force) {
|
|
|
165
238
|
console.log(keyValue("\u25CB conventions.md", "no rules detected"));
|
|
166
239
|
}
|
|
167
240
|
}
|
|
168
|
-
function ensureGitignoreEntries(projectRoot) {
|
|
241
|
+
function ensureGitignoreEntries(projectRoot, stack) {
|
|
169
242
|
const gitignorePath = join(projectRoot, ".gitignore");
|
|
170
|
-
const
|
|
243
|
+
const devWorkflowEntries = [
|
|
244
|
+
".dev-vault/daily/",
|
|
245
|
+
".dev-vault/branches/",
|
|
246
|
+
".dev-vault/.edit-log.json",
|
|
247
|
+
".dev-vault/.intelligence.json",
|
|
248
|
+
];
|
|
249
|
+
const stackEntries = [];
|
|
250
|
+
const allLangs = stack.languages.map((l) => l.toLowerCase());
|
|
251
|
+
const allFrameworks = stack.frameworks.map((f) => f.toLowerCase());
|
|
252
|
+
const hasLang = (keyword) => allLangs.some((l) => l.includes(keyword));
|
|
253
|
+
const hasFramework = (keyword) => allFrameworks.some((f) => f.includes(keyword));
|
|
254
|
+
// Universal
|
|
255
|
+
stackEntries.push(".DS_Store", "*.swp", "*.swo", "*~", "coverage/", ".env", ".env.*");
|
|
256
|
+
// Node / TypeScript
|
|
257
|
+
if (hasLang("typescript") || hasLang("node") || existsSync(join(projectRoot, "package.json"))) {
|
|
258
|
+
stackEntries.push("node_modules/", "dist/", "*.tsbuildinfo", ".turbo/");
|
|
259
|
+
}
|
|
260
|
+
// Next.js
|
|
261
|
+
if (hasFramework("next")) {
|
|
262
|
+
stackEntries.push(".next/", "out/");
|
|
263
|
+
}
|
|
264
|
+
// Rust
|
|
265
|
+
if (hasLang("rust") || existsSync(join(projectRoot, "Cargo.toml"))) {
|
|
266
|
+
stackEntries.push("target/");
|
|
267
|
+
}
|
|
268
|
+
// Python
|
|
269
|
+
if (hasLang("python") || existsSync(join(projectRoot, "pyproject.toml")) || existsSync(join(projectRoot, "requirements.txt"))) {
|
|
270
|
+
stackEntries.push("__pycache__/", "*.pyc", ".venv/", "*.egg-info/");
|
|
271
|
+
}
|
|
272
|
+
// Go
|
|
273
|
+
if (hasLang("go")) {
|
|
274
|
+
stackEntries.push("bin/");
|
|
275
|
+
}
|
|
171
276
|
let content = "";
|
|
172
277
|
if (existsSync(gitignorePath)) {
|
|
173
278
|
content = readFileSync(gitignorePath, "utf-8");
|
|
174
279
|
}
|
|
175
|
-
const
|
|
176
|
-
|
|
280
|
+
const missingDevWorkflow = devWorkflowEntries.filter((e) => !content.includes(e));
|
|
281
|
+
const missingStack = stackEntries.filter((e) => !content.includes(e));
|
|
282
|
+
const additions = [];
|
|
283
|
+
if (missingDevWorkflow.length > 0) {
|
|
284
|
+
additions.push("# dev-workflow (session data)", ...missingDevWorkflow);
|
|
285
|
+
}
|
|
286
|
+
if (missingStack.length > 0) {
|
|
287
|
+
additions.push("# dev-workflow (stack-detected)", ...missingStack);
|
|
288
|
+
}
|
|
289
|
+
if (additions.length === 0)
|
|
177
290
|
return;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
console.log(` update .gitignore`);
|
|
291
|
+
writeFileSync(gitignorePath, content.trimEnd() + "\n\n" + additions.join("\n") + "\n", "utf-8");
|
|
292
|
+
console.log(` update .gitignore (+${missingDevWorkflow.length + missingStack.length} entries)`);
|
|
181
293
|
}
|
|
182
294
|
//# sourceMappingURL=init.js.map
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAQA,wBAAgB,MAAM,IAAI,IAAI,CA6C7B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { existsSync, cpSync } from "node:fs";
|
|
2
|
+
import { join, dirname } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { detectContext } from "../lib/context.js";
|
|
5
|
+
import { icon, keyValue } from "../lib/output.js";
|
|
6
|
+
const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
7
|
+
export function update() {
|
|
8
|
+
const context = detectContext();
|
|
9
|
+
if (!context) {
|
|
10
|
+
console.error("Not a git repository.");
|
|
11
|
+
process.exitCode = 1;
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const projectRoot = context.projectRoot;
|
|
15
|
+
if (!existsSync(join(projectRoot, ".dev-vault"))) {
|
|
16
|
+
console.error("No vault found. Run 'dev-workflow init' first.");
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
console.log(`\n${icon.init} dev-workflow update \u2014 ${context.projectName}\n`);
|
|
21
|
+
let updated = 0;
|
|
22
|
+
const commandsTemplateDir = join(PACKAGE_ROOT, "templates", "claude", "commands");
|
|
23
|
+
const commandsTargetDir = join(projectRoot, ".claude", "commands");
|
|
24
|
+
if (existsSync(commandsTemplateDir)) {
|
|
25
|
+
cpSync(commandsTemplateDir, commandsTargetDir, { recursive: true, force: true });
|
|
26
|
+
console.log(keyValue("\u2713 commands/", "updated from package"));
|
|
27
|
+
updated++;
|
|
28
|
+
}
|
|
29
|
+
const agentsTemplateDir = join(PACKAGE_ROOT, "templates", "claude", "agents");
|
|
30
|
+
const agentsTargetDir = join(projectRoot, ".claude", "agents");
|
|
31
|
+
if (existsSync(agentsTemplateDir)) {
|
|
32
|
+
cpSync(agentsTemplateDir, agentsTargetDir, { recursive: true, force: true });
|
|
33
|
+
console.log(keyValue("\u2713 agents/", "updated from package"));
|
|
34
|
+
updated++;
|
|
35
|
+
}
|
|
36
|
+
const skillsTemplateDir = join(PACKAGE_ROOT, "templates", "claude", "skills");
|
|
37
|
+
const skillsTargetDir = join(projectRoot, ".claude", "skills");
|
|
38
|
+
if (existsSync(skillsTemplateDir)) {
|
|
39
|
+
cpSync(skillsTemplateDir, skillsTargetDir, { recursive: true, force: true });
|
|
40
|
+
console.log(keyValue("\u2713 skills/", "updated from package"));
|
|
41
|
+
updated++;
|
|
42
|
+
}
|
|
43
|
+
console.log(`\n${icon.tip} Updated ${updated} components. Vault data untouched.`);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/post-edit.js
CHANGED
|
@@ -5,14 +5,16 @@ import { detectContext } from "../lib/context.js";
|
|
|
5
5
|
import { writeFileSafe } from "../lib/fs-helpers.js";
|
|
6
6
|
import { IntelligenceStore } from "../intelligence/store.js";
|
|
7
7
|
import { Collector } from "../intelligence/collector.js";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import { readStdin, hookSuccess } from "./stdin.js";
|
|
9
|
+
async function run() {
|
|
10
|
+
const input = await readStdin();
|
|
11
|
+
const context = detectContext(input.cwd);
|
|
10
12
|
if (!context) {
|
|
11
|
-
|
|
13
|
+
hookSuccess("Skipping post-edit.");
|
|
12
14
|
return;
|
|
13
15
|
}
|
|
14
16
|
if (!existsSync(context.vaultPath)) {
|
|
15
|
-
|
|
17
|
+
hookSuccess("No vault.");
|
|
16
18
|
return;
|
|
17
19
|
}
|
|
18
20
|
const editLogPath = join(context.vaultPath, ".edit-log.json");
|
|
@@ -25,7 +27,7 @@ function run() {
|
|
|
25
27
|
editLog = [];
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
|
-
const filePath =
|
|
30
|
+
const filePath = input.tool_input?.["file_path"] ?? "unknown";
|
|
29
31
|
if (!editLog.includes(filePath)) {
|
|
30
32
|
editLog.push(filePath);
|
|
31
33
|
}
|
|
@@ -34,10 +36,9 @@ function run() {
|
|
|
34
36
|
const collector = new Collector(intelligenceStore);
|
|
35
37
|
collector.recordFileEdit(filePath);
|
|
36
38
|
intelligenceStore.save();
|
|
37
|
-
|
|
39
|
+
hookSuccess(`Tracked: ${filePath} (${editLog.length} files this session)`);
|
|
38
40
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
run();
|
|
41
|
+
run().catch(() => {
|
|
42
|
+
hookSuccess("Post-edit hook failed silently.");
|
|
43
|
+
});
|
|
43
44
|
//# sourceMappingURL=post-edit.js.map
|