workspace-maxxing 0.1.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 (198) hide show
  1. package/.agents/skills/workspace-maxxing/.workspace-templates/CONTEXT.md +44 -0
  2. package/.agents/skills/workspace-maxxing/.workspace-templates/SYSTEM.md +44 -0
  3. package/.agents/skills/workspace-maxxing/.workspace-templates/references/anti-patterns.md +16 -0
  4. package/.agents/skills/workspace-maxxing/.workspace-templates/references/iron-laws.md +26 -0
  5. package/.agents/skills/workspace-maxxing/.workspace-templates/references/reporting-format.md +52 -0
  6. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/benchmark.ts +171 -0
  7. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/dispatch.ts +473 -0
  8. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/generate-tests.ts +158 -0
  9. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/install-tool.ts +82 -0
  10. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/iterate.ts +265 -0
  11. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/orchestrator.ts +539 -0
  12. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/scaffold.ts +282 -0
  13. package/.agents/skills/workspace-maxxing/.workspace-templates/scripts/validate.ts +452 -0
  14. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/architecture/SKILL.md +95 -0
  15. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/fixer/SKILL.md +109 -0
  16. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/iteration/SKILL.md +89 -0
  17. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/prompt-engineering/SKILL.md +87 -0
  18. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/research/SKILL.md +94 -0
  19. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/testing/SKILL.md +89 -0
  20. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/tooling/SKILL.md +87 -0
  21. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/validation/SKILL.md +103 -0
  22. package/.agents/skills/workspace-maxxing/.workspace-templates/skills/worker/SKILL.md +79 -0
  23. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/00-meta/CONTEXT.md +6 -0
  24. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/00-meta/execution-log.md +27 -0
  25. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/01-input/CONTEXT.md +29 -0
  26. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/02-process/CONTEXT.md +29 -0
  27. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/03-output/CONTEXT.md +29 -0
  28. package/.agents/skills/workspace-maxxing/.workspace-templates/workspace/README.md +14 -0
  29. package/.agents/skills/workspace-maxxing/SKILL.md +312 -0
  30. package/.agents/skills/workspace-maxxing/scripts/benchmark.ts +171 -0
  31. package/.agents/skills/workspace-maxxing/scripts/dispatch.ts +473 -0
  32. package/.agents/skills/workspace-maxxing/scripts/generate-tests.ts +158 -0
  33. package/.agents/skills/workspace-maxxing/scripts/install-tool.ts +82 -0
  34. package/.agents/skills/workspace-maxxing/scripts/iterate.ts +265 -0
  35. package/.agents/skills/workspace-maxxing/scripts/orchestrator.ts +539 -0
  36. package/.agents/skills/workspace-maxxing/scripts/scaffold.ts +282 -0
  37. package/.agents/skills/workspace-maxxing/scripts/validate.ts +452 -0
  38. package/README.md +144 -0
  39. package/dist/agent-creator.d.ts +9 -0
  40. package/dist/agent-creator.d.ts.map +1 -0
  41. package/dist/agent-creator.js +199 -0
  42. package/dist/agent-creator.js.map +1 -0
  43. package/dist/agent-iterator.d.ts +38 -0
  44. package/dist/agent-iterator.d.ts.map +1 -0
  45. package/dist/agent-iterator.js +327 -0
  46. package/dist/agent-iterator.js.map +1 -0
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +197 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/install.d.ts +18 -0
  52. package/dist/install.d.ts.map +1 -0
  53. package/dist/install.js +117 -0
  54. package/dist/install.js.map +1 -0
  55. package/dist/platforms/claude.d.ts +7 -0
  56. package/dist/platforms/claude.d.ts.map +1 -0
  57. package/dist/platforms/claude.js +70 -0
  58. package/dist/platforms/claude.js.map +1 -0
  59. package/dist/platforms/copilot.d.ts +7 -0
  60. package/dist/platforms/copilot.d.ts.map +1 -0
  61. package/dist/platforms/copilot.js +75 -0
  62. package/dist/platforms/copilot.js.map +1 -0
  63. package/dist/platforms/gemini.d.ts +7 -0
  64. package/dist/platforms/gemini.d.ts.map +1 -0
  65. package/dist/platforms/gemini.js +81 -0
  66. package/dist/platforms/gemini.js.map +1 -0
  67. package/dist/platforms/index.d.ts +8 -0
  68. package/dist/platforms/index.d.ts.map +1 -0
  69. package/dist/platforms/index.js +41 -0
  70. package/dist/platforms/index.js.map +1 -0
  71. package/dist/platforms/opencode.d.ts +7 -0
  72. package/dist/platforms/opencode.d.ts.map +1 -0
  73. package/dist/platforms/opencode.js +70 -0
  74. package/dist/platforms/opencode.js.map +1 -0
  75. package/dist/scripts/benchmark.d.ts +20 -0
  76. package/dist/scripts/benchmark.d.ts.map +1 -0
  77. package/dist/scripts/benchmark.js +170 -0
  78. package/dist/scripts/benchmark.js.map +1 -0
  79. package/dist/scripts/dispatch.d.ts +32 -0
  80. package/dist/scripts/dispatch.d.ts.map +1 -0
  81. package/dist/scripts/dispatch.js +386 -0
  82. package/dist/scripts/dispatch.js.map +1 -0
  83. package/dist/scripts/generate-tests.d.ts +11 -0
  84. package/dist/scripts/generate-tests.d.ts.map +1 -0
  85. package/dist/scripts/generate-tests.js +118 -0
  86. package/dist/scripts/generate-tests.js.map +1 -0
  87. package/dist/scripts/install-tool.d.ts +8 -0
  88. package/dist/scripts/install-tool.d.ts.map +1 -0
  89. package/dist/scripts/install-tool.js +98 -0
  90. package/dist/scripts/install-tool.js.map +1 -0
  91. package/dist/scripts/iterate.d.ts +44 -0
  92. package/dist/scripts/iterate.d.ts.map +1 -0
  93. package/dist/scripts/iterate.js +260 -0
  94. package/dist/scripts/iterate.js.map +1 -0
  95. package/dist/scripts/orchestrator.d.ts +40 -0
  96. package/dist/scripts/orchestrator.d.ts.map +1 -0
  97. package/dist/scripts/orchestrator.js +378 -0
  98. package/dist/scripts/orchestrator.js.map +1 -0
  99. package/dist/scripts/scaffold.d.ts +8 -0
  100. package/dist/scripts/scaffold.d.ts.map +1 -0
  101. package/dist/scripts/scaffold.js +279 -0
  102. package/dist/scripts/scaffold.js.map +1 -0
  103. package/dist/scripts/validate.d.ts +11 -0
  104. package/dist/scripts/validate.d.ts.map +1 -0
  105. package/dist/scripts/validate.js +472 -0
  106. package/dist/scripts/validate.js.map +1 -0
  107. package/docs/superpowers/plans/2026-04-07-autonomous-iteration-plan.md +1123 -0
  108. package/docs/superpowers/plans/2026-04-07-autonomous-iteration-sub-agent-batches.md +1923 -0
  109. package/docs/superpowers/plans/2026-04-07-autonomous-workflow-sub-skill-plan.md +1505 -0
  110. package/docs/superpowers/plans/2026-04-07-benchmarking-multi-agent-plan.md +854 -0
  111. package/docs/superpowers/plans/2026-04-07-workspace-builder-logic-plan.md +1426 -0
  112. package/docs/superpowers/plans/2026-04-07-workspace-maxxing-plan.md +1299 -0
  113. package/docs/superpowers/plans/2026-04-08-session-294c-subagent-invocation-plan.md +320 -0
  114. package/docs/superpowers/plans/2026-04-08-workflow-prompt-hardening-plan.md +1025 -0
  115. package/docs/superpowers/plans/2026-04-12-workspace-agent-creation-plan.md +992 -0
  116. package/docs/superpowers/specs/2026-04-07-autonomous-iteration-design.md +214 -0
  117. package/docs/superpowers/specs/2026-04-07-autonomous-iteration-sub-agent-batches-design.md +188 -0
  118. package/docs/superpowers/specs/2026-04-07-autonomous-workflow-sub-skill-design.md +137 -0
  119. package/docs/superpowers/specs/2026-04-07-benchmarking-multi-agent-design.md +105 -0
  120. package/docs/superpowers/specs/2026-04-07-workspace-builder-logic-design.md +179 -0
  121. package/docs/superpowers/specs/2026-04-07-workspace-maxxing-design.md +227 -0
  122. package/docs/superpowers/specs/2026-04-08-session-294c-subagent-invocation-design.md +265 -0
  123. package/docs/superpowers/specs/2026-04-08-workflow-prompt-hardening-design.md +146 -0
  124. package/docs/superpowers/specs/2026-04-12-workspace-agent-creation-design.md +239 -0
  125. package/jest.config.js +8 -0
  126. package/package.json +32 -0
  127. package/src/agent-creator.ts +180 -0
  128. package/src/agent-iterator.ts +397 -0
  129. package/src/index.ts +189 -0
  130. package/src/install.ts +105 -0
  131. package/src/platforms/claude.ts +40 -0
  132. package/src/platforms/copilot.ts +50 -0
  133. package/src/platforms/gemini.ts +55 -0
  134. package/src/platforms/index.ts +45 -0
  135. package/src/platforms/opencode.ts +41 -0
  136. package/src/scripts/benchmark.ts +171 -0
  137. package/src/scripts/dispatch.ts +473 -0
  138. package/src/scripts/generate-tests.ts +112 -0
  139. package/src/scripts/install-tool.ts +82 -0
  140. package/src/scripts/iterate.ts +271 -0
  141. package/src/scripts/orchestrator.ts +539 -0
  142. package/src/scripts/scaffold.ts +282 -0
  143. package/src/scripts/validate.ts +516 -0
  144. package/templates/.workspace-templates/CONTEXT.md +44 -0
  145. package/templates/.workspace-templates/SYSTEM.md +44 -0
  146. package/templates/.workspace-templates/references/anti-patterns.md +16 -0
  147. package/templates/.workspace-templates/references/iron-laws.md +26 -0
  148. package/templates/.workspace-templates/references/reporting-format.md +52 -0
  149. package/templates/.workspace-templates/scripts/benchmark.ts +171 -0
  150. package/templates/.workspace-templates/scripts/dispatch.ts +473 -0
  151. package/templates/.workspace-templates/scripts/generate-tests.ts +158 -0
  152. package/templates/.workspace-templates/scripts/install-tool.ts +82 -0
  153. package/templates/.workspace-templates/scripts/iterate.ts +265 -0
  154. package/templates/.workspace-templates/scripts/orchestrator.ts +539 -0
  155. package/templates/.workspace-templates/scripts/scaffold.ts +282 -0
  156. package/templates/.workspace-templates/scripts/validate.ts +452 -0
  157. package/templates/.workspace-templates/skills/architecture/SKILL.md +95 -0
  158. package/templates/.workspace-templates/skills/fixer/SKILL.md +109 -0
  159. package/templates/.workspace-templates/skills/iteration/SKILL.md +89 -0
  160. package/templates/.workspace-templates/skills/prompt-engineering/SKILL.md +87 -0
  161. package/templates/.workspace-templates/skills/research/SKILL.md +94 -0
  162. package/templates/.workspace-templates/skills/testing/SKILL.md +89 -0
  163. package/templates/.workspace-templates/skills/tooling/SKILL.md +87 -0
  164. package/templates/.workspace-templates/skills/validation/SKILL.md +103 -0
  165. package/templates/.workspace-templates/skills/worker/SKILL.md +79 -0
  166. package/templates/.workspace-templates/workspace/00-meta/CONTEXT.md +6 -0
  167. package/templates/.workspace-templates/workspace/00-meta/execution-log.md +27 -0
  168. package/templates/.workspace-templates/workspace/01-input/CONTEXT.md +29 -0
  169. package/templates/.workspace-templates/workspace/02-process/CONTEXT.md +29 -0
  170. package/templates/.workspace-templates/workspace/03-output/CONTEXT.md +29 -0
  171. package/templates/.workspace-templates/workspace/README.md +14 -0
  172. package/templates/SKILL.md +347 -0
  173. package/tests/benchmark.test.ts +158 -0
  174. package/tests/cli.test.ts +109 -0
  175. package/tests/dispatch-parallel.test.ts +124 -0
  176. package/tests/dispatch.test.ts +218 -0
  177. package/tests/fixer-skill.test.ts +203 -0
  178. package/tests/generate-tests.test.ts +101 -0
  179. package/tests/install-tool.test.ts +141 -0
  180. package/tests/install.test.ts +144 -0
  181. package/tests/integration.test.ts +324 -0
  182. package/tests/iterate.test.ts +219 -0
  183. package/tests/orchestrator.test.ts +710 -0
  184. package/tests/scaffold.test.ts +238 -0
  185. package/tests/templates-enhanced.test.ts +208 -0
  186. package/tests/templates.test.ts +219 -0
  187. package/tests/validate.test.ts +421 -0
  188. package/tests/validation-enhanced.test.ts +303 -0
  189. package/tests/worker-skill.test.ts +88 -0
  190. package/tsconfig.json +19 -0
  191. package/workspace/00-meta/CONTEXT.md +3 -0
  192. package/workspace/00-meta/execution-log.md +17 -0
  193. package/workspace/00-meta/tools.md +11 -0
  194. package/workspace/01-input/CONTEXT.md +27 -0
  195. package/workspace/CONTEXT.md +35 -0
  196. package/workspace/README.md +14 -0
  197. package/workspace/SYSTEM.md +36 -0
  198. package/workspace-maxxing-0.1.0.tgz +0 -0
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.scaffoldWorkspace = scaffoldWorkspace;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ function scaffoldWorkspace(options) {
40
+ const { name, stages, output, force = false } = options;
41
+ if (!stages || stages.length === 0) {
42
+ throw new Error('stages list cannot be empty');
43
+ }
44
+ const outputDir = path.resolve(output);
45
+ if (fs.existsSync(outputDir)) {
46
+ if (!force) {
47
+ throw new Error(`Output directory already exists: ${outputDir} (use --force to overwrite)`);
48
+ }
49
+ fs.rmSync(outputDir, { recursive: true, force: true });
50
+ }
51
+ fs.mkdirSync(outputDir, { recursive: true });
52
+ const systemMd = generateSystemMd(name, stages);
53
+ fs.writeFileSync(path.join(outputDir, 'SYSTEM.md'), systemMd);
54
+ const contextMd = generateContextMd(name, stages);
55
+ fs.writeFileSync(path.join(outputDir, 'CONTEXT.md'), contextMd);
56
+ const metaDir = path.join(outputDir, '00-meta');
57
+ fs.mkdirSync(metaDir, { recursive: true });
58
+ fs.writeFileSync(path.join(metaDir, 'tools.md'), generateToolsMd());
59
+ fs.writeFileSync(path.join(metaDir, 'execution-log.md'), generateExecutionLogMd(stages));
60
+ fs.writeFileSync(path.join(metaDir, 'CONTEXT.md'), `# 00-meta Context\n\nMetadata and tool inventory for the ${name} workspace.\n`);
61
+ for (const stage of stages) {
62
+ const stageDir = path.join(outputDir, stage);
63
+ fs.mkdirSync(stageDir, { recursive: true });
64
+ fs.writeFileSync(path.join(stageDir, 'CONTEXT.md'), generateStageContextMd(name, stage, stages));
65
+ }
66
+ fs.writeFileSync(path.join(outputDir, 'README.md'), generateReadmeMd(name, stages));
67
+ console.log(`Workspace "${name}" scaffolded at: ${outputDir}`);
68
+ }
69
+ function generateSystemMd(name, stages) {
70
+ const folderRows = stages
71
+ .map((stage, index) => `| ${index + 1} | \`${stage}/\` | ${stageDescription(stage)} |`)
72
+ .join('\n');
73
+ return `# ${name} — System Prompt
74
+
75
+ ## Role
76
+ You are an AI assistant operating inside the ${name} workspace. Follow stage boundaries and route tasks through stage-specific CONTEXT files.
77
+
78
+ ## Folder Map
79
+
80
+ | Stage | Folder | Purpose |
81
+ |------:|--------|---------|
82
+ ${folderRows}
83
+ | meta | \`00-meta/\` | Workspace configuration, tool inventory, and session notes |
84
+
85
+ ## Workflow Rules
86
+ 1. Read \`SYSTEM.md\` first, then root \`CONTEXT.md\`.
87
+ 2. Load only one stage \`CONTEXT.md\` at a time unless handoff explicitly requires another stage.
88
+ 3. Keep information canonical; do not duplicate facts across files.
89
+ 4. Maintain one-way stage dependencies from earlier stage numbers to later stage numbers.
90
+
91
+ ## Scope Guardrails
92
+ - Build and maintain workflow documentation, not product implementation code.
93
+ - Keep stage outputs as markdown artifacts (plans, checklists, prompts, routing notes).
94
+ - If asked to build the product itself, capture that request as workflow requirements and stay in ICM workspace scope.
95
+
96
+ ## Sequential Execution Protocol
97
+ 1. Complete stages strictly in ascending numeric order.
98
+ 2. Record stage completion in \`00-meta/execution-log.md\` before moving to the next stage.
99
+ 3. Do not produce final deliverables until all prior stage checkboxes are complete.
100
+
101
+ ## Stage Boundaries
102
+ - Each numbered folder is an execution stage.
103
+ - A stage may consume upstream outputs but must not redefine upstream facts.
104
+ - Cross-stage jumps require explicit routing through root \`CONTEXT.md\`.
105
+
106
+ ## Tooling Policy
107
+ - Check \`00-meta/tools.md\` before proposing tool installation.
108
+ - Document approved tooling changes in \`00-meta/tools.md\`.
109
+ `;
110
+ }
111
+ function generateContextMd(name, stages) {
112
+ const routingRows = stages
113
+ .map((stage) => `| Work in ${stage} tasks | \`${stage}/CONTEXT.md\` | Stage contract and required outputs |`)
114
+ .join('\n');
115
+ const handoffs = stages
116
+ .map((stage, index) => {
117
+ const nextStage = stages[index + 1];
118
+ return nextStage
119
+ ? `- \`${stage}\` -> \`${nextStage}\` when completion criteria are met`
120
+ : `- \`${stage}\` -> deliver final output and close loop`;
121
+ })
122
+ .join('\n');
123
+ return `# ${name} — Context Router
124
+
125
+ ## How to Use This File
126
+ Use this file to route each task to the smallest required context scope.
127
+
128
+ ## Task Routing
129
+ This routing table maps task intent to the correct stage context.
130
+
131
+ | When you need to... | Load | Why |
132
+ |---------------------|------|-----|
133
+ | Understand workspace constraints | \`SYSTEM.md\` | Global rules and stage boundaries |
134
+ ${routingRows}
135
+ | Check available tools | \`00-meta/tools.md\` | Tool inventory and approval status |
136
+
137
+ ## Loading Order
138
+ 1. \`SYSTEM.md\` (always)
139
+ 2. This root \`CONTEXT.md\`
140
+ 3. One relevant stage \`CONTEXT.md\`
141
+ 4. Only the task files needed for that stage
142
+
143
+ ## Scope Guardrails
144
+ - Route domain requests into workflow design steps and markdown deliverables.
145
+ - Do not scaffold backend, frontend, or runtime product source files from this router.
146
+ - Keep outputs file-structured and markdown-first across numbered workflow folders.
147
+
148
+ ## Sequential Routing Contract
149
+ - Route only to the earliest incomplete stage in \`00-meta/execution-log.md\`.
150
+ - Refuse jumps to later stages when earlier stages are not marked complete.
151
+ - Append handoff notes for each completed stage before routing onward.
152
+
153
+ ## Stage Handoff Routing
154
+ ${handoffs}
155
+
156
+ ## Escalation
157
+ Escalate when required sections are missing, dependencies are contradictory, or no valid stage route can satisfy the task.
158
+ `;
159
+ }
160
+ function generateStageContextMd(name, stage, stages) {
161
+ const stageIndex = stages.indexOf(stage);
162
+ const previousStage = stageIndex > 0 ? stages[stageIndex - 1] : undefined;
163
+ const nextStage = stageIndex >= 0 && stageIndex < stages.length - 1
164
+ ? stages[stageIndex + 1]
165
+ : undefined;
166
+ const dependencyLine = previousStage
167
+ ? `- ${previousStage}`
168
+ : '- None (entry stage)';
169
+ const handoffLine = nextStage
170
+ ? `- After completion, hand off outputs to ${nextStage}`
171
+ : '- This is the terminal stage. Package and deliver final output.';
172
+ return `# ${stage} — Context
173
+
174
+ ## Purpose
175
+ This folder executes the ${stage} stage of the ${name} workflow.
176
+
177
+ ## Inputs
178
+ - Required data artifacts for ${stage}
179
+ - Upstream context from previous stage when applicable
180
+
181
+ ## Outputs
182
+ - Stage-specific deliverables for downstream consumption
183
+ - Updated markdown artifacts needed by the next stage
184
+
185
+ ## Dependencies
186
+ ${dependencyLine}
187
+
188
+ ## Required Evidence
189
+ - Update \`00-meta/execution-log.md\` to mark ${stage} complete before handoff.
190
+ - Link or reference the markdown artifacts produced in this stage.
191
+
192
+ ## Completion Criteria
193
+ - Required outputs are produced and non-empty
194
+ - Outputs conform to stage purpose and markdown-first workflow format
195
+ - Handoff notes are updated for downstream stage
196
+
197
+ ## Handoff
198
+ ${handoffLine}
199
+ `;
200
+ }
201
+ function generateToolsMd() {
202
+ return `## Tool Inventory
203
+
204
+ ## Installed Tools
205
+
206
+ | Tool | Version | Manager | Installed |
207
+ |------|---------|---------|-----------|
208
+ | — | — | — | — |
209
+
210
+ ## Pending Tools
211
+
212
+ List tools that are proposed but not yet approved.
213
+ `;
214
+ }
215
+ function generateExecutionLogMd(stages) {
216
+ return `# Execution Log
217
+
218
+ ## Stage Checklist
219
+
220
+ ${stages.map((stage) => `- [ ] ${stage}`).join('\n')}
221
+
222
+ ## Rules
223
+
224
+ 1. Mark a stage complete only after its completion criteria are satisfied.
225
+ 2. Stages must be checked in ascending numerical order.
226
+ 3. Every checked stage must have corresponding evidence notes.
227
+
228
+ ## Evidence Notes
229
+
230
+ ${stages.map((stage) => `### ${stage}\n- Artifacts:\n- Handoff Summary:\n`).join('\n')}`;
231
+ }
232
+ function generateReadmeMd(name, stages) {
233
+ return `# ${name} Workspace
234
+
235
+ ## Structure
236
+
237
+ ${stages.map((s) => `- \`${s}/\``).join('\n')}
238
+ - \`00-meta/\`
239
+
240
+ ## Usage
241
+
242
+ 1. Follow the workflow stages in order
243
+ 2. Load CONTEXT.md files selectively — only what you need
244
+ 3. Update 00-meta/execution-log.md after each completed stage
245
+ 4. Keep outputs in stage folders as markdown workflow artifacts
246
+ 5. Run validate.ts to check ICM compliance
247
+ `;
248
+ }
249
+ function stageDescription(stage) {
250
+ const descriptions = {
251
+ '01-input': 'Input collection and validation',
252
+ '02-process': 'Processing and transformation',
253
+ '03-output': 'Output generation and delivery',
254
+ };
255
+ return descriptions[stage] || `Stage: ${stage}`;
256
+ }
257
+ if (require.main === module) {
258
+ const args = process.argv.slice(2);
259
+ const parseArg = (flag) => {
260
+ const idx = args.indexOf(flag);
261
+ return idx !== -1 ? args[idx + 1] : undefined;
262
+ };
263
+ const hasFlag = (flag) => args.includes(flag);
264
+ const name = parseArg('--name');
265
+ const stagesStr = parseArg('--stages');
266
+ const output = parseArg('--output');
267
+ if (!name || !stagesStr || !output) {
268
+ console.error('Usage: node scaffold.ts --name <name> --stages <s1,s2,...> --output <path> [--force]');
269
+ process.exit(1);
270
+ }
271
+ const stages = stagesStr.split(',').map((s) => s.trim()).filter(Boolean);
272
+ scaffoldWorkspace({
273
+ name,
274
+ stages,
275
+ output,
276
+ force: hasFlag('--force'),
277
+ });
278
+ }
279
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/scripts/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface CheckResult {
2
+ name: string;
3
+ passed: boolean;
4
+ message: string;
5
+ }
6
+ export interface ValidationResult {
7
+ passed: boolean;
8
+ checks: CheckResult[];
9
+ }
10
+ export declare function validateWorkspace(workspacePath: string): ValidationResult;
11
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/scripts/validate.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAmDD,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CA2RzE"}