@engramm/dev-workflow 0.1.1 → 0.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAWA,UAAU,WAAW;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmFD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAuE/C"}
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;AA4GD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6F/C"}
package/dist/cli/init.js CHANGED
@@ -6,6 +6,7 @@ import { VaultWriter } from "../lib/writer.js";
6
6
  import { detectStack, renderStackMarkdown } from "../lib/stack-detect.js";
7
7
  import { detectConventions, renderConventionsMarkdown } from "../lib/conventions-detect.js";
8
8
  import { icon, section, keyValue } from "../lib/output.js";
9
+ import { renderTemplate } from "../lib/templates.js";
9
10
  const PACKAGE_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..");
10
11
  function writeIfMissing(filepath, content, force) {
11
12
  if (existsSync(filepath) && !force) {
@@ -18,12 +19,10 @@ function writeIfMissing(filepath, content, force) {
18
19
  return true;
19
20
  }
20
21
  function buildSettingsJson() {
21
- // Resolve the path to hooks relative to project
22
- // When installed as dependency: node_modules/dev-workflow/dist/hooks/
23
- // When linked: direct path
24
- const hookBase = "node_modules/dev-workflow/dist/hooks";
25
- const statuslinePath = "node_modules/dev-workflow/dist/lib/statusline.js";
26
- const mcpServerPath = "node_modules/dev-workflow/dist/cli/serve.js";
22
+ // Resolve paths from the actual package location (works for npm link, global, and local installs)
23
+ const distDir = join(PACKAGE_ROOT, "dist");
24
+ const hookBase = join(distDir, "hooks");
25
+ const statuslinePath = join(distDir, "lib", "statusline.js");
27
26
  return JSON.stringify({
28
27
  hooks: {
29
28
  SessionStart: [{
@@ -40,14 +39,15 @@ function buildSettingsJson() {
40
39
  timeout: 10000,
41
40
  }],
42
41
  }],
43
- PostEdit: [{
42
+ PostToolUse: [{
43
+ matcher: "Write|Edit|MultiEdit",
44
44
  hooks: [{
45
45
  type: "command",
46
46
  command: `node ${hookBase}/post-edit.js`,
47
47
  timeout: 5000,
48
48
  }],
49
49
  }],
50
- PostTask: [{
50
+ TaskCompleted: [{
51
51
  hooks: [{
52
52
  type: "command",
53
53
  command: `node ${hookBase}/post-task.js`,
@@ -73,16 +73,43 @@ function buildSettingsJson() {
73
73
  },
74
74
  ],
75
75
  },
76
+ permissions: {
77
+ allow: [
78
+ "Read",
79
+ "Edit",
80
+ "Write",
81
+ "Bash(npm test)",
82
+ "Bash(npm run *)",
83
+ "Bash(npx *)",
84
+ "Bash(pnpm test)",
85
+ "Bash(pnpm run *)",
86
+ "Bash(node *)",
87
+ "Bash(git status*)",
88
+ "Bash(git diff*)",
89
+ "Bash(git log*)",
90
+ "Bash(git branch*)",
91
+ "Bash(git add *)",
92
+ "Bash(git commit *)",
93
+ "Bash(git stash *)",
94
+ "Bash(ls *)",
95
+ "Bash(cat *)",
96
+ "Bash(pwd)",
97
+ "Bash(wc *)",
98
+ "Agent",
99
+ "mcp__dev-workflow__*",
100
+ ],
101
+ deny: [
102
+ "Read(./.env)",
103
+ "Read(./.env.*)",
104
+ "Bash(git push *)",
105
+ "Bash(git reset --hard*)",
106
+ "Bash(rm -rf *)",
107
+ ],
108
+ },
76
109
  statusLine: {
77
110
  type: "command",
78
111
  command: `node ${statuslinePath}`,
79
112
  },
80
- mcpServers: {
81
- "dev-workflow": {
82
- command: "node",
83
- args: [mcpServerPath],
84
- },
85
- },
86
113
  }, null, 2);
87
114
  }
88
115
  export function init(options) {
@@ -99,8 +126,23 @@ export function init(options) {
99
126
  return;
100
127
  }
101
128
  console.log(`\n${icon.init} dev-workflow init \u2014 ${context.projectName}\n`);
102
- // 1. Create .claude/settings.json
129
+ // 0. Create CLAUDE.md
130
+ const claudeMdPath = join(projectRoot, "CLAUDE.md");
131
+ if (writeIfMissing(claudeMdPath, renderTemplate("project/claude-md", { projectName: context.projectName }), options.force)) {
132
+ console.log(keyValue("\u2713 CLAUDE.md", "project instructions for Claude Code"));
133
+ }
134
+ // 1. Create .claude/settings.json (hooks + statusLine)
103
135
  writeIfMissing(join(projectRoot, ".claude", "settings.json"), buildSettingsJson(), options.force);
136
+ // 1b. Create .mcp.json (MCP server — Claude Code reads this for MCP discovery)
137
+ const mcpEntryPath = join(PACKAGE_ROOT, "dist", "cli", "index.js");
138
+ writeIfMissing(join(projectRoot, ".mcp.json"), JSON.stringify({
139
+ mcpServers: {
140
+ "dev-workflow": {
141
+ command: "node",
142
+ args: [mcpEntryPath, "serve"],
143
+ },
144
+ },
145
+ }, null, 2), options.force);
104
146
  // 2. Copy commands from templates
105
147
  const commandsTemplateDir = join(PACKAGE_ROOT, "templates", "claude", "commands");
106
148
  const commandsTargetDir = join(projectRoot, ".claude", "commands");
@@ -133,7 +175,8 @@ export function init(options) {
133
175
  : 0;
134
176
  console.log(keyValue(knowledgeLines > 8 ? "\u2713 knowledge.md" : "\u25CB knowledge.md", knowledgeLines > 8 ? `${knowledgeLines} lines` : "empty \u2014 use /vault:analyze"));
135
177
  console.log(keyValue(gameplanLines > 8 ? "\u2713 gameplan.md" : "\u25CB gameplan.md", gameplanLines > 8 ? `${gameplanLines} lines` : "empty \u2014 fill manually"));
136
- ensureGitignoreEntries(projectRoot);
178
+ const detectedStack = detectStack(projectRoot);
179
+ ensureGitignoreEntries(projectRoot, detectedStack);
137
180
  console.log(`\n${icon.tip} Next: /vault:analyze for deep codebase analysis`);
138
181
  }
139
182
  function runAutoDetect(projectName, vaultPath, projectRoot, force) {
@@ -160,18 +203,57 @@ function runAutoDetect(projectName, vaultPath, projectRoot, force) {
160
203
  console.log(keyValue("\u25CB conventions.md", "no rules detected"));
161
204
  }
162
205
  }
163
- function ensureGitignoreEntries(projectRoot) {
206
+ function ensureGitignoreEntries(projectRoot, stack) {
164
207
  const gitignorePath = join(projectRoot, ".gitignore");
165
- const entries = [".dev-vault/daily/", ".dev-vault/branches/"];
208
+ const devWorkflowEntries = [
209
+ ".dev-vault/daily/",
210
+ ".dev-vault/branches/",
211
+ ".dev-vault/.edit-log.json",
212
+ ".dev-vault/.intelligence.json",
213
+ ];
214
+ const stackEntries = [];
215
+ const allLangs = stack.languages.map((l) => l.toLowerCase());
216
+ const allFrameworks = stack.frameworks.map((f) => f.toLowerCase());
217
+ const hasLang = (keyword) => allLangs.some((l) => l.includes(keyword));
218
+ const hasFramework = (keyword) => allFrameworks.some((f) => f.includes(keyword));
219
+ // Universal
220
+ stackEntries.push(".DS_Store", "*.swp", "*.swo", "*~", "coverage/", ".env", ".env.*");
221
+ // Node / TypeScript
222
+ if (hasLang("typescript") || hasLang("node") || existsSync(join(projectRoot, "package.json"))) {
223
+ stackEntries.push("node_modules/", "dist/", "*.tsbuildinfo", ".turbo/");
224
+ }
225
+ // Next.js
226
+ if (hasFramework("next")) {
227
+ stackEntries.push(".next/", "out/");
228
+ }
229
+ // Rust
230
+ if (hasLang("rust") || existsSync(join(projectRoot, "Cargo.toml"))) {
231
+ stackEntries.push("target/");
232
+ }
233
+ // Python
234
+ if (hasLang("python") || existsSync(join(projectRoot, "pyproject.toml")) || existsSync(join(projectRoot, "requirements.txt"))) {
235
+ stackEntries.push("__pycache__/", "*.pyc", ".venv/", "*.egg-info/");
236
+ }
237
+ // Go
238
+ if (hasLang("go")) {
239
+ stackEntries.push("bin/");
240
+ }
166
241
  let content = "";
167
242
  if (existsSync(gitignorePath)) {
168
243
  content = readFileSync(gitignorePath, "utf-8");
169
244
  }
170
- const missing = entries.filter((entry) => !content.includes(entry));
171
- if (missing.length === 0)
245
+ const missingDevWorkflow = devWorkflowEntries.filter((e) => !content.includes(e));
246
+ const missingStack = stackEntries.filter((e) => !content.includes(e));
247
+ const additions = [];
248
+ if (missingDevWorkflow.length > 0) {
249
+ additions.push("# dev-workflow (session data)", ...missingDevWorkflow);
250
+ }
251
+ if (missingStack.length > 0) {
252
+ additions.push("# dev-workflow (stack-detected)", ...missingStack);
253
+ }
254
+ if (additions.length === 0)
172
255
  return;
173
- const addition = "\n# dev-workflow (auto-generated session data)\n" + missing.join("\n") + "\n";
174
- writeFileSync(gitignorePath, content.trimEnd() + "\n" + addition, "utf-8");
175
- console.log(` update .gitignore`);
256
+ writeFileSync(gitignorePath, content.trimEnd() + "\n\n" + additions.join("\n") + "\n", "utf-8");
257
+ console.log(` update .gitignore (+${missingDevWorkflow.length + missingStack.length} entries)`);
176
258
  }
177
259
  //# sourceMappingURL=init.js.map
@@ -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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"}
@@ -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
- function run() {
9
- const context = detectContext();
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
- output({ status: "ok", message: "Skipping post-edit." });
13
+ hookSuccess("Skipping post-edit.");
12
14
  return;
13
15
  }
14
16
  if (!existsSync(context.vaultPath)) {
15
- output({ status: "ok", message: "No vault." });
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 = process.env["CLAUDE_FILE_PATH"] ?? "unknown";
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
- output({ status: "ok", message: `Tracked: ${filePath} (${editLog.length} files this session)` });
39
+ hookSuccess(`Tracked: ${filePath} (${editLog.length} files this session)`);
38
40
  }
39
- function output(result) {
40
- process.stdout.write(JSON.stringify(result));
41
- }
42
- run();
41
+ run().catch(() => {
42
+ hookSuccess("Post-edit hook failed silently.");
43
+ });
43
44
  //# sourceMappingURL=post-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-edit.js","sourceRoot":"","sources":["../../src/hooks/post-edit.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,SAAS,GAAG;IACV,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAE9D,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAa,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACnD,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,QAAQ,KAAK,OAAO,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,MAAM,CAAC,MAAkB;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"post-edit.js","sourceRoot":"","sources":["../../src/hooks/post-edit.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAE9D,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAa,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAI,KAAK,CAAC,UAAU,EAAE,CAAC,WAAW,CAAY,IAAI,SAAS,CAAC;IAC1E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACnD,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAEzB,WAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,CAAC,MAAM,sBAAsB,CAAC,CAAC;AAC7E,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IACf,WAAW,CAAC,iCAAiC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
@@ -2,24 +2,26 @@
2
2
  import { detectContext } from "../lib/context.js";
3
3
  import { VaultWriter } from "../lib/writer.js";
4
4
  import { existsSync } from "node:fs";
5
- function run() {
6
- const context = detectContext();
5
+ import { readStdin, hookSuccess } from "./stdin.js";
6
+ async function run() {
7
+ const input = await readStdin();
8
+ const context = detectContext(input.cwd);
7
9
  if (!context) {
8
- output({ status: "ok", message: "Skipping post-task." });
10
+ hookSuccess("Skipping post-task.");
9
11
  return;
10
12
  }
11
13
  if (!existsSync(context.vaultPath)) {
12
- output({ status: "ok", message: "No vault." });
14
+ hookSuccess("No vault.");
13
15
  return;
14
16
  }
15
17
  const today = new Date().toISOString().slice(0, 10);
16
18
  const time = new Date().toLocaleTimeString("en-GB", { hour: "2-digit", minute: "2-digit" });
19
+ const subject = input.task_subject ?? "unknown task";
17
20
  const writer = new VaultWriter(context);
18
- writer.writeDailyLog(`> Task completed at ${time} on branch ${context.branch}`, today);
19
- output({ status: "ok", message: "Post-task recorded." });
21
+ writer.writeDailyLog(`> Task completed at ${time} on branch ${context.branch}: ${subject}`, today);
22
+ hookSuccess("Post-task recorded.");
20
23
  }
21
- function output(result) {
22
- process.stdout.write(JSON.stringify(result));
23
- }
24
- run();
24
+ run().catch(() => {
25
+ hookSuccess("Post-task hook failed silently.");
26
+ });
25
27
  //# sourceMappingURL=post-task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-task.js","sourceRoot":"","sources":["../../src/hooks/post-task.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,SAAS,GAAG;IACV,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,aAAa,CAClB,uBAAuB,IAAI,cAAc,OAAO,CAAC,MAAM,EAAE,EACzD,KAAK,CACN,CAAC;IAEF,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,MAAM,CAAC,MAAkB;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"post-task.js","sourceRoot":"","sources":["../../src/hooks/post-task.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,WAAW,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,cAAc,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,aAAa,CAClB,uBAAuB,IAAI,cAAc,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,EACrE,KAAK,CACN,CAAC;IAEF,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IACf,WAAW,CAAC,iCAAiC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
@@ -1,7 +1,3 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * PreCompact hook — save context before Claude Code compresses history.
4
- * Delegates to session-end logic.
5
- */
6
2
  export {};
7
3
  //# sourceMappingURL=pre-compact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-compact.d.ts","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
1
+ {"version":3,"file":"pre-compact.d.ts","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":""}
@@ -1,34 +1,32 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * PreCompact hook — save context before Claude Code compresses history.
4
- * Delegates to session-end logic.
5
- */
6
2
  import { detectContext } from "../lib/context.js";
7
3
  import { VaultReader } from "../lib/reader.js";
8
4
  import { VaultWriter } from "../lib/writer.js";
9
- function run() {
10
- const context = detectContext();
5
+ import { readStdin, hookSuccess } from "./stdin.js";
6
+ async function run() {
7
+ const input = await readStdin();
8
+ const context = detectContext(input.cwd);
11
9
  if (!context) {
12
- output({ status: "ok", message: "Skipping pre-compact save." });
10
+ hookSuccess("Skipping pre-compact save.");
13
11
  return;
14
12
  }
15
13
  const reader = new VaultReader(context);
16
14
  if (!reader.exists()) {
17
- output({ status: "ok", message: "No vault, skipping." });
15
+ hookSuccess("No vault, skipping.");
18
16
  return;
19
17
  }
20
18
  const writer = new VaultWriter(context);
21
19
  const today = new Date().toISOString().slice(0, 10);
22
20
  const time = new Date().toLocaleTimeString("en-GB", { hour: "2-digit", minute: "2-digit" });
21
+ const trigger = input.compaction_trigger ?? "unknown";
23
22
  const marker = [
24
- `> [!note] Pre-compact auto-save — ${time}`,
23
+ `> [!note] Pre-compact auto-save — ${time} (${trigger})`,
25
24
  `> Context was compressed. Use /resume to reload full vault context.`,
26
25
  ].join("\n");
27
26
  writer.writeDailyLog(marker, today);
28
- output({ status: "ok", message: "Pre-compact save done." });
27
+ hookSuccess("Pre-compact save done.");
29
28
  }
30
- function output(result) {
31
- process.stdout.write(JSON.stringify(result));
32
- }
33
- run();
29
+ run().catch(() => {
30
+ hookSuccess("Pre-compact hook failed silently.");
31
+ });
34
32
  //# sourceMappingURL=pre-compact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-compact.js","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,SAAS,GAAG;IACV,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG;QACb,qCAAqC,IAAI,EAAE;QAC3C,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEpC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,MAAM,CAAC,MAAkB;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"pre-compact.js","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,IAAI,SAAS,CAAC;IAEtD,MAAM,MAAM,GAAG;QACb,qCAAqC,IAAI,KAAK,OAAO,GAAG;QACxD,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEpC,WAAW,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC;AAED,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IACf,WAAW,CAAC,mCAAmC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ import { VaultWriter } from "../lib/writer.js";
6
6
  import { WorkflowState } from "../workflow/state.js";
7
7
  import { IntelligenceStore } from "../intelligence/store.js";
8
8
  import { Collector } from "../intelligence/collector.js";
9
+ import { readStdin, hookSuccess } from "./stdin.js";
9
10
  function git(args, cwd) {
10
11
  try {
11
12
  return execFileSync("git", args, { cwd, encoding: "utf-8" }).trim();
@@ -14,15 +15,16 @@ function git(args, cwd) {
14
15
  return "";
15
16
  }
16
17
  }
17
- function run() {
18
- const context = detectContext();
18
+ async function run() {
19
+ const input = await readStdin();
20
+ const context = detectContext(input.cwd);
19
21
  if (!context) {
20
- output({ status: "ok", message: "Not a git repository, skipping." });
22
+ hookSuccess("Not a git repository, skipping.");
21
23
  return;
22
24
  }
23
25
  const reader = new VaultReader(context);
24
26
  if (!reader.exists()) {
25
- output({ status: "ok", message: "No vault found, skipping." });
27
+ hookSuccess("No vault found, skipping.");
26
28
  return;
27
29
  }
28
30
  const writer = new VaultWriter(context);
@@ -51,7 +53,7 @@ function run() {
51
53
  markerLines.push("", "## Uncommitted", "```", statusShort, "```");
52
54
  }
53
55
  const marker = markerLines.join("\n");
54
- const dailyPath = writer.writeDailyLog(marker, today);
56
+ writer.writeDailyLog(marker, today);
55
57
  const intelligenceStore = new IntelligenceStore(context.vaultPath);
56
58
  const collector = new Collector(intelligenceStore);
57
59
  const changedFiles = statusShort
@@ -68,13 +70,9 @@ function run() {
68
70
  currentRun.status = "paused";
69
71
  workflowState.save(currentRun);
70
72
  }
71
- output({
72
- status: "ok",
73
- message: `Session saved → ${dailyPath}`,
74
- });
73
+ hookSuccess("Session saved.");
75
74
  }
76
- function output(result) {
77
- process.stdout.write(JSON.stringify(result));
78
- }
79
- run();
75
+ run().catch(() => {
76
+ hookSuccess("Session end hook failed silently.");
77
+ });
80
78
  //# sourceMappingURL=session-end.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-end.js","sourceRoot":"","sources":["../../src/hooks/session-end.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,17 @@ import { WorkflowState } from "../workflow/state.js";
7
7
  import { IntelligenceStore } from "../intelligence/store.js";
8
8
  import { syncFromVault } from "../intelligence/sync.js";
9
9
  import { topN, formatRelevantContext } from "../intelligence/ranker.js";
10
+ import { readStdin, hookSuccess } from "./stdin.js";
10
11
  async function run() {
11
- const context = detectContext();
12
+ const input = await readStdin();
13
+ const context = detectContext(input.cwd);
12
14
  if (!context) {
13
- output({ status: "ok", message: "Not a git repository, skipping vault resume." });
15
+ hookSuccess("Not a git repository, skipping vault resume.");
14
16
  return;
15
17
  }
16
18
  const reader = new VaultReader(context);
17
19
  if (!reader.exists()) {
18
- output({ status: "ok", message: `No .dev-vault/ found in ${context.projectName}. Run 'dev-workflow init' to set up.` });
20
+ hookSuccess(`No .dev-vault/ found in ${context.projectName}. Run 'dev-workflow init' to set up.`);
19
21
  return;
20
22
  }
21
23
  const vaultData = reader.readAll(context.branch);
@@ -88,21 +90,22 @@ async function run() {
88
90
  if (relevantContext) {
89
91
  sections.push("\n" + relevantContext);
90
92
  }
91
- output({
92
- status: "ok",
93
- message: sections.join("\n"),
94
- context: vaultData,
95
- });
93
+ const message = sections.join("\n");
94
+ const output = {
95
+ continue: true,
96
+ hookSpecificOutput: {
97
+ hookEventName: "SessionStart",
98
+ additionalContext: message,
99
+ },
100
+ };
101
+ process.stdout.write(JSON.stringify(output));
96
102
  }
97
103
  function truncate(text, maxLength) {
98
104
  if (text.length <= maxLength)
99
105
  return text;
100
106
  return text.slice(0, maxLength) + "\n\n... (truncated)";
101
107
  }
102
- function output(result) {
103
- process.stdout.write(JSON.stringify(result));
104
- }
105
108
  run().catch(() => {
106
- process.stdout.write(JSON.stringify({ status: "error", message: "Session start hook failed" }));
109
+ process.stdout.write(JSON.stringify({ continue: true }));
107
110
  });
108
111
  //# sourceMappingURL=session-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../src/hooks/session-start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface HookInput {
2
+ session_id?: string;
3
+ cwd?: string;
4
+ hook_event_name?: string;
5
+ tool_name?: string;
6
+ tool_input?: Record<string, unknown>;
7
+ tool_response?: Record<string, unknown>;
8
+ source?: string;
9
+ compaction_trigger?: string;
10
+ task_subject?: string;
11
+ }
12
+ export declare function readStdin(): Promise<HookInput>;
13
+ export interface HookOutput {
14
+ continue: boolean;
15
+ suppressOutput?: boolean;
16
+ hookSpecificOutput?: {
17
+ hookEventName: string;
18
+ additionalContext?: string;
19
+ };
20
+ }
21
+ export declare function hookSuccess(message: string, eventName?: string): void;
22
+ export declare function hookError(message: string): void;
23
+ //# sourceMappingURL=stdin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdin.d.ts","sourceRoot":"","sources":["../../src/hooks/stdin.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAoB9C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CASrE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG/C"}
@@ -0,0 +1,35 @@
1
+ export function readStdin() {
2
+ return new Promise((resolve) => {
3
+ if (process.stdin.isTTY) {
4
+ resolve({});
5
+ return;
6
+ }
7
+ let data = "";
8
+ process.stdin.setEncoding("utf-8");
9
+ process.stdin.on("data", (chunk) => { data += chunk; });
10
+ process.stdin.on("end", () => {
11
+ try {
12
+ resolve(JSON.parse(data));
13
+ }
14
+ catch {
15
+ resolve({});
16
+ }
17
+ });
18
+ setTimeout(() => resolve({}), 3000);
19
+ });
20
+ }
21
+ export function hookSuccess(message, eventName) {
22
+ const output = { continue: true };
23
+ if (eventName && message) {
24
+ output.hookSpecificOutput = {
25
+ hookEventName: eventName,
26
+ additionalContext: message,
27
+ };
28
+ }
29
+ process.stdout.write(JSON.stringify(output));
30
+ }
31
+ export function hookError(message) {
32
+ process.stderr.write(message);
33
+ process.exitCode = 2;
34
+ }
35
+ //# sourceMappingURL=stdin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdin.js","sourceRoot":"","sources":["../../src/hooks/stdin.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,CAAC;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,SAAkB;IAC7D,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,kBAAkB,GAAG;YAC1B,aAAa,EAAE,SAAS;YACxB,iBAAiB,EAAE,OAAO;SAC3B,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAqKA,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"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AA2MA,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"}
@@ -150,6 +150,43 @@ tags: [debt, {{projectName}}]
150
150
  ## Proposal
151
151
 
152
152
  ## Risk If Ignored
153
+ `,
154
+ "project/claude-md": `# {{projectName}}
155
+
156
+ ## Dev Workflow
157
+
158
+ This project uses [dev-workflow](https://github.com/supostat/dev-workflow) for structured development with Claude Code.
159
+
160
+ ### Available Commands
161
+
162
+ | Command | Description |
163
+ |---------|------------|
164
+ | \`/vault:from-spec\` | Fill vault from SPEC.md (new project) |
165
+ | \`/vault:analyze\` | Fill vault from codebase (existing project) |
166
+ | \`/workflow:dev "task"\` | Full 10-step pipeline: plan, code, review, test, verify, commit |
167
+ | \`/session:resume\` | Restore session context |
168
+ | \`/session:review\` | Multi-perspective code review |
169
+ | \`/session:handover\` | Save session context |
170
+
171
+ ### Vault
172
+
173
+ Project knowledge is stored in \`.dev-vault/\`:
174
+ - \`stack.md\` — technology stack
175
+ - \`conventions.md\` — code conventions
176
+ - \`knowledge.md\` — architecture, gotchas, patterns
177
+ - \`gameplan.md\` — roadmap and phases
178
+
179
+ ### Workflow
180
+
181
+ 1. Create task: \`dev-workflow task create "title"\`
182
+ 2. Start: \`dev-workflow task start <id>\`
183
+ 3. Implement: \`/workflow:dev "task description"\`
184
+ 4. Review: \`/session:review\`
185
+ 5. Handover: \`/session:handover\`
186
+
187
+ ## Project
188
+
189
+ <!-- Add project-specific instructions below -->
153
190
  `,
154
191
  };
155
192
  export function renderTemplate(templateName, variables = {}) {
@@ -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;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCtB;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"}
@@ -36,9 +36,4 @@ export interface InitOptions {
36
36
  projectRoot: string;
37
37
  force: boolean;
38
38
  }
39
- export interface HookOutput {
40
- status: "ok" | "error";
41
- message: string;
42
- context?: VaultData;
43
- }
44
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/lib/writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhE,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,OAAO,EAAE,cAAc;IAKnC,QAAQ,IAAI,IAAI;IA+BhB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,MAAM;IAalE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAOxD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI;IAa7E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAchE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAoBxD"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/lib/writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhE,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,OAAO,EAAE,cAAc;IAKnC,QAAQ,IAAI,IAAI;IAgChB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,MAAM;IAalE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAOxD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI;IAa7E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAchE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAoBxD"}
@@ -18,6 +18,7 @@ export class VaultWriter {
18
18
  "debt",
19
19
  "tasks",
20
20
  "phases",
21
+ "plans",
21
22
  "workflows",
22
23
  ];
23
24
  for (const dir of dirs) {
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/lib/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/lib/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@engramm/dev-workflow",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Development workflow engine with agents and vault for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -417,18 +417,31 @@ END_PLAN_REVIEW
417
417
 
418
418
  **Result:**
419
419
 
420
- - APPROVED → Step 4
420
+ - APPROVED → save plan, then Step 4
421
421
  - NEEDS_REVISION → pass remarks to PLAN agent, re-run Step 2 with remarks.
422
422
 
423
423
  **Max revisions: 2.** After limit:
424
424
  - **Interactive:** show warnings, ask user whether to proceed
425
425
  - **Autonomous:** accept plan with warnings, proceed to Step 4
426
426
 
427
+ **Save approved PLAN to vault** (orchestrator writes directly after approval):
428
+
429
+ - **Phase mode:** save next to phase file as `<phase-file>.plan.md`
430
+ - Example: `.dev-vault/phases/phase-1-foundation.plan.md`
431
+ - **Normal mode:** save to `.dev-vault/plans/<date>-<slug>.md`
432
+ - Example: `.dev-vault/plans/2026-04-01-add-email-validation.plan.md`
433
+
434
+ This persists the plan for:
435
+ - Resume if session is interrupted between PLAN and COMMIT
436
+ - Audit: compare what was planned vs what was implemented
437
+ - Reference: CODER can re-read plan from file if context is lost
438
+
427
439
  Display:
428
440
 
429
441
  ```
430
442
  ── PLAN_REVIEW ──
431
443
  Verdict: ✅ APPROVED / ⚠️ NEEDS_REVISION
444
+ [If approved:] Plan saved → <path>
432
445
  ```
433
446
 
434
447
  ### Step 4: CODER