@plumbus/core 0.2.9 → 0.3.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 (176) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ai/__tests__/ai-service.test.js +704 -1
  3. package/dist/ai/__tests__/ai-service.test.js.map +1 -1
  4. package/dist/ai/__tests__/chunking.test.js +34 -0
  5. package/dist/ai/__tests__/chunking.test.js.map +1 -1
  6. package/dist/ai/__tests__/provider.test.d.ts.map +1 -1
  7. package/dist/ai/__tests__/provider.test.js +425 -0
  8. package/dist/ai/__tests__/provider.test.js.map +1 -1
  9. package/dist/ai/__tests__/validation.test.js +200 -1
  10. package/dist/ai/__tests__/validation.test.js.map +1 -1
  11. package/dist/ai/__tests__/zod-to-provider-schema.test.d.ts +2 -0
  12. package/dist/ai/__tests__/zod-to-provider-schema.test.d.ts.map +1 -0
  13. package/dist/ai/__tests__/zod-to-provider-schema.test.js +60 -0
  14. package/dist/ai/__tests__/zod-to-provider-schema.test.js.map +1 -0
  15. package/dist/ai/ai-service.d.ts +19 -2
  16. package/dist/ai/ai-service.d.ts.map +1 -1
  17. package/dist/ai/ai-service.js +544 -110
  18. package/dist/ai/ai-service.js.map +1 -1
  19. package/dist/ai/cost-tracker.d.ts +26 -1
  20. package/dist/ai/cost-tracker.d.ts.map +1 -1
  21. package/dist/ai/cost-tracker.js +1 -0
  22. package/dist/ai/cost-tracker.js.map +1 -1
  23. package/dist/ai/index.d.ts +5 -3
  24. package/dist/ai/index.d.ts.map +1 -1
  25. package/dist/ai/index.js +5 -1
  26. package/dist/ai/index.js.map +1 -1
  27. package/dist/ai/provider.d.ts +45 -1
  28. package/dist/ai/provider.d.ts.map +1 -1
  29. package/dist/ai/provider.js +226 -32
  30. package/dist/ai/provider.js.map +1 -1
  31. package/dist/ai/rag/chunking.js +53 -3
  32. package/dist/ai/rag/chunking.js.map +1 -1
  33. package/dist/ai/refusal.d.ts +28 -0
  34. package/dist/ai/refusal.d.ts.map +1 -0
  35. package/dist/ai/refusal.js +36 -0
  36. package/dist/ai/refusal.js.map +1 -0
  37. package/dist/ai/validation.d.ts +40 -8
  38. package/dist/ai/validation.d.ts.map +1 -1
  39. package/dist/ai/validation.js +97 -6
  40. package/dist/ai/validation.js.map +1 -1
  41. package/dist/ai/zod-to-provider-schema.d.ts +15 -0
  42. package/dist/ai/zod-to-provider-schema.d.ts.map +1 -0
  43. package/dist/ai/zod-to-provider-schema.js +200 -0
  44. package/dist/ai/zod-to-provider-schema.js.map +1 -0
  45. package/dist/cli/__tests__/doctor.test.js +104 -2
  46. package/dist/cli/__tests__/doctor.test.js.map +1 -1
  47. package/dist/cli/__tests__/init.test.js +127 -7
  48. package/dist/cli/__tests__/init.test.js.map +1 -1
  49. package/dist/cli/__tests__/migrate.test.js +159 -2
  50. package/dist/cli/__tests__/migrate.test.js.map +1 -1
  51. package/dist/cli/commands/__tests__/commands.test.js +5 -0
  52. package/dist/cli/commands/__tests__/commands.test.js.map +1 -1
  53. package/dist/cli/commands/dev.d.ts.map +1 -1
  54. package/dist/cli/commands/dev.js +21 -1
  55. package/dist/cli/commands/dev.js.map +1 -1
  56. package/dist/cli/commands/doctor.d.ts +2 -0
  57. package/dist/cli/commands/doctor.d.ts.map +1 -1
  58. package/dist/cli/commands/doctor.js +78 -0
  59. package/dist/cli/commands/doctor.js.map +1 -1
  60. package/dist/cli/commands/generate.d.ts.map +1 -1
  61. package/dist/cli/commands/generate.js +7 -2
  62. package/dist/cli/commands/generate.js.map +1 -1
  63. package/dist/cli/commands/init.d.ts +16 -2
  64. package/dist/cli/commands/init.d.ts.map +1 -1
  65. package/dist/cli/commands/init.js +226 -25
  66. package/dist/cli/commands/init.js.map +1 -1
  67. package/dist/cli/commands/migrate.d.ts.map +1 -1
  68. package/dist/cli/commands/migrate.js +258 -8
  69. package/dist/cli/commands/migrate.js.map +1 -1
  70. package/dist/cli/commands/start.d.ts.map +1 -1
  71. package/dist/cli/commands/start.js +21 -1
  72. package/dist/cli/commands/start.js.map +1 -1
  73. package/dist/data/__tests__/drift-inspector.test.d.ts +2 -0
  74. package/dist/data/__tests__/drift-inspector.test.d.ts.map +1 -0
  75. package/dist/data/__tests__/drift-inspector.test.js +170 -0
  76. package/dist/data/__tests__/drift-inspector.test.js.map +1 -0
  77. package/dist/data/__tests__/framework-migration-rewriter.test.d.ts +2 -0
  78. package/dist/data/__tests__/framework-migration-rewriter.test.d.ts.map +1 -0
  79. package/dist/data/__tests__/framework-migration-rewriter.test.js +329 -0
  80. package/dist/data/__tests__/framework-migration-rewriter.test.js.map +1 -0
  81. package/dist/data/__tests__/migration.test.js +93 -2
  82. package/dist/data/__tests__/migration.test.js.map +1 -1
  83. package/dist/data/__tests__/repository.test.js +126 -0
  84. package/dist/data/__tests__/repository.test.js.map +1 -1
  85. package/dist/data/drift-inspector.d.ts +41 -0
  86. package/dist/data/drift-inspector.d.ts.map +1 -0
  87. package/dist/data/drift-inspector.js +197 -0
  88. package/dist/data/drift-inspector.js.map +1 -0
  89. package/dist/data/framework-migration-rewriter.d.ts +61 -0
  90. package/dist/data/framework-migration-rewriter.d.ts.map +1 -0
  91. package/dist/data/framework-migration-rewriter.js +357 -0
  92. package/dist/data/framework-migration-rewriter.js.map +1 -0
  93. package/dist/data/index.d.ts +2 -1
  94. package/dist/data/index.d.ts.map +1 -1
  95. package/dist/data/index.js +2 -1
  96. package/dist/data/index.js.map +1 -1
  97. package/dist/data/migration.d.ts +31 -1
  98. package/dist/data/migration.d.ts.map +1 -1
  99. package/dist/data/migration.js +113 -3
  100. package/dist/data/migration.js.map +1 -1
  101. package/dist/data/repository.d.ts.map +1 -1
  102. package/dist/data/repository.js +21 -0
  103. package/dist/data/repository.js.map +1 -1
  104. package/dist/define/__tests__/definePrompt.test.js +37 -0
  105. package/dist/define/__tests__/definePrompt.test.js.map +1 -1
  106. package/dist/define/definePrompt.d.ts +13 -0
  107. package/dist/define/definePrompt.d.ts.map +1 -1
  108. package/dist/define/definePrompt.js +3 -0
  109. package/dist/define/definePrompt.js.map +1 -1
  110. package/dist/errors/http.d.ts.map +1 -1
  111. package/dist/errors/http.js +2 -0
  112. package/dist/errors/http.js.map +1 -1
  113. package/dist/errors/index.d.ts +12 -0
  114. package/dist/errors/index.d.ts.map +1 -1
  115. package/dist/errors/index.js +21 -0
  116. package/dist/errors/index.js.map +1 -1
  117. package/dist/events/__tests__/event-emitter.test.js +72 -0
  118. package/dist/events/__tests__/event-emitter.test.js.map +1 -1
  119. package/dist/events/emitter.d.ts.map +1 -1
  120. package/dist/events/emitter.js +51 -0
  121. package/dist/events/emitter.js.map +1 -1
  122. package/dist/execution/__tests__/context-factory.test.js +1 -0
  123. package/dist/execution/__tests__/context-factory.test.js.map +1 -1
  124. package/dist/execution/context-factory.d.ts.map +1 -1
  125. package/dist/execution/context-factory.js +2 -0
  126. package/dist/execution/context-factory.js.map +1 -1
  127. package/dist/flows/__tests__/flow-engine.test.js +451 -4
  128. package/dist/flows/__tests__/flow-engine.test.js.map +1 -1
  129. package/dist/flows/__tests__/flow-service.test.js +8 -0
  130. package/dist/flows/__tests__/flow-service.test.js.map +1 -1
  131. package/dist/flows/__tests__/step-executor.test.js +8 -2
  132. package/dist/flows/__tests__/step-executor.test.js.map +1 -1
  133. package/dist/flows/engine.d.ts +50 -1
  134. package/dist/flows/engine.d.ts.map +1 -1
  135. package/dist/flows/engine.js +427 -23
  136. package/dist/flows/engine.js.map +1 -1
  137. package/dist/flows/flow-service.d.ts.map +1 -1
  138. package/dist/flows/flow-service.js +4 -0
  139. package/dist/flows/flow-service.js.map +1 -1
  140. package/dist/flows/index.d.ts +1 -1
  141. package/dist/flows/index.d.ts.map +1 -1
  142. package/dist/flows/index.js +1 -1
  143. package/dist/flows/index.js.map +1 -1
  144. package/dist/flows/schema.d.ts +34 -0
  145. package/dist/flows/schema.d.ts.map +1 -1
  146. package/dist/flows/schema.js +3 -0
  147. package/dist/flows/schema.js.map +1 -1
  148. package/dist/index.d.ts +4 -4
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +3 -3
  151. package/dist/index.js.map +1 -1
  152. package/dist/server/bootstrap.d.ts +14 -0
  153. package/dist/server/bootstrap.d.ts.map +1 -1
  154. package/dist/server/bootstrap.js +23 -4
  155. package/dist/server/bootstrap.js.map +1 -1
  156. package/dist/testing/context.d.ts.map +1 -1
  157. package/dist/testing/context.js +37 -1
  158. package/dist/testing/context.js.map +1 -1
  159. package/dist/types/context.d.ts +110 -0
  160. package/dist/types/context.d.ts.map +1 -1
  161. package/dist/types/enums.d.ts +2 -0
  162. package/dist/types/enums.d.ts.map +1 -1
  163. package/dist/types/enums.js +2 -0
  164. package/dist/types/enums.js.map +1 -1
  165. package/dist/types/prompt.d.ts +64 -0
  166. package/dist/types/prompt.d.ts.map +1 -1
  167. package/dist/worker/__tests__/bootstrap.test.js +36 -2
  168. package/dist/worker/__tests__/bootstrap.test.js.map +1 -1
  169. package/dist/worker/bootstrap.d.ts +7 -0
  170. package/dist/worker/bootstrap.d.ts.map +1 -1
  171. package/dist/worker/bootstrap.js +153 -12
  172. package/dist/worker/bootstrap.js.map +1 -1
  173. package/instructions/framework.md +7 -0
  174. package/instructions/guardrails.md +39 -0
  175. package/instructions/patterns.md +10 -0
  176. package/package.json +3 -2
@@ -1,8 +1,61 @@
1
1
  // ── plumbus init ──
2
2
  // Generate AI agent wiring files that connect coding agents to framework knowledge
3
+ import * as fs from 'node:fs';
3
4
  import * as path from 'node:path';
4
- import { detectMonorepoLayout, info, success, writeFile } from '../utils.js';
5
+ import { detectMonorepoLayout, error as logError, info, success, warn, writeFile, } from '../utils.js';
6
+ export const AGENT_WIRING_VERSION = 2;
7
+ export const AGENT_WIRING_END_MARKER = '<!-- /plumbus:agent-wiring -->';
8
+ const AGENT_WIRING_VERSION_PATTERN = /plumbus:agent-wiring version=(\d+)\b/i;
9
+ const AGENT_WIRING_START_PATTERN = /^(?:<!--\s*plumbus:agent-wiring version=\d+\b.*?-->|#\s*plumbus:agent-wiring version=\d+\b.*)$/m;
10
+ function buildAgentWiringStartMarker(format, inline = false, monorepo = false, style = 'html') {
11
+ const mode = inline ? 'inline' : 'reference';
12
+ const layout = monorepo ? 'monorepo' : 'flat';
13
+ const marker = `plumbus:agent-wiring version=${AGENT_WIRING_VERSION} format=${format} mode=${mode} layout=${layout}`;
14
+ return style === 'yaml' ? `# ${marker}` : `<!-- ${marker} -->`;
15
+ }
16
+ export function parseAgentWiringVersion(content) {
17
+ const match = content.match(AGENT_WIRING_VERSION_PATTERN);
18
+ if (!match) {
19
+ return undefined;
20
+ }
21
+ return Number.parseInt(match[1] ?? '', 10);
22
+ }
23
+ function getAgentWiringManagedBlockRange(content) {
24
+ const startMatch = content.match(AGENT_WIRING_START_PATTERN);
25
+ if (!startMatch || startMatch.index === undefined) {
26
+ return undefined;
27
+ }
28
+ const endIndex = content.indexOf(AGENT_WIRING_END_MARKER, startMatch.index);
29
+ if (endIndex === -1) {
30
+ return undefined;
31
+ }
32
+ return {
33
+ startIndex: startMatch.index,
34
+ endIndex: endIndex + AGENT_WIRING_END_MARKER.length,
35
+ };
36
+ }
37
+ export function hasPatchableAgentWiringBlock(content) {
38
+ return getAgentWiringManagedBlockRange(content) !== undefined;
39
+ }
40
+ function extractAgentWiringManagedBlock(content) {
41
+ const range = getAgentWiringManagedBlockRange(content);
42
+ if (!range) {
43
+ return undefined;
44
+ }
45
+ return content.slice(range.startIndex, range.endIndex);
46
+ }
47
+ function patchAgentWiringContent(existingContent, generatedContent) {
48
+ const existingRange = getAgentWiringManagedBlockRange(existingContent);
49
+ const generatedBlock = extractAgentWiringManagedBlock(generatedContent);
50
+ if (!existingRange || !generatedBlock) {
51
+ return undefined;
52
+ }
53
+ return (existingContent.slice(0, existingRange.startIndex) +
54
+ generatedBlock +
55
+ existingContent.slice(existingRange.endIndex));
56
+ }
5
57
  const CORE_INSTRUCTION_TOPICS = [
58
+ 'guardrails',
6
59
  'framework',
7
60
  'cli',
8
61
  'capabilities',
@@ -15,6 +68,22 @@ const CORE_INSTRUCTION_TOPICS = [
15
68
  'testing',
16
69
  'patterns',
17
70
  ];
71
+ const GUARDRAIL_LINES = [
72
+ '## Non-Negotiable Guardrails',
73
+ '- Plumbus is the application architecture, not an optional helper library.',
74
+ '- Implement business logic through Plumbus primitives: capabilities, flows, entities, events, prompts, and translations where relevant.',
75
+ '- Do not improvise clean-room architecture such as ad hoc API routes, service layers, jobs, queues, or event buses when Plumbus primitives should own the behavior.',
76
+ '- Use `ctx.data`, `ctx.events`, `ctx.flows`, `ctx.ai`, `ctx.auth`, and other `ctx.*` subsystems instead of bypassing the framework with direct infrastructure code unless the framework explicitly documents that extension point.',
77
+ '- If the correct primitive is unclear, stop and ask which Plumbus extension point should be used.',
78
+ '',
79
+ '## Git Safety',
80
+ '- Allowed without extra approval: read-only inspection such as `git status`, `git diff`, `git log`, `git show`.',
81
+ '- Require explicit user approval before any destructive or history-rewriting command, including `git checkout` used to overwrite files, `git restore`, `git reset`, `git clean`, `git revert` across user work, force-push, and branch or tag deletion.',
82
+ '- Never discard or overwrite existing user work unless the user explicitly asked for that exact action.',
83
+ ];
84
+ function addGuardrailLines(lines) {
85
+ lines.push('', ...GUARDRAIL_LINES);
86
+ }
18
87
  const UI_INSTRUCTION_REFERENCES = [
19
88
  {
20
89
  area: 'frontend/ui generation',
@@ -69,6 +138,7 @@ function addFrameworkDependencyLines(lines) {
69
138
  export function generateCopilotInstructions(inline, monorepo = false) {
70
139
  const appPrefix = monorepo ? 'backend/' : '';
71
140
  const lines = [
141
+ buildAgentWiringStartMarker('copilot', inline, monorepo),
72
142
  '# Plumbus Framework — Copilot Instructions',
73
143
  '',
74
144
  'This project is built with the Plumbus framework — an AI-native, contract-driven TypeScript framework.',
@@ -87,11 +157,13 @@ export function generateCopilotInstructions(inline, monorepo = false) {
87
157
  '- **Restricted**: `.plumbus/` generated files (regenerated by CLI)',
88
158
  '- **Forbidden**: `node_modules/`, `dist/`',
89
159
  ];
160
+ addGuardrailLines(lines);
90
161
  addFrameworkDependencyLines(lines);
91
162
  lines.push('', '### Commands', '| Task | Command |', '|------|---------|', '| Run tests | `plumbus test` |', '| Watch tests | `plumbus test --watch` |', '| Run e2e | `plumbus test --config frontend/e2e/vitest.config.e2e.ts` |', '| Dev server | `plumbus dev` |', '', '## CLI Scaffolding', '**Always run CLI commands from the project root**. Use the Plumbus CLI to scaffold new primitives and UI artifacts:', '```', 'plumbus entity new <EntityName>', 'plumbus capability new <CapabilityName>', 'plumbus event new <EventName>', 'plumbus flow new <FlowName>', 'plumbus prompt new <PromptName>', 'plumbus ui generate', 'plumbus ui nextjs <output-dir>', '```', 'After scaffolding, fill in the `// TODO` sections in the generated files.', '', '## SDK Reference');
92
163
  addInstructionReferenceLines(lines, inline);
93
164
  lines.push('', '## Project Brief', 'See `.plumbus/briefs/project.md` for project-specific context.');
94
165
  addDocumentationMaintenanceLines(lines);
166
+ lines.push('', AGENT_WIRING_END_MARKER);
95
167
  lines.push('');
96
168
  return lines.join('\n');
97
169
  }
@@ -100,6 +172,7 @@ export function generateCursorRule(inline, monorepo = false) {
100
172
  const appPrefix = monorepo ? 'backend/' : '';
101
173
  const lines = [
102
174
  '---',
175
+ buildAgentWiringStartMarker('cursor', inline, monorepo, 'yaml'),
103
176
  `description: Plumbus framework conventions and SDK reference`,
104
177
  `globs: ${appPrefix}app/**`,
105
178
  '---',
@@ -119,33 +192,40 @@ export function generateCursorRule(inline, monorepo = false) {
119
192
  `- Safe: \`${appPrefix}app/\`, \`${appPrefix}config/\`, \`docs/\`, tests${monorepo ? ', `frontend/`, `libs/shared/`' : ''}`,
120
193
  '- Restricted: `.plumbus/generated/`',
121
194
  '- Forbidden: `node_modules/`, `dist/`',
122
- '',
123
- '## SDK Reference',
124
195
  ];
196
+ addGuardrailLines(lines);
197
+ lines.push('', '## SDK Reference');
125
198
  addInstructionReferenceLines(lines, inline);
126
199
  addDocumentationMaintenanceLines(lines);
200
+ lines.push('', AGENT_WIRING_END_MARKER);
127
201
  lines.push('');
128
202
  return lines.join('\n');
129
203
  }
130
204
  /** Generate capability-specific Cursor rule */
131
205
  export function generateCursorCapabilityRule() {
132
206
  return `---
207
+ ${buildAgentWiringStartMarker('cursor-capabilities', false, false, 'yaml')}
133
208
  description: Plumbus capability development rules
134
209
  globs: app/capabilities/**
135
210
  ---
136
211
 
137
212
  When creating or modifying capabilities:
213
+ - Capability code is the primary home for business logic in Plumbus.
138
214
  - Use \`defineCapability()\` from @plumbus/core
139
215
  - Always declare effects (data, events, external, ai)
140
216
  - Set access policies (deny-by-default)
141
217
  - Use \`ctx.data\`, \`ctx.events\`, \`ctx.ai\` within handlers
218
+ - If the task appears to need a custom service, controller, route, or worker, stop and ask which Plumbus primitive should own it instead.
219
+ - Never run destructive git commands such as file-overwriting \`git checkout\`, \`git restore\`, \`git reset\`, or \`git clean\` without explicit user approval.
142
220
  - Reference: \`node_modules/@plumbus/core/instructions/capabilities.md\`
221
+ ${AGENT_WIRING_END_MARKER}
143
222
  `;
144
223
  }
145
224
  /** Generate AGENTS.md content */
146
225
  export function generateAgentsMd(inline, monorepo = false) {
147
226
  const appPrefix = monorepo ? 'backend/' : '';
148
227
  const lines = [
228
+ buildAgentWiringStartMarker('agents-md', inline, monorepo),
149
229
  '# AGENTS.md — Plumbus Framework',
150
230
  '',
151
231
  'This project is built with the Plumbus framework.',
@@ -171,10 +251,12 @@ export function generateAgentsMd(inline, monorepo = false) {
171
251
  '- **Restricted**: `.plumbus/` (regenerated by `plumbus generate`)',
172
252
  '- **Forbidden**: `node_modules/`, `dist/`',
173
253
  ];
254
+ addGuardrailLines(lines);
174
255
  addFrameworkDependencyLines(lines);
175
256
  lines.push('', '### Commands', '| Task | Command |', '|------|---------|', '| Run tests | `plumbus test` |', '| Watch tests | `plumbus test --watch` |', '| Run e2e | `plumbus test --config frontend/e2e/vitest.config.e2e.ts` |', '| Dev server | `plumbus dev` |', '', '## SDK Reference');
176
257
  addInstructionReferenceLines(lines, inline);
177
258
  addDocumentationMaintenanceLines(lines);
259
+ lines.push('', AGENT_WIRING_END_MARKER);
178
260
  lines.push('');
179
261
  return lines.join('\n');
180
262
  }
@@ -204,39 +286,131 @@ None detected. Run \`plumbus verify\` to check.
204
286
  `;
205
287
  }
206
288
  /** Write all files for a given agent format */
207
- export function writeAgentFiles(projectRoot, formats, inline, includeProjectBrief = true, monorepo = false) {
208
- const written = [];
289
+ function buildAgentFileTargets(projectRoot, formats, inline, includeProjectBrief = true, monorepo = false) {
290
+ const targets = [];
209
291
  for (const format of formats) {
210
292
  switch (format) {
211
293
  case 'copilot': {
212
- const filePath = path.join(projectRoot, '.github', 'copilot-instructions.md');
213
- writeFile(filePath, generateCopilotInstructions(inline, monorepo));
214
- written.push('.github/copilot-instructions.md');
294
+ targets.push({
295
+ path: path.join(projectRoot, '.github', 'copilot-instructions.md'),
296
+ content: generateCopilotInstructions(inline, monorepo),
297
+ kind: 'wiring',
298
+ });
215
299
  break;
216
300
  }
217
301
  case 'cursor': {
218
- const mainRule = path.join(projectRoot, '.cursor', 'rules', 'plumbus.mdc');
219
- writeFile(mainRule, generateCursorRule(inline, monorepo));
220
- written.push('.cursor/rules/plumbus.mdc');
221
- const capRule = path.join(projectRoot, '.cursor', 'rules', 'plumbus-capabilities.mdc');
222
- writeFile(capRule, generateCursorCapabilityRule());
223
- written.push('.cursor/rules/plumbus-capabilities.mdc');
302
+ targets.push({
303
+ path: path.join(projectRoot, '.cursor', 'rules', 'plumbus.mdc'),
304
+ content: generateCursorRule(inline, monorepo),
305
+ kind: 'wiring',
306
+ });
307
+ targets.push({
308
+ path: path.join(projectRoot, '.cursor', 'rules', 'plumbus-capabilities.mdc'),
309
+ content: generateCursorCapabilityRule(),
310
+ kind: 'wiring',
311
+ });
224
312
  break;
225
313
  }
226
314
  case 'agents-md': {
227
- const filePath = path.join(projectRoot, 'AGENTS.md');
228
- writeFile(filePath, generateAgentsMd(inline, monorepo));
229
- written.push('AGENTS.md');
315
+ targets.push({
316
+ path: path.join(projectRoot, 'AGENTS.md'),
317
+ content: generateAgentsMd(inline, monorepo),
318
+ kind: 'wiring',
319
+ });
230
320
  break;
231
321
  }
232
322
  }
233
323
  }
234
324
  if (includeProjectBrief) {
235
- const briefPath = path.join(projectRoot, '.plumbus', 'briefs', 'project.md');
236
- writeFile(briefPath, generateProjectBrief());
237
- written.push('.plumbus/briefs/project.md');
325
+ targets.push({
326
+ path: path.join(projectRoot, '.plumbus', 'briefs', 'project.md'),
327
+ content: generateProjectBrief(),
328
+ kind: 'brief',
329
+ });
238
330
  }
239
- return written;
331
+ return targets;
332
+ }
333
+ function relativeTargetPath(projectRoot, filePath) {
334
+ return path.relative(projectRoot, filePath).replaceAll(path.sep, '/');
335
+ }
336
+ function writeTargetContent(filePath, content, dryRun) {
337
+ if (!dryRun) {
338
+ writeFile(filePath, content);
339
+ }
340
+ }
341
+ export function writeAgentFiles(projectRoot, formats, inline, includeProjectBrief = true, monorepo = false, mode = 'create', dryRun = false) {
342
+ const results = [];
343
+ const targets = buildAgentFileTargets(projectRoot, formats, inline, includeProjectBrief, monorepo);
344
+ for (const target of targets) {
345
+ const relPath = relativeTargetPath(projectRoot, target.path);
346
+ if (!fs.existsSync(target.path)) {
347
+ writeTargetContent(target.path, target.content, dryRun);
348
+ results.push({
349
+ path: relPath,
350
+ action: 'created',
351
+ message: `${dryRun ? 'Would create' : 'Created'} ${relPath}`,
352
+ });
353
+ continue;
354
+ }
355
+ const existingContent = fs.readFileSync(target.path, 'utf-8');
356
+ if (target.kind === 'brief') {
357
+ results.push({
358
+ path: relPath,
359
+ action: 'skipped',
360
+ message: `Skipped ${relPath}: existing project brief preserved. Run \`plumbus agent sync\` to refresh it.`,
361
+ });
362
+ continue;
363
+ }
364
+ if (mode === 'create') {
365
+ results.push({
366
+ path: relPath,
367
+ action: 'skipped',
368
+ message: `Skipped ${relPath}: file already exists. Use \`plumbus init --patch\` to update managed sections or \`plumbus init --force\` to replace it.`,
369
+ });
370
+ continue;
371
+ }
372
+ if (mode === 'patch') {
373
+ const patchedContent = patchAgentWiringContent(existingContent, target.content);
374
+ if (!patchedContent) {
375
+ results.push({
376
+ path: relPath,
377
+ action: 'skipped',
378
+ message: `Skipped ${relPath}: no Plumbus-managed block found. Use \`plumbus init --force\` to replace it.`,
379
+ });
380
+ continue;
381
+ }
382
+ if (patchedContent === existingContent) {
383
+ results.push({
384
+ path: relPath,
385
+ action: 'unchanged',
386
+ message: `${relPath} is already up to date.`,
387
+ });
388
+ continue;
389
+ }
390
+ writeTargetContent(target.path, patchedContent, dryRun);
391
+ results.push({
392
+ path: relPath,
393
+ action: 'patched',
394
+ message: `${dryRun ? 'Would patch' : 'Patched'} ${relPath}`,
395
+ });
396
+ continue;
397
+ }
398
+ if (existingContent === target.content) {
399
+ results.push({
400
+ path: relPath,
401
+ action: 'unchanged',
402
+ message: `${relPath} is already up to date.`,
403
+ });
404
+ continue;
405
+ }
406
+ writeTargetContent(target.path, target.content, dryRun);
407
+ results.push({
408
+ path: relPath,
409
+ action: 'replaced',
410
+ message: `${dryRun ? 'Would replace' : 'Replaced'} ${relPath}`,
411
+ });
412
+ }
413
+ return results;
240
414
  }
241
415
  function parseAgentFormats(agent) {
242
416
  if (!agent || agent === 'all') {
@@ -254,15 +428,42 @@ export function registerInitCommand(program) {
254
428
  .description('Generate AI agent wiring files for the project')
255
429
  .option('--agent <format>', 'Agent format: copilot, cursor, all (default: all)')
256
430
  .option('--inline', 'Copy full instruction content instead of referencing node_modules')
431
+ .option('--patch', 'Update only Plumbus-managed sections and create missing files')
432
+ .option('--force', 'Replace existing generated wiring files outright')
433
+ .option('--dry-run', 'Show what would change without writing files')
257
434
  .action((opts) => {
435
+ if (opts.patch && opts.force) {
436
+ logError('Choose either --patch or --force, not both.');
437
+ process.exit(1);
438
+ }
258
439
  const projectRoot = process.cwd();
259
440
  const formats = parseAgentFormats(opts.agent);
260
441
  const monorepo = detectMonorepoLayout(projectRoot);
261
- const written = writeAgentFiles(projectRoot, formats, opts.inline ?? false, true, monorepo.isMonorepo);
262
- for (const f of written) {
263
- success(`Created ${f}`);
442
+ const mode = opts.force ? 'force' : opts.patch ? 'patch' : 'create';
443
+ const results = writeAgentFiles(projectRoot, formats, opts.inline ?? false, true, monorepo.isMonorepo, mode, opts.dryRun ?? false);
444
+ for (const result of results) {
445
+ switch (result.action) {
446
+ case 'created':
447
+ case 'patched':
448
+ case 'replaced':
449
+ if (opts.dryRun) {
450
+ info(result.message);
451
+ }
452
+ else {
453
+ success(result.message);
454
+ }
455
+ break;
456
+ case 'unchanged':
457
+ info(result.message);
458
+ break;
459
+ case 'skipped':
460
+ warn(result.message);
461
+ break;
462
+ }
264
463
  }
265
- info('Agent wiring complete. Run `plumbus agent sync` to populate project brief.');
464
+ info(opts.dryRun
465
+ ? 'Dry run complete. Run `plumbus agent sync` separately if you want to refresh the project brief.'
466
+ : 'Agent wiring complete. Run `plumbus agent sync` to populate or refresh the project brief.');
266
467
  });
267
468
  }
268
469
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4X7D;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwHxD"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkrB7D;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwHxD"}