holistic 0.2.0

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 (66) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/CONTRIBUTING.md +121 -0
  3. package/LICENSE +21 -0
  4. package/README.md +329 -0
  5. package/bin/holistic +17 -0
  6. package/bin/holistic.cmd +23 -0
  7. package/bin/holistic.js +59 -0
  8. package/dist/__tests__/mcp-notification.test.d.ts +5 -0
  9. package/dist/__tests__/mcp-notification.test.d.ts.map +1 -0
  10. package/dist/__tests__/mcp-notification.test.js +255 -0
  11. package/dist/__tests__/mcp-notification.test.js.map +1 -0
  12. package/dist/cli.d.ts +6 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +637 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/core/docs.d.ts +3 -0
  17. package/dist/core/docs.d.ts.map +1 -0
  18. package/dist/core/docs.js +602 -0
  19. package/dist/core/docs.js.map +1 -0
  20. package/dist/core/git-hooks.d.ts +17 -0
  21. package/dist/core/git-hooks.d.ts.map +1 -0
  22. package/dist/core/git-hooks.js +144 -0
  23. package/dist/core/git-hooks.js.map +1 -0
  24. package/dist/core/git.d.ts +12 -0
  25. package/dist/core/git.d.ts.map +1 -0
  26. package/dist/core/git.js +121 -0
  27. package/dist/core/git.js.map +1 -0
  28. package/dist/core/lock.d.ts +2 -0
  29. package/dist/core/lock.d.ts.map +1 -0
  30. package/dist/core/lock.js +40 -0
  31. package/dist/core/lock.js.map +1 -0
  32. package/dist/core/redact.d.ts +3 -0
  33. package/dist/core/redact.d.ts.map +1 -0
  34. package/dist/core/redact.js +13 -0
  35. package/dist/core/redact.js.map +1 -0
  36. package/dist/core/setup.d.ts +35 -0
  37. package/dist/core/setup.d.ts.map +1 -0
  38. package/dist/core/setup.js +654 -0
  39. package/dist/core/setup.js.map +1 -0
  40. package/dist/core/splash.d.ts +9 -0
  41. package/dist/core/splash.d.ts.map +1 -0
  42. package/dist/core/splash.js +35 -0
  43. package/dist/core/splash.js.map +1 -0
  44. package/dist/core/state.d.ts +42 -0
  45. package/dist/core/state.d.ts.map +1 -0
  46. package/dist/core/state.js +744 -0
  47. package/dist/core/state.js.map +1 -0
  48. package/dist/core/sync.d.ts +12 -0
  49. package/dist/core/sync.d.ts.map +1 -0
  50. package/dist/core/sync.js +106 -0
  51. package/dist/core/sync.js.map +1 -0
  52. package/dist/core/types.d.ts +210 -0
  53. package/dist/core/types.d.ts.map +1 -0
  54. package/dist/core/types.js +2 -0
  55. package/dist/core/types.js.map +1 -0
  56. package/dist/daemon.d.ts +7 -0
  57. package/dist/daemon.d.ts.map +1 -0
  58. package/dist/daemon.js +242 -0
  59. package/dist/daemon.js.map +1 -0
  60. package/dist/mcp-server.d.ts +11 -0
  61. package/dist/mcp-server.d.ts.map +1 -0
  62. package/dist/mcp-server.js +266 -0
  63. package/dist/mcp-server.js.map +1 -0
  64. package/docs/handoff-walkthrough.md +119 -0
  65. package/docs/structured-metadata.md +341 -0
  66. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { HolisticState, RuntimePaths } from './types.js';
2
+ export declare function writeDerivedDocs(paths: RuntimePaths, state: HolisticState): void;
3
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/core/docs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAA8B,YAAY,EAAiC,MAAM,YAAY,CAAC;AA0nBzH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAyBhF"}
@@ -0,0 +1,602 @@
1
+ import fs from "node:fs";
2
+ import { readArchivedSessions } from './state.js';
3
+ function renderList(items, emptyText) {
4
+ if (items.length === 0) {
5
+ return `- ${emptyText}`;
6
+ }
7
+ return items.map((item) => `- ${item}`).join("\n");
8
+ }
9
+ function renderStructuredImpacts(impacts) {
10
+ return impacts.map((impact) => {
11
+ let line = `- ${impact.description}`;
12
+ const metadata = [];
13
+ if (impact.severity) {
14
+ metadata.push(`severity: ${impact.severity}`);
15
+ }
16
+ if (impact.affectedAreas && impact.affectedAreas.length > 0) {
17
+ metadata.push(`areas: ${impact.affectedAreas.join(", ")}`);
18
+ }
19
+ if (impact.outcome) {
20
+ metadata.push(`outcome: ${impact.outcome}`);
21
+ }
22
+ if (metadata.length > 0) {
23
+ line += ` _[${metadata.join(" | ")}]_`;
24
+ }
25
+ return line;
26
+ }).join("\n");
27
+ }
28
+ function renderValidationChecklist(items) {
29
+ return items.map((item) => {
30
+ let line = ` - ${item.description}`;
31
+ if (item.command) {
32
+ line += `\n - Command: \`${item.command}\``;
33
+ }
34
+ if (item.expectedOutcome) {
35
+ line += `\n - Expected: ${item.expectedOutcome}`;
36
+ }
37
+ return line;
38
+ }).join("\n");
39
+ }
40
+ function renderStructuredRegressions(regressions) {
41
+ return regressions.map((risk) => {
42
+ let line = `- ${risk.description}`;
43
+ const metadata = [];
44
+ if (risk.severity) {
45
+ metadata.push(`severity: ${risk.severity}`);
46
+ }
47
+ if (risk.affectedAreas && risk.affectedAreas.length > 0) {
48
+ metadata.push(`areas: ${risk.affectedAreas.join(", ")}`);
49
+ }
50
+ if (metadata.length > 0) {
51
+ line += ` _[${metadata.join(" | ")}]_`;
52
+ }
53
+ if (risk.validationChecklist && risk.validationChecklist.length > 0) {
54
+ line += `\n - Validation checklist:\n${renderValidationChecklist(risk.validationChecklist)}`;
55
+ }
56
+ return line;
57
+ }).join("\n");
58
+ }
59
+ function currentSnapshot(state) {
60
+ if (state.activeSession) {
61
+ const session = state.activeSession;
62
+ return {
63
+ title: session.title,
64
+ goal: session.currentGoal,
65
+ status: session.latestStatus,
66
+ tried: session.triedItems,
67
+ next: session.nextSteps,
68
+ assumptions: session.assumptions,
69
+ blockers: session.blockers,
70
+ refs: session.references,
71
+ impacts: session.impactNotes,
72
+ regressions: session.regressionRisks,
73
+ changedFiles: session.changedFiles,
74
+ plan: session.currentPlan,
75
+ session,
76
+ };
77
+ }
78
+ return {
79
+ title: state.lastHandoff ? "Resume from last handoff" : "No active session",
80
+ goal: state.lastHandoff?.nextAction || "Start a new Holistic session.",
81
+ status: state.lastHandoff?.summary || "No active handoff captured yet.",
82
+ tried: [],
83
+ next: state.lastHandoff ? [state.lastHandoff.nextAction] : [],
84
+ assumptions: [],
85
+ blockers: state.lastHandoff?.blockers || [],
86
+ refs: [],
87
+ impacts: [],
88
+ regressions: [],
89
+ changedFiles: [],
90
+ plan: [],
91
+ session: null,
92
+ };
93
+ }
94
+ function parseKnownFixes(regressions) {
95
+ const fixes = [];
96
+ const other = [];
97
+ for (const r of regressions) {
98
+ if (r.startsWith("[FIX] ")) {
99
+ fixes.push(r);
100
+ }
101
+ else {
102
+ other.push(r);
103
+ }
104
+ }
105
+ return { fixes, other };
106
+ }
107
+ function renderKnownFixes(fixes) {
108
+ if (fixes.length === 0) {
109
+ return "";
110
+ }
111
+ const items = fixes.map((fix) => {
112
+ const withoutPrefix = fix.slice("[FIX] ".length);
113
+ const parts = withoutPrefix.split(" | ");
114
+ const description = parts[0] ?? withoutPrefix;
115
+ const filesPart = parts.find((p) => p.startsWith("files: "));
116
+ const riskPart = parts.find((p) => p.startsWith("risk: "));
117
+ let entry = `- ${description}`;
118
+ if (filesPart) {
119
+ entry += `\n Sensitive files: ${filesPart.slice("files: ".length)}`;
120
+ }
121
+ if (riskPart) {
122
+ entry += `\n Risk: ${riskPart.slice("risk: ".length)}`;
123
+ }
124
+ return entry;
125
+ }).join("\n");
126
+ return `## Known Fixes — Do Not Regress
127
+
128
+ ⚠️ If you are about to edit a file listed here, STOP and read the fix entry first.
129
+
130
+ ${items}
131
+
132
+ `;
133
+ }
134
+ function renderHolisticMd(state) {
135
+ const snapshot = currentSnapshot(state);
136
+ const pendingPreview = state.pendingWork.slice(0, 5);
137
+ const adapterLinks = Object.entries(state.docIndex.adapterDocs)
138
+ .map(([name, target]) => `- ${name}: [${target}](${target})`)
139
+ .join("\n");
140
+ const { fixes, other: otherRegressions } = parseKnownFixes(snapshot.regressions);
141
+ const knownFixesBlock = renderKnownFixes(fixes);
142
+ return `# HOLISTIC
143
+
144
+ <!-- ═══════════════════════════════════════════════════════════════════════
145
+ AGENT INSTRUCTIONS — READ THIS ENTIRE FILE BEFORE DOING ANYTHING ELSE
146
+ ═══════════════════════════════════════════════════════════════════════
147
+
148
+ 1. Read this file top-to-bottom.
149
+ 2. Read AGENTS.md for the setup steps specific to your agent.
150
+ 3. Summarise to the user: what was last worked on, what's planned next.
151
+ 4. Ask: "Continue as planned, tweak the plan, or do something different?"
152
+ 5. Run \`holistic resume --agent <your-agent-name>\` to open a session.
153
+
154
+ ⚠️ If you are about to edit a file listed under KNOWN FIXES, STOP and
155
+ read that fix entry carefully before proceeding.
156
+ ════════════════════════════════════════════════════════════════════════ -->
157
+
158
+ ## Start Here
159
+
160
+ This repo uses Holistic for cross-agent handoffs. The source of truth is the repo itself: handoff docs, history, and regression memory should be committed and synced so any device can continue. Read this file first, then review the long-term history docs and zero-touch architecture note, then use the adapter doc for your app. The Holistic daemon is optional and only improves passive capture on devices where it is installed.
161
+
162
+ ## Product North Star
163
+
164
+ Open repo, start working, Holistic quietly keeps continuity alive.
165
+
166
+ That is the intended end state for this project. Prefer changes that reduce ceremony, keep continuity durable, and make Holistic fade further into the background of normal work.
167
+
168
+ ${knownFixesBlock}## Current Objective
169
+
170
+ **${snapshot.title}**
171
+
172
+ ${snapshot.goal}
173
+
174
+ ## Latest Work Status
175
+
176
+ ${snapshot.status}
177
+
178
+ ## What Was Tried
179
+
180
+ ${renderList(snapshot.tried, "No tried items captured yet.")}
181
+
182
+ ## What To Try Next
183
+
184
+ ${renderList(snapshot.next, "Run `holistic start-new --goal \"Describe the task\"` to begin capturing work.")}
185
+
186
+ ## Active Plan
187
+
188
+ ${renderList(snapshot.plan, "No active plan has been captured yet.")}
189
+
190
+ ## Overall Impact So Far
191
+
192
+ ${renderList(snapshot.impacts, "No durable impact notes recorded yet.")}
193
+
194
+ ## Regression Watch
195
+
196
+ ${renderList(otherRegressions, "Review the regression watch document before changing related behavior.")}
197
+
198
+ ## Key Assumptions
199
+
200
+ ${renderList(snapshot.assumptions, "No explicit assumptions recorded yet.")}
201
+
202
+ ## Blockers
203
+
204
+ ${renderList(snapshot.blockers, "No blockers recorded.")}
205
+
206
+ ## Changed Files In Current Session
207
+
208
+ ${renderList(snapshot.changedFiles, "No repo changes detected for the active session.")}
209
+
210
+ ## Pending Work Queue
211
+
212
+ ${pendingPreview.length === 0 ? "- No queued work." : pendingPreview.map((item) => `- ${item.title}: ${item.recommendedNextStep}`).join("\n")}
213
+
214
+ ## Long-Term Memory
215
+
216
+ - Project history: [${state.docIndex.historyDoc}](${state.docIndex.historyDoc})
217
+ - Regression watch: [${state.docIndex.regressionDoc}](${state.docIndex.regressionDoc})
218
+ - Zero-touch architecture: [${state.docIndex.zeroTouchDoc}](${state.docIndex.zeroTouchDoc})
219
+ - Portable sync model: handoffs are intended to be committed and synced so any device with repo access can continue.
220
+
221
+ ## Supporting Documents
222
+
223
+ - State file: [${state.docIndex.stateFile}](${state.docIndex.stateFile})
224
+ - Current plan: [${state.docIndex.currentPlanDoc}](${state.docIndex.currentPlanDoc})
225
+ - Session protocol: [${state.docIndex.protocolDoc}](${state.docIndex.protocolDoc})
226
+ - Session archive: [${state.docIndex.sessionsDir}](${state.docIndex.sessionsDir})
227
+ - Adapter docs:
228
+ ${adapterLinks}
229
+
230
+ ## Historical Memory
231
+
232
+ - Last updated: ${state.updatedAt}
233
+ - Last handoff: ${state.lastHandoff ? `${state.lastHandoff.summary}` : "No explicit handoff captured yet."}
234
+ - Pending sessions remembered: ${state.pendingWork.length}
235
+ `;
236
+ }
237
+ function renderAgentsMd(state) {
238
+ return `# AGENTS
239
+
240
+ <!-- ═══════════════════════════════════════════════════════════════════
241
+ AGENT AUTO-START INSTRUCTIONS
242
+ ═══════════════════════════════════════════════════════════════════
243
+
244
+ YOU ARE READING THIS FILE AUTOMATICALLY AT SESSION START. GOOD.
245
+ Now do the following BEFORE responding to the user or doing any work:
246
+
247
+ 1. Read HOLISTIC.md in full.
248
+ 2. Summarise to the user: what was last worked on, what's planned next,
249
+ and flag any KNOWN FIXES they should be aware of.
250
+ 3. Ask: "Continue as planned, tweak the plan, or do something different?"
251
+ 4. Run: holistic resume --agent <your-agent-name>
252
+
253
+ DO NOT skip step 1. HOLISTIC.md is the source of truth.
254
+ ══════════════════════════════════════════════════════════════════ -->
255
+
256
+ ## Holistic Protocol
257
+
258
+ ### Product North Star
259
+
260
+ Open repo, start working, Holistic quietly keeps continuity alive.
261
+
262
+ Agents should treat that as the ultimate UX target. Prefer decisions that reduce manual ceremony while making checkpoint, resume, handoff, and regression-awareness more automatic and more reliable.
263
+
264
+ Every agent working in this repo should:
265
+
266
+ 1. Read [HOLISTIC.md](./HOLISTIC.md) first.
267
+ 2. Review [Project History](./.holistic/context/project-history.md), [Regression Watch](./.holistic/context/regression-watch.md), and [Zero-Touch Architecture](./.holistic/context/zero-touch.md) before changing behavior that may already have been fixed.
268
+ 3. Read the app-specific adapter in \`${state.docIndex.contextDir}/adapters/\`.
269
+ 4. If the Holistic daemon is installed, assume passive capture is already running in the background.
270
+ 5. Run \`holistic resume --agent <codex|claude|antigravity|gemini|copilot|cursor|goose|gsd>\` only when you need an explicit recap or recovery flow.
271
+ 6. Recap the current state for the user and ask whether to continue, tweak the plan, or start something new.
272
+ 7. Record a checkpoint when focus changes, before likely context compaction, and before handoff.
273
+
274
+ ## Handoff Commands
275
+
276
+ - \`holistic checkpoint --reason "<why>"\`
277
+ - \`holistic checkpoint --fixed "<bug>" --fix-files "<file>" --fix-risk "<what would reintroduce it>"\`
278
+ - \`holistic set-phase --phase "<id>" --name "<name>" --goal "<goal>"\`
279
+ - \`holistic complete-phase --phase "<id>" --next-phase "<id>" --next-name "<name>" --next-goal "<goal>"\`
280
+ - \`holistic handoff\`
281
+ - \`holistic start-new --goal "<goal>"\`
282
+ - \`holistic watch\`
283
+
284
+ ## Adding a New Agent Adapter
285
+
286
+ To add instructions for a new agent, create a file at:
287
+
288
+ \`${state.docIndex.contextDir}/adapters/<agent-name>.md\`
289
+
290
+ Copy any existing adapter as a template and customise the agent name and startup steps.
291
+ Do not edit Holistic source files to register agents — adapters are data, not code.
292
+ `;
293
+ }
294
+ function renderContextReadme(state) {
295
+ return `# Holistic Context
296
+
297
+ This folder holds repo-visible memory that any agent can reuse.
298
+
299
+ - [Current Plan](./current-plan.md)
300
+ - [Session Protocol](./session-protocol.md)
301
+ - [Project History](./project-history.md)
302
+ - [Regression Watch](./regression-watch.md)
303
+ - [Zero-Touch Architecture](./zero-touch.md)
304
+ - [Codex Adapter](./adapters/codex.md)
305
+ - [Claude/Cowork Adapter](./adapters/claude-cowork.md)
306
+ - [Antigravity Adapter](./adapters/antigravity.md)
307
+
308
+ Project: ${state.projectName}
309
+ Updated: ${state.updatedAt}
310
+ `;
311
+ }
312
+ function renderCurrentPlan(state) {
313
+ const snapshot = currentSnapshot(state);
314
+ return `# Current Plan
315
+
316
+ ## Goal
317
+
318
+ ${snapshot.goal}
319
+
320
+ ## Latest Status
321
+
322
+ ${snapshot.status}
323
+
324
+ ## Planned Next Steps
325
+
326
+ ${renderList(snapshot.plan.length > 0 ? snapshot.plan : snapshot.next, "No plan captured yet.")}
327
+
328
+ ## Project Impact
329
+
330
+ ${renderList(snapshot.impacts, "No impact notes captured yet.")}
331
+
332
+ ## References
333
+
334
+ ${renderList(snapshot.refs, "No linked references yet.")}
335
+ `;
336
+ }
337
+ function renderProtocol() {
338
+ return `# Session Protocol
339
+
340
+ ## Product North Star
341
+
342
+ Open repo, start working, Holistic quietly keeps continuity alive.
343
+
344
+ The protocol below is the current operating model, not the final ideal. When improving Holistic, prefer changes that make more of this protocol happen automatically without weakening durable continuity.
345
+
346
+ ## Startup
347
+
348
+ 1. Read \`HOLISTIC.md\`.
349
+ 2. Review \`project-history.md\`, \`regression-watch.md\`, and \`zero-touch.md\` for durable project memory and automation expectations.
350
+ 3. If the Holistic daemon is installed, let it capture repo activity in the background.
351
+ 4. Run \`holistic resume --agent <app>\` only when you need an explicit recap or recovery flow.
352
+ 5. Recap the work state to the user.
353
+ 6. Ask whether to continue as planned, tweak the plan, or start something new.
354
+
355
+ ## During The Session
356
+
357
+ Run \`holistic checkpoint\`:
358
+
359
+ - when the task focus changes
360
+ - before likely context compaction
361
+ - after meaningful progress
362
+ - when you fix something another agent might accidentally re-break later
363
+
364
+ Use \`holistic watch\` if you want foreground background checkpoints while working manually.
365
+
366
+ ## Handoff
367
+
368
+ 1. Run \`holistic handoff\`.
369
+ 2. Confirm or edit the drafted summary.
370
+ 3. Make sure the next step, impact, and regression risks are accurate.
371
+ 4. Let Holistic write the docs and create the handoff commit.\n5. Holistic sync helpers should push the current branch and mirror portable state to the dedicated portable state ref.\n6. If you continue on another device, pull or restore the latest portable state before starting work.
372
+ `;
373
+ }
374
+ function renderAdapter(appName, commandName) {
375
+ return `# ${appName} Adapter
376
+
377
+ ## Product North Star
378
+
379
+ Open repo, start working, Holistic quietly keeps continuity alive.
380
+
381
+ Use this adapter to move toward that outcome: less manual setup, less re-briefing, and more continuity preserved by default.
382
+
383
+ ## Startup Contract
384
+
385
+ 1. Read \`HOLISTIC.md\`.
386
+ 2. Review \`project-history.md\`, \`regression-watch.md\`, and \`zero-touch.md\` for durable memory before editing related code.
387
+ 3. If the Holistic daemon is installed, treat passive session capture as already active.
388
+ 4. Run \`holistic resume --agent ${commandName}\` when you need an explicit recap or recovery flow.
389
+ 5. Recap the current state for the user in the first 30 seconds.
390
+ 6. Ask: continue as planned, tweak the plan, or start something new.
391
+
392
+ ## Checkpoint Contract
393
+
394
+ Run \`holistic checkpoint\` when:
395
+
396
+ - the task focus changes
397
+ - you are about to compact or clear context
398
+ - you finish a meaningful chunk of work
399
+ - you fix or alter behavior that could regress later
400
+
401
+ Include impact notes and regression risks when they matter.
402
+
403
+ ## Handoff Contract
404
+
405
+ - Preferred: map your session-end workflow to \`holistic handoff\`
406
+ - Fallback: ask the user to run \`holistic handoff\` before leaving the session
407
+ `;
408
+ }
409
+ function renderProjectHistory(paths, state) {
410
+ const sessions = state.activeSession ? [state.activeSession, ...readArchivedSessions(paths)] : readArchivedSessions(paths);
411
+ const body = sessions.length === 0
412
+ ? "No archived sessions yet. Use handoffs to build durable project history."
413
+ : sessions.map((session) => {
414
+ let sessionBlock = `## ${session.title}\n\n- Session: ${session.id}\n- Agent: ${session.agent}\n- Status: ${session.status}\n- When: ${session.endedAt || session.updatedAt}\n- Goal: ${session.currentGoal}`;
415
+ if (session.severity) {
416
+ sessionBlock += `\n- Severity: ${session.severity}`;
417
+ }
418
+ if (session.outcomeStatus) {
419
+ sessionBlock += `\n- Outcome: ${session.outcomeStatus}`;
420
+ }
421
+ if (session.affectedAreas && session.affectedAreas.length > 0) {
422
+ sessionBlock += `\n- Affected areas: ${session.affectedAreas.join(", ")}`;
423
+ }
424
+ if (session.relatedSessions && session.relatedSessions.length > 0) {
425
+ sessionBlock += `\n- Related sessions: ${session.relatedSessions.join(", ")}`;
426
+ }
427
+ sessionBlock += `\n- Summary: ${session.latestStatus}\n- Work done:\n${renderList(session.workDone, "No completed work recorded.")}`;
428
+ if (session.impactNotesStructured && session.impactNotesStructured.length > 0) {
429
+ sessionBlock += `\n- Why it mattered:\n${renderStructuredImpacts(session.impactNotesStructured)}`;
430
+ }
431
+ else {
432
+ sessionBlock += `\n- Why it mattered:\n${renderList(session.impactNotes, "No impact notes recorded.")}`;
433
+ }
434
+ if (session.regressionRisksStructured && session.regressionRisksStructured.length > 0) {
435
+ sessionBlock += `\n- Regression risks:\n${renderStructuredRegressions(session.regressionRisksStructured)}`;
436
+ }
437
+ else {
438
+ sessionBlock += `\n- Regression risks:\n${renderList(session.regressionRisks, "No specific regression risks recorded.")}`;
439
+ }
440
+ sessionBlock += `\n- References:\n${renderList(session.references, "No references recorded.")}\n`;
441
+ return sessionBlock;
442
+ }).join("\n");
443
+ return `# Project History\n\nThis archive is the durable memory of what agents changed, why they changed it, and what the project impact was. Review it before revisiting a feature area.\n\n${body}\n`;
444
+ }
445
+ function renderRegressionWatch(paths, state) {
446
+ const sessions = (state.activeSession ? [state.activeSession, ...readArchivedSessions(paths)] : readArchivedSessions(paths))
447
+ .filter((session) => session.regressionRisks.length > 0 || session.regressionRisksStructured?.length || session.impactNotes.length > 0 || session.impactNotesStructured?.length || session.workDone.length > 0);
448
+ const body = sessions.length === 0
449
+ ? "No regression watch items yet. Add them during checkpoints and handoffs when a change must stay fixed."
450
+ : sessions.map((session) => {
451
+ let sessionBlock = `## ${session.title}\n\n- Goal: ${session.currentGoal}`;
452
+ if (session.severity) {
453
+ sessionBlock += `\n- Severity: ${session.severity}`;
454
+ }
455
+ if (session.affectedAreas && session.affectedAreas.length > 0) {
456
+ sessionBlock += `\n- Affected areas: ${session.affectedAreas.join(", ")}`;
457
+ }
458
+ if (session.relatedSessions && session.relatedSessions.length > 0) {
459
+ sessionBlock += `\n- Related sessions: ${session.relatedSessions.join(", ")}`;
460
+ }
461
+ sessionBlock += `\n- Durable changes:\n${renderList(session.workDone, "No durable changes recorded.")}`;
462
+ if (session.impactNotesStructured && session.impactNotesStructured.length > 0) {
463
+ sessionBlock += `\n- Why this matters:\n${renderStructuredImpacts(session.impactNotesStructured)}`;
464
+ }
465
+ else {
466
+ sessionBlock += `\n- Why this matters:\n${renderList(session.impactNotes, "No impact notes recorded.")}`;
467
+ }
468
+ if (session.regressionRisksStructured && session.regressionRisksStructured.length > 0) {
469
+ sessionBlock += `\n- Do not regress:\n${renderStructuredRegressions(session.regressionRisksStructured)}`;
470
+ }
471
+ else {
472
+ sessionBlock += `\n- Do not regress:\n${renderList(session.regressionRisks, "No explicit regression risk recorded.")}`;
473
+ }
474
+ sessionBlock += `\n- Source session: ${session.id}\n`;
475
+ return sessionBlock;
476
+ }).join("\n");
477
+ return `# Regression Watch\n\nUse this before changing existing behavior. It is the short list of fixes and outcomes that future agents should preserve.\n\n${body}\n`;
478
+ }
479
+ function renderZeroTouchDoc(state) {
480
+ return `# Zero-Touch Architecture
481
+
482
+ Holistic cannot force every app or agent to execute startup logic just because a repo exists. Zero-touch behavior therefore has two layers.
483
+
484
+ ## Product North Star
485
+
486
+ Open repo, start working, Holistic quietly keeps continuity alive.
487
+
488
+ Zero-touch architecture exists to close the gap between the current protocol and that goal.
489
+
490
+ ## Repo Layer
491
+
492
+ - \`HOLISTIC.md\`, \`AGENTS.md\`, project history, and regression watch stay inside the repo so any agent that reads repo instructions can recover context.
493
+ - This layer travels with git and works cross-agent as long as the tool respects repo-visible instructions.
494
+ - The portable expectation is that handoff docs get committed and synced so another device can continue later.
495
+
496
+ ## Machine Layer
497
+
498
+ - A background Holistic daemon can watch the repo and create passive checkpoints without you manually starting a session.
499
+ - Generated restore scripts can pull the dedicated Holistic portable state ref into the working tree when it is safe to do so.
500
+ - This is the only realistic way to get close to seamless cross-tool capture when apps do not expose a startup hook.
501
+ - It requires a one-time machine install or service registration outside the repo.
502
+
503
+ ## Hard Limit
504
+
505
+ - If a tool ignores repo instructions and there is no daemon or app integration, the repo alone cannot make that tool participate.
506
+ - Holistic can preserve memory and offer recovery, but it cannot force arbitrary apps to cooperate from inside git-tracked files.
507
+
508
+ ## Current Recommendation
509
+
510
+ - Keep using repo-visible memory as the portable source of truth.
511
+ - Treat the dedicated Holistic portable state ref as the clean cross-device distribution channel for that memory.
512
+ - Add the Holistic daemon as the passive capture layer on devices where you want unattended local capture.
513
+ - Add app-specific integrations when a tool exposes startup hooks or slash-command automation.
514
+ - Holistic should recognize workflow systems, not become one.
515
+ - Prefer lightweight workflow context references over baking phases, slices, or other planning structures into the core product.
516
+ - Prefer workflow-disappearance improvements over adding more visible user ceremony.
517
+
518
+ Project: ${state.projectName}
519
+ Updated: ${state.updatedAt}
520
+ `;
521
+ }
522
+ function renderRootAgentDoc(agentName, commandName) {
523
+ return `## Holistic — cross-agent session tracking
524
+
525
+ **At the start of every session, before doing anything else:**
526
+ 1. Read \`HOLISTIC.md\` in full.
527
+ 2. Read \`AGENTS.md\` — find the section for your agent and follow its setup steps.
528
+ 3. Summarise to the user: what was last worked on, what's planned next, and any known fixes to protect.
529
+ 4. Ask: "Continue as planned, tweak the plan, or do something different?"
530
+ 5. Run \`holistic resume --agent ${commandName}\` to register the session.
531
+
532
+ **After significant work or on any git commit (hook fires automatically):**
533
+ - Run \`holistic checkpoint --reason '<what you just did>'\`
534
+ - To record a fix that must not regress: \`holistic checkpoint --fixed '<bug>' --fix-files '<file>' --fix-risk '<what reintroduces it>'\`
535
+
536
+ **At the end of every session:**
537
+ - Run \`holistic handoff\` — this opens a dialog to capture the summary.
538
+ - Then commit: \`git add HOLISTIC.md AGENTS.md CLAUDE.md GEMINI.md HISTORY.md .holistic/ && git commit -m 'docs(holistic): handoff'\`
539
+
540
+ **Never touch files listed in the KNOWN FIXES section of HOLISTIC.md without reading that section first.**
541
+ `;
542
+ }
543
+ function renderRootHistoryMd(paths, state) {
544
+ const sessions = state.activeSession
545
+ ? [state.activeSession, ...readArchivedSessions(paths)]
546
+ : readArchivedSessions(paths);
547
+ const header = `# History — ${state.projectName}
548
+
549
+ _Append-only log of every Holistic session. Newest entries at the bottom._
550
+
551
+ ---
552
+ `;
553
+ if (sessions.length === 0) {
554
+ return header + "_No sessions recorded yet._\n";
555
+ }
556
+ const entries = [...sessions].reverse().map((session) => {
557
+ const when = session.endedAt || session.updatedAt;
558
+ let entry = `## Session \`${session.id}\` | ${when} | ${session.agent}\n\n`;
559
+ entry += `**Branch:** \`${session.branch}\` \n`;
560
+ entry += `**Status:** ${session.status} \n`;
561
+ entry += `**Goal:** ${session.currentGoal || "_unset_"} \n`;
562
+ entry += `**Checkpoints:** ${session.checkpointCount}\n`;
563
+ if (session.workDone.length > 0) {
564
+ entry += `\n**Work done:**\n${session.workDone.map((w) => `✅ ${w}`).join("\n")}\n`;
565
+ }
566
+ if (session.nextSteps.length > 0) {
567
+ entry += `\n**Recommended next steps:**\n${session.nextSteps.map((s) => `- ${s}`).join("\n")}\n`;
568
+ }
569
+ if (session.changedFiles.length > 0) {
570
+ entry += `\n**Files changed:**\n${session.changedFiles.map((f) => `- \`${f}\``).join("\n")}\n`;
571
+ }
572
+ return entry;
573
+ });
574
+ return header + entries.join("\n---\n\n") + "\n";
575
+ }
576
+ export function writeDerivedDocs(paths, state) {
577
+ fs.mkdirSync(paths.holisticDir, { recursive: true });
578
+ fs.mkdirSync(paths.contextDir, { recursive: true });
579
+ fs.mkdirSync(paths.adaptersDir, { recursive: true });
580
+ fs.mkdirSync(paths.sessionsDir, { recursive: true });
581
+ fs.writeFileSync(paths.masterDoc, renderHolisticMd(state), "utf8");
582
+ fs.writeFileSync(paths.agentsDoc, renderAgentsMd(state), "utf8");
583
+ fs.writeFileSync(paths.currentPlanDoc, renderCurrentPlan(state), "utf8");
584
+ fs.writeFileSync(paths.protocolDoc, renderProtocol(), "utf8");
585
+ fs.writeFileSync(paths.historyDoc, renderProjectHistory(paths, state), "utf8");
586
+ fs.writeFileSync(paths.regressionDoc, renderRegressionWatch(paths, state), "utf8");
587
+ fs.writeFileSync(paths.zeroTouchDoc, renderZeroTouchDoc(state), "utf8");
588
+ fs.writeFileSync(`${paths.contextDir}/README.md`, renderContextReadme(state), "utf8");
589
+ fs.writeFileSync(`${paths.adaptersDir}/codex.md`, renderAdapter("Codex", "codex"), "utf8");
590
+ fs.writeFileSync(`${paths.adaptersDir}/claude-cowork.md`, renderAdapter("Claude/Cowork", "claude"), "utf8");
591
+ fs.writeFileSync(`${paths.adaptersDir}/antigravity.md`, renderAdapter("Antigravity", "antigravity"), "utf8");
592
+ if (paths.rootClaudeDoc) {
593
+ fs.writeFileSync(paths.rootClaudeDoc, renderRootAgentDoc("Claude/Cowork", "claude"), "utf8");
594
+ }
595
+ if (paths.rootGeminiDoc) {
596
+ fs.writeFileSync(paths.rootGeminiDoc, renderRootAgentDoc("Antigravity/Gemini", "antigravity"), "utf8");
597
+ }
598
+ if (paths.rootHistoryDoc) {
599
+ fs.writeFileSync(paths.rootHistoryDoc, renderRootHistoryMd(paths, state), "utf8");
600
+ }
601
+ }
602
+ //# sourceMappingURL=docs.js.map