@fingerskier/augment 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +494 -450
  3. package/dist/cli.js +5 -4
  4. package/dist/cli.js.map +1 -1
  5. package/dist/daemon/client.d.ts +6 -0
  6. package/dist/daemon/client.js +19 -0
  7. package/dist/daemon/client.js.map +1 -1
  8. package/dist/daemon/http.js +79 -9
  9. package/dist/daemon/http.js.map +1 -1
  10. package/dist/daemon/lifetime-lock.js +12 -12
  11. package/dist/db.js +107 -107
  12. package/dist/decoction.d.ts +51 -0
  13. package/dist/decoction.js +184 -0
  14. package/dist/decoction.js.map +1 -0
  15. package/dist/hooks.d.ts +8 -5
  16. package/dist/hooks.js +49 -20
  17. package/dist/hooks.js.map +1 -1
  18. package/dist/install.d.ts +14 -2
  19. package/dist/install.js +189 -1
  20. package/dist/install.js.map +1 -1
  21. package/dist/mcp/apps.js +480 -480
  22. package/dist/mcp/server.js +83 -0
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/memory/files.js +21 -2
  25. package/dist/memory/files.js.map +1 -1
  26. package/dist/memory/project.d.ts +3 -0
  27. package/dist/memory/project.js +20 -0
  28. package/dist/memory/project.js.map +1 -1
  29. package/dist/pi/extension.d.ts +6 -0
  30. package/dist/pi/extension.js +74 -20
  31. package/dist/pi/extension.js.map +1 -1
  32. package/dist/proposals.js +16 -15
  33. package/dist/proposals.js.map +1 -1
  34. package/dist/service.d.ts +134 -2
  35. package/dist/service.js +578 -51
  36. package/dist/service.js.map +1 -1
  37. package/docs/FEATURES.md +771 -615
  38. package/docs/verify-memory-flow.md +4 -3
  39. package/integrations/claude/skills/augment-context/SKILL.md +74 -74
  40. package/integrations/claude/skills/augment-decoction/SKILL.md +36 -0
  41. package/integrations/claude/skills/augment-dream/SKILL.md +34 -0
  42. package/integrations/claude/skills/augment-dream/agents/openai.yaml +4 -0
  43. package/integrations/claude/skills/augment-sleep/SKILL.md +26 -26
  44. package/integrations/codex/SKILL.md +107 -74
  45. package/integrations/examples/claude-mcp-config.json +17 -17
  46. package/integrations/examples/codex-mcp-config.json +17 -17
  47. package/integrations/examples/grok-mcp-config.toml +18 -0
  48. package/integrations/grok/AGENTS.md +61 -0
  49. package/integrations/pi/skills/augment-decoction/SKILL.md +37 -0
  50. package/integrations/pi/skills/augment-dream/SKILL.md +36 -0
  51. package/package.json +85 -84
  52. package/dist/tally.d.ts +0 -46
  53. package/dist/tally.js +0 -94
  54. package/dist/tally.js.map +0 -1
package/dist/hooks.js CHANGED
@@ -7,11 +7,14 @@ import { connectOrStartDaemon } from "./daemon/client.js";
7
7
  import { inferProjectName } from "./memory/project.js";
8
8
  import { recall as defaultRecall } from "./recall.js";
9
9
  /**
10
- * Host-agnostic hook handlers. Claude Code and Codex CLI share the same
11
- * lifecycle-hook stdin/stdout JSON contract (Codex copied the event names and
12
- * envelopes), so one set of handlers serves both. The only host difference this
13
- * file cares about is the field naming the prompt: Claude sends `user_input`,
14
- * Codex sends `prompt` `readPrompt` accepts either.
10
+ * Host-agnostic hook handlers. Claude Code, Codex CLI, and Grok Build share the
11
+ * same lifecycle-hook event names; Codex and Grok largely copied Claude's
12
+ * envelopes. Field-name differences are normalized below:
13
+ * - prompt: Claude `user_input`, Codex `prompt` (Grok may send either)
14
+ * - tool fields: Claude/Codex snake_case (`tool_name`, `tool_input`, `session_id`);
15
+ * Grok camelCase (`toolName`, `toolInput`, `sessionId`, `workspaceRoot`)
16
+ * - tool names: Grok's real names (`run_terminal_command`, `search_replace`, …)
17
+ * plus Claude aliases already accepted by Grok matchers
15
18
  *
16
19
  * Every handler is **fail-open**: a hook runs on every prompt and every turn
17
20
  * boundary, so any failure must degrade to "do nothing" (empty stdout, exit 0)
@@ -33,29 +36,55 @@ function asString(value) {
33
36
  function asRecord(value) {
34
37
  return value && typeof value === "object" ? value : {};
35
38
  }
36
- /** Claude uses `user_input`; Codex uses `prompt`. Accept either. */
39
+ /** Claude uses `user_input`; Codex uses `prompt`. Accept either (and common aliases). */
37
40
  function readPrompt(payload) {
38
- return (asString(payload.user_input) ?? asString(payload.prompt) ?? "").trim();
41
+ return (asString(payload.user_input) ??
42
+ asString(payload.prompt) ??
43
+ asString(payload.promptText) ??
44
+ asString(payload.message) ??
45
+ "").trim();
46
+ }
47
+ /** Claude/Codex snake_case or Grok camelCase. */
48
+ function readToolName(payload) {
49
+ return asString(payload.tool_name) ?? asString(payload.toolName) ?? "";
50
+ }
51
+ /** Claude/Codex snake_case or Grok camelCase. */
52
+ function readToolInput(payload) {
53
+ return payload.tool_input ?? payload.toolInput;
54
+ }
55
+ /** Prefer `cwd`, then Grok's `workspaceRoot`. */
56
+ function readCwd(payload) {
57
+ return asString(payload.cwd) ?? asString(payload.workspaceRoot);
58
+ }
59
+ /** Claude/Codex `session_id` or Grok `sessionId`. */
60
+ function readSessionId(payload) {
61
+ return asString(payload.session_id) ?? asString(payload.sessionId) ?? "";
39
62
  }
40
63
  /**
41
64
  * Derives the recall query for a PreToolUse hook from the tool name + its input — the
42
- * highest-signal text naming what the tool is about to touch: the command for Bash/apply_patch,
43
- * the file path for Edit/Write/Read. Both hosts use the same field names (`tool_name`,
44
- * `tool_input.command`, `tool_input.file_path`). Returns "" for tools (or empty inputs) we don't
45
- * key on, which short-circuits the handler before it pays for a search on the hot path.
65
+ * highest-signal text naming what the tool is about to touch: the command for Bash/shell,
66
+ * the file path for Edit/Write/Read. Accepts Claude names and Grok's real tool names.
67
+ * Returns "" for tools (or empty inputs) we don't key on, which short-circuits the handler
68
+ * before it pays for a search on the hot path.
46
69
  */
47
70
  function deriveToolQuery(toolName, rawInput) {
48
71
  const input = asRecord(rawInput);
49
72
  switch (toolName) {
50
73
  case "Bash":
51
74
  case "apply_patch":
75
+ case "run_terminal_command":
52
76
  return (asString(input.command) ?? "").trim();
53
77
  case "Edit":
54
78
  case "Write":
55
79
  case "Read":
56
- return (asString(input.file_path) ?? "").trim();
80
+ case "search_replace":
81
+ case "read_file":
82
+ return (asString(input.file_path) ?? asString(input.target_file) ?? "").trim();
57
83
  default:
58
- return (asString(input.command) ?? asString(input.file_path) ?? "").trim();
84
+ return (asString(input.command) ??
85
+ asString(input.file_path) ??
86
+ asString(input.target_file) ??
87
+ "").trim();
59
88
  }
60
89
  }
61
90
  /**
@@ -76,7 +105,7 @@ export async function handleUserPromptSubmit(payload, deps) {
76
105
  return OK;
77
106
  }
78
107
  const recall = deps.recall ?? defaultRecall;
79
- const text = await recall({ query, cwd: asString(payload.cwd), surface: "user-prompt-submit" });
108
+ const text = await recall({ query, cwd: readCwd(payload), surface: "user-prompt-submit" });
80
109
  if (!text) {
81
110
  return OK;
82
111
  }
@@ -112,7 +141,7 @@ const PRE_TOOL_RECALL_MIN_SCORE = 0.45;
112
141
  * tool still runs), so this is purely additive over the guaranteed UserPromptSubmit path.
113
142
  */
114
143
  export async function handlePreToolUse(payload, deps) {
115
- const query = deriveToolQuery(asString(payload.tool_name) ?? "", payload.tool_input);
144
+ const query = deriveToolQuery(readToolName(payload), readToolInput(payload));
116
145
  if (!query) {
117
146
  // Nothing actionable to recall against (or a tool we don't key on) — stay off the hot path.
118
147
  return OK;
@@ -121,7 +150,7 @@ export async function handlePreToolUse(payload, deps) {
121
150
  // re-injects the same memories, so suppress repeats before paying for the search. Without a
122
151
  // session_id there is no safe turn key — a global marker would suppress across sessions — so
123
152
  // skip the guard. A broken guard also fails open: losing dedupe must not lose the injection.
124
- const sessionId = asString(payload.session_id) ?? "";
153
+ const sessionId = readSessionId(payload);
125
154
  if (sessionId) {
126
155
  try {
127
156
  const markerSeen = deps.markerSeen ?? defaultMarkerSeen;
@@ -137,7 +166,7 @@ export async function handlePreToolUse(payload, deps) {
137
166
  const recall = deps.recall ?? defaultRecall;
138
167
  const text = await recall({
139
168
  query,
140
- cwd: asString(payload.cwd),
169
+ cwd: readCwd(payload),
141
170
  limit: PRE_TOOL_RECALL_LIMIT,
142
171
  maxChars: PRE_TOOL_RECALL_MAX_CHARS,
143
172
  minScore: PRE_TOOL_RECALL_MIN_SCORE,
@@ -159,7 +188,7 @@ export async function handlePreToolUse(payload, deps) {
159
188
  export async function handleSessionStart(payload, deps) {
160
189
  const initProject = deps.initProject ?? defaultInitProject;
161
190
  try {
162
- await initProject(asString(payload.cwd));
191
+ await initProject(readCwd(payload));
163
192
  }
164
193
  catch {
165
194
  // Daemon may be down; warming the project is best-effort. Stay silent.
@@ -168,8 +197,8 @@ export async function handleSessionStart(payload, deps) {
168
197
  }
169
198
  export async function handleStop(payload, deps) {
170
199
  try {
171
- const sessionId = asString(payload.session_id) ?? "";
172
- const promptId = asString(payload.prompt_id) ?? "";
200
+ const sessionId = readSessionId(payload);
201
+ const promptId = asString(payload.prompt_id) ?? asString(payload.promptId) ?? "";
173
202
  const markerSeen = deps.markerSeen ?? defaultMarkerSeen;
174
203
  const alreadyBlocked = await markerSeen(`${sessionId}__${promptId}`);
175
204
  if (alreadyBlocked) {
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAsB,MAAM,aAAa,CAAC;AAE1E;;;;;;;;;;GAUG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GACzB,mFAAmF;IACnF,oFAAoF;IACpF,2FAA2F;IAC3F,qFAAqF;IACrF,+FAA+F;IAC/F,uFAAuF;IACvF,yEAAyE;IACzE,4DAA4D,CAAC;AAsB/D,MAAM,EAAE,GAAe,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAEnD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,oEAAoE;AACpE,SAAS,UAAU,CAAC,OAAgC;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,QAAiB;IAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,aAAa;YAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD;YACE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,CACL,8CAA8C;QAC9C,8EAA8E;QAC9E,gDAAgD;QAChD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgC,EAChC,IAAc;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,sEAAsE;QACtE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;YACrB,kBAAkB,EAAE;gBAClB,aAAa,EAAE,kBAAkB;gBACjC,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC;aACpC;SACF,CAAC;QACF,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED;kDACkD;AAClD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC;;;;0EAI0E;AAC1E,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC,EAChC,IAAc;IAEd,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,4FAA4F;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,wFAAwF;IACxF,4FAA4F;IAC5F,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,MAAM,UAAU,CAAC,GAAG,SAAS,cAAc,SAAS,EAAE,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC;QACxB,KAAK;QACL,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,qBAAqB;QAC5B,QAAQ,EAAE,yBAAyB;QACnC,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;YACrB,kBAAkB,EAAE;gBAClB,aAAa,EAAE,YAAY;gBAC3B,iBAAiB,EAAE,UAAU,CAAC,IAAI,CAAC;aACpC;SACF,CAAC;QACF,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgC,EAChC,IAAc;IAEd,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAgC,EAChC,IAAc;IAEd,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,GAAG,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACrE,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,GAAW,EAAE,OAAiB,EAAE;IAC3E,IAAI,OAAO,GAA4B,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,GAAG,MAAiC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,oBAAoB;YACvB,OAAO,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,KAAK,eAAe;YAClB,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAY;IAC5C,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACrD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/install.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type InstallTarget = "codex" | "claude" | "all";
1
+ export type InstallTarget = "codex" | "claude" | "grok" | "all";
2
2
  export type InstallScope = "user" | "repo";
3
3
  export interface ClaudeCommandResult {
4
4
  /** Whether the `claude` executable was found on PATH. */
@@ -6,7 +6,7 @@ export interface ClaudeCommandResult {
6
6
  /** Whether the command exited successfully (exit code 0). */
7
7
  ok: boolean;
8
8
  }
9
- /** Runs a `claude` CLI command. Injected so installs stay side-effect-free in tests. */
9
+ /** Runs a host CLI command (`claude`, `npm`, …). Injected so installs stay side-effect-free in tests. */
10
10
  export type ClaudeCommandRunner = (command: string, args: string[]) => Promise<ClaudeCommandResult>;
11
11
  export interface InstallOptions {
12
12
  target: InstallTarget;
@@ -29,9 +29,21 @@ export interface InstallPlan {
29
29
  files: string[];
30
30
  }
31
31
  export declare function installIntegration(options: InstallOptions): Promise<InstallPlan>;
32
+ /**
33
+ * Idempotent merge of the augment MCP server into a Grok `config.toml`. Removes any existing
34
+ * `[mcp_servers.augment]` / nested tables first, then appends a fresh section so re-installs
35
+ * update command/args/env without duplicating keys or clobbering unrelated config.
36
+ */
37
+ export declare function upsertGrokMcpToml(existing: string | undefined, server: McpServerConfig): string;
32
38
  /**
33
39
  * Real `claude` CLI runner used by the command line. Detects availability with which/where so
34
40
  * "not found" is distinguishable from "ran but failed", then runs through a shell on Windows so
35
41
  * `.cmd`/`.ps1` shims resolve. Output is suppressed; only availability + exit status matter.
36
42
  */
37
43
  export declare const defaultClaudeRunner: ClaudeCommandRunner;
44
+ interface McpServerConfig {
45
+ command: string;
46
+ args: string[];
47
+ env: Record<string, string>;
48
+ }
49
+ export {};
package/dist/install.js CHANGED
@@ -29,13 +29,18 @@ export async function installIntegration(options) {
29
29
  summary.push(...plan.summary);
30
30
  files.push(...plan.files);
31
31
  }
32
+ if (options.target === "grok" || options.target === "all") {
33
+ const plan = await installGrok({ ...options, ...context });
34
+ summary.push(...plan.summary);
35
+ files.push(...plan.files);
36
+ }
32
37
  // `--memory-root` must configure every entrypoint, not just the generated .mcp.json env: hooks
33
38
  // get no env, so without this the config file resolves the empty default (the split-brain this
34
39
  // closes). Runs regardless of target, before the hook runtime is provisioned.
35
40
  const configPlan = await writeGlobalConfig(options, context);
36
41
  summary.push(...configPlan.summary);
37
42
  files.push(...configPlan.files);
38
- // Both targets share the same prefix, so provision the hook runtime once per install.
43
+ // All targets share the same prefix, so provision the hook runtime once per install.
39
44
  summary.push(...(await warmHookRuntime(options, context)));
40
45
  return { summary, files };
41
46
  }
@@ -312,6 +317,189 @@ async function buildClaudeMdBlock(targetPath, server) {
312
317
  const existing = await readOptional(targetPath);
313
318
  return upsertMarkedBlock(existing, block);
314
319
  }
320
+ /**
321
+ * Grok Build (xAI) integration. Unlike Claude/Codex plugin marketplaces, Grok's native surface is:
322
+ * - MCP servers in `config.toml` (`[mcp_servers.<name>]`)
323
+ * - Skills under `~/.grok/skills/` or `<repo>/.grok/skills/`
324
+ * - Hooks under `~/.grok/hooks/*.json` or `<repo>/.grok/hooks/*.json`
325
+ * - Always-on rules in AGENTS.md (also loads CLAUDE.md for compat)
326
+ *
327
+ * Direct TOML registration is enough for tools to appear after a Grok restart; skills + AGENTS.md
328
+ * teach the memory loop; hooks reuse the same SessionStart/UserPromptSubmit/PreToolUse/Stop
329
+ * handlers (Grok aliases Claude tool names in matchers and accepts Claude-shaped hook JSON).
330
+ */
331
+ async function installGrok(options) {
332
+ const paths = grokPaths(options);
333
+ const server = mcpServerConfig(paths.npmExecPrefix, options.memoryRoot);
334
+ const skillWrites = await grokSkillWrites(paths.skillsRoot);
335
+ const hooks = buildHooksJson(paths.npmExecPrefix);
336
+ const existingToml = await readOptional(paths.configTomlPath);
337
+ const configToml = upsertGrokMcpToml(existingToml, server);
338
+ const agentsMd = await buildGrokAgentsMdBlock(paths.agentsMdPath, server);
339
+ const writes = [
340
+ writePlan(paths.configTomlPath, configToml),
341
+ ...skillWrites,
342
+ writePlan(paths.hooksPath, jsonText(hooks)),
343
+ writePlan(paths.agentsMdPath, agentsMd),
344
+ ];
345
+ if (!options.dryRun) {
346
+ await mkdir(paths.npmExecPrefix, { recursive: true });
347
+ for (const write of writes) {
348
+ await writeFileEnsured(write.file, write.content);
349
+ }
350
+ }
351
+ const installVerb = options.dryRun ? "Would install" : "Installed";
352
+ const registerVerb = options.dryRun ? "Would register" : "Registered";
353
+ return {
354
+ summary: [
355
+ `${installVerb} Grok Build integration (${options.scope} scope).`,
356
+ `${registerVerb} the augment MCP server in ${paths.configTomlPath}.`,
357
+ `${installVerb} skills under ${paths.skillsRoot}.`,
358
+ `${installVerb} lifecycle hooks at ${paths.hooksPath}.`,
359
+ `${installVerb === "Would install" ? "Would upsert" : "Upserted"} the memory-workflow block in ${paths.agentsMdPath}.`,
360
+ "Restart Grok (or press r in /mcps) so it reloads MCP servers and hooks.",
361
+ ],
362
+ files: writes.map((write) => write.file),
363
+ };
364
+ }
365
+ function grokPaths(options) {
366
+ const npmExecPrefix = sharedNpmExecPrefix(options.home);
367
+ if (options.scope === "repo") {
368
+ const grokRoot = path.join(options.cwd, ".grok");
369
+ return {
370
+ configTomlPath: path.join(grokRoot, "config.toml"),
371
+ skillsRoot: path.join(grokRoot, "skills"),
372
+ hooksPath: path.join(grokRoot, "hooks", "augment.json"),
373
+ agentsMdPath: path.join(options.cwd, "AGENTS.md"),
374
+ npmExecPrefix,
375
+ };
376
+ }
377
+ const grokRoot = path.join(options.home, ".grok");
378
+ return {
379
+ configTomlPath: path.join(grokRoot, "config.toml"),
380
+ skillsRoot: path.join(grokRoot, "skills"),
381
+ hooksPath: path.join(grokRoot, "hooks", "augment.json"),
382
+ agentsMdPath: path.join(grokRoot, "AGENTS.md"),
383
+ npmExecPrefix,
384
+ };
385
+ }
386
+ /**
387
+ * Install every bundled Claude skill into Grok's skill roots. Skill markdown is host-agnostic
388
+ * (MCP tool names); Grok discovers `SKILL.md` dirs under `~/.grok/skills/` and `.grok/skills/`.
389
+ */
390
+ async function grokSkillWrites(skillsRoot) {
391
+ const skillsRelative = path.join("integrations", "claude", "skills");
392
+ const entries = await readdir(path.join(packageRoot(), skillsRelative), { withFileTypes: true });
393
+ const writes = [];
394
+ for (const entry of entries) {
395
+ if (!entry.isDirectory()) {
396
+ continue;
397
+ }
398
+ const content = await readTemplate(path.join(skillsRelative, entry.name, "SKILL.md"));
399
+ writes.push(writePlan(path.join(skillsRoot, entry.name, "SKILL.md"), content));
400
+ }
401
+ return writes;
402
+ }
403
+ async function buildGrokAgentsMdBlock(targetPath, server) {
404
+ const template = await readTemplate("integrations/grok/AGENTS.md");
405
+ const block = [
406
+ BEGIN_MARKER,
407
+ "",
408
+ template.trim(),
409
+ "",
410
+ "## MCP Server",
411
+ "",
412
+ "Add this to Grok's config (`~/.grok/config.toml` for user scope, or `.grok/config.toml` in a repo):",
413
+ "",
414
+ "```toml",
415
+ formatGrokMcpTomlSection(server).trimEnd(),
416
+ "```",
417
+ "",
418
+ "Or run: `npx -y @fingerskier/augment install grok --scope user`",
419
+ "",
420
+ END_MARKER,
421
+ "",
422
+ ].join("\n");
423
+ const existing = await readOptional(targetPath);
424
+ return upsertMarkedBlock(existing, block);
425
+ }
426
+ /**
427
+ * Emit the `[mcp_servers.augment]` (+ optional `.env` table) block matching `grok mcp add` output.
428
+ * `startup_timeout_sec` is raised above Grok's 30s default so cold `npm exec` starts don't fail.
429
+ */
430
+ function formatGrokMcpTomlSection(server) {
431
+ const lines = [
432
+ `[mcp_servers.${PLUGIN_NAME}]`,
433
+ `command = ${tomlString(server.command)}`,
434
+ "args = [",
435
+ ...server.args.map((arg) => ` ${tomlString(arg)},`),
436
+ "]",
437
+ "enabled = true",
438
+ "startup_timeout_sec = 60",
439
+ ];
440
+ const envEntries = Object.entries(server.env);
441
+ if (envEntries.length > 0) {
442
+ lines.push("");
443
+ lines.push(`[mcp_servers.${PLUGIN_NAME}.env]`);
444
+ for (const [key, value] of envEntries) {
445
+ lines.push(`${key} = ${tomlString(value)}`);
446
+ }
447
+ }
448
+ return `${lines.join("\n")}\n`;
449
+ }
450
+ /**
451
+ * Idempotent merge of the augment MCP server into a Grok `config.toml`. Removes any existing
452
+ * `[mcp_servers.augment]` / nested tables first, then appends a fresh section so re-installs
453
+ * update command/args/env without duplicating keys or clobbering unrelated config.
454
+ */
455
+ export function upsertGrokMcpToml(existing, server) {
456
+ const section = formatGrokMcpTomlSection(server);
457
+ if (!existing || existing.trim().length === 0) {
458
+ return section;
459
+ }
460
+ const cleaned = removeTomlTablePrefix(existing, `mcp_servers.${PLUGIN_NAME}`);
461
+ const trimmed = cleaned.trimEnd();
462
+ return trimmed.length > 0 ? `${trimmed}\n\n${section}` : section;
463
+ }
464
+ /**
465
+ * Drop every TOML table whose header is `prefix` or a dotted child (`prefix.env`, …).
466
+ * Array-of-tables headers (`[[…]]`) and unrelated tables are left intact.
467
+ */
468
+ function removeTomlTablePrefix(text, prefix) {
469
+ const lines = text.split(/\r?\n/);
470
+ const kept = [];
471
+ let skipping = false;
472
+ for (const line of lines) {
473
+ const header = line.match(/^\s*\[([^\]]+)\]\s*$/);
474
+ if (header) {
475
+ const name = header[1].trim();
476
+ // Array-of-tables (`[[name]]`) still match this regex with brackets in the capture — only
477
+ // plain tables participate in mcp_servers.* removal.
478
+ if (name.startsWith("[")) {
479
+ skipping = false;
480
+ kept.push(line);
481
+ continue;
482
+ }
483
+ skipping = name === prefix || name.startsWith(`${prefix}.`);
484
+ if (!skipping) {
485
+ kept.push(line);
486
+ }
487
+ continue;
488
+ }
489
+ if (!skipping) {
490
+ kept.push(line);
491
+ }
492
+ }
493
+ // Collapse runs of blank lines left by removed sections.
494
+ return kept
495
+ .join("\n")
496
+ .replace(/\n{3,}/g, "\n\n")
497
+ .replace(/^\n+/, "");
498
+ }
499
+ function tomlString(value) {
500
+ // Prefer basic strings with escaped control chars; paths rarely need more.
501
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
502
+ }
315
503
  function codexPaths(options) {
316
504
  if (options.scope === "repo") {
317
505
  const pluginRoot = path.join(options.cwd, "plugins", PLUGIN_NAME);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}