maxsimcli 4.5.0 → 4.7.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 (221) hide show
  1. package/dist/assets/CHANGELOG.md +38 -0
  2. package/dist/backend-server.cjs +2739 -41
  3. package/dist/backend-server.cjs.map +1 -1
  4. package/dist/cli.cjs +3 -3
  5. package/dist/{lifecycle-DxCru7rk.cjs → lifecycle-D8mcsEjy.cjs} +2 -2
  6. package/dist/{lifecycle-DxCru7rk.cjs.map → lifecycle-D8mcsEjy.cjs.map} +1 -1
  7. package/dist/mcp-server.cjs +2715 -16
  8. package/dist/mcp-server.cjs.map +1 -1
  9. package/dist/{server-By0TN-nC.cjs → server-BAHfh_vw.cjs} +2716 -17
  10. package/dist/server-BAHfh_vw.cjs.map +1 -0
  11. package/package.json +1 -1
  12. package/dist/.tsbuildinfo +0 -1
  13. package/dist/backend/index.d.ts +0 -4
  14. package/dist/backend/index.d.ts.map +0 -1
  15. package/dist/backend/index.js +0 -12
  16. package/dist/backend/index.js.map +0 -1
  17. package/dist/backend/lifecycle.d.ts +0 -13
  18. package/dist/backend/lifecycle.d.ts.map +0 -1
  19. package/dist/backend/lifecycle.js +0 -168
  20. package/dist/backend/lifecycle.js.map +0 -1
  21. package/dist/backend/server.d.ts +0 -13
  22. package/dist/backend/server.d.ts.map +0 -1
  23. package/dist/backend/server.js +0 -1013
  24. package/dist/backend/server.js.map +0 -1
  25. package/dist/backend/terminal.d.ts +0 -49
  26. package/dist/backend/terminal.d.ts.map +0 -1
  27. package/dist/backend/terminal.js +0 -209
  28. package/dist/backend/terminal.js.map +0 -1
  29. package/dist/backend/types.d.ts +0 -77
  30. package/dist/backend/types.d.ts.map +0 -1
  31. package/dist/backend/types.js +0 -6
  32. package/dist/backend/types.js.map +0 -1
  33. package/dist/backend-server.d.cts +0 -2
  34. package/dist/backend-server.d.ts +0 -11
  35. package/dist/backend-server.d.ts.map +0 -1
  36. package/dist/backend-server.js +0 -43
  37. package/dist/backend-server.js.map +0 -1
  38. package/dist/cli.d.cts +0 -2
  39. package/dist/cli.d.ts +0 -7
  40. package/dist/cli.d.ts.map +0 -1
  41. package/dist/cli.js +0 -510
  42. package/dist/cli.js.map +0 -1
  43. package/dist/core/artefakte.d.ts +0 -12
  44. package/dist/core/artefakte.d.ts.map +0 -1
  45. package/dist/core/artefakte.js +0 -152
  46. package/dist/core/artefakte.js.map +0 -1
  47. package/dist/core/commands.d.ts +0 -26
  48. package/dist/core/commands.d.ts.map +0 -1
  49. package/dist/core/commands.js +0 -550
  50. package/dist/core/commands.js.map +0 -1
  51. package/dist/core/config.d.ts +0 -10
  52. package/dist/core/config.d.ts.map +0 -1
  53. package/dist/core/config.js +0 -143
  54. package/dist/core/config.js.map +0 -1
  55. package/dist/core/context-loader.d.ts +0 -21
  56. package/dist/core/context-loader.d.ts.map +0 -1
  57. package/dist/core/context-loader.js +0 -212
  58. package/dist/core/context-loader.js.map +0 -1
  59. package/dist/core/core.d.ts +0 -91
  60. package/dist/core/core.d.ts.map +0 -1
  61. package/dist/core/core.js +0 -823
  62. package/dist/core/core.js.map +0 -1
  63. package/dist/core/dashboard-launcher.d.ts +0 -56
  64. package/dist/core/dashboard-launcher.d.ts.map +0 -1
  65. package/dist/core/dashboard-launcher.js +0 -246
  66. package/dist/core/dashboard-launcher.js.map +0 -1
  67. package/dist/core/drift.d.ts +0 -37
  68. package/dist/core/drift.d.ts.map +0 -1
  69. package/dist/core/drift.js +0 -213
  70. package/dist/core/drift.js.map +0 -1
  71. package/dist/core/frontmatter.d.ts +0 -33
  72. package/dist/core/frontmatter.d.ts.map +0 -1
  73. package/dist/core/frontmatter.js +0 -193
  74. package/dist/core/frontmatter.js.map +0 -1
  75. package/dist/core/index.d.ts +0 -28
  76. package/dist/core/index.d.ts.map +0 -1
  77. package/dist/core/index.js +0 -189
  78. package/dist/core/index.js.map +0 -1
  79. package/dist/core/init.d.ts +0 -287
  80. package/dist/core/init.d.ts.map +0 -1
  81. package/dist/core/init.js +0 -816
  82. package/dist/core/init.js.map +0 -1
  83. package/dist/core/milestone.d.ts +0 -9
  84. package/dist/core/milestone.d.ts.map +0 -1
  85. package/dist/core/milestone.js +0 -230
  86. package/dist/core/milestone.js.map +0 -1
  87. package/dist/core/phase.d.ts +0 -53
  88. package/dist/core/phase.d.ts.map +0 -1
  89. package/dist/core/phase.js +0 -891
  90. package/dist/core/phase.js.map +0 -1
  91. package/dist/core/roadmap.d.ts +0 -10
  92. package/dist/core/roadmap.d.ts.map +0 -1
  93. package/dist/core/roadmap.js +0 -165
  94. package/dist/core/roadmap.js.map +0 -1
  95. package/dist/core/skills.d.ts +0 -20
  96. package/dist/core/skills.d.ts.map +0 -1
  97. package/dist/core/skills.js +0 -144
  98. package/dist/core/skills.js.map +0 -1
  99. package/dist/core/start.d.ts +0 -15
  100. package/dist/core/start.d.ts.map +0 -1
  101. package/dist/core/start.js +0 -80
  102. package/dist/core/start.js.map +0 -1
  103. package/dist/core/state.d.ts +0 -32
  104. package/dist/core/state.d.ts.map +0 -1
  105. package/dist/core/state.js +0 -582
  106. package/dist/core/state.js.map +0 -1
  107. package/dist/core/template.d.ts +0 -30
  108. package/dist/core/template.d.ts.map +0 -1
  109. package/dist/core/template.js +0 -223
  110. package/dist/core/template.js.map +0 -1
  111. package/dist/core/types.d.ts +0 -519
  112. package/dist/core/types.d.ts.map +0 -1
  113. package/dist/core/types.js +0 -60
  114. package/dist/core/types.js.map +0 -1
  115. package/dist/core/verify.d.ts +0 -128
  116. package/dist/core/verify.d.ts.map +0 -1
  117. package/dist/core/verify.js +0 -754
  118. package/dist/core/verify.js.map +0 -1
  119. package/dist/hooks/index.d.ts +0 -11
  120. package/dist/hooks/index.d.ts.map +0 -1
  121. package/dist/hooks/index.js +0 -18
  122. package/dist/hooks/index.js.map +0 -1
  123. package/dist/hooks/maxsim-check-update.d.ts +0 -17
  124. package/dist/hooks/maxsim-check-update.d.ts.map +0 -1
  125. package/dist/hooks/maxsim-check-update.js +0 -101
  126. package/dist/hooks/maxsim-check-update.js.map +0 -1
  127. package/dist/hooks/maxsim-context-monitor.d.ts +0 -21
  128. package/dist/hooks/maxsim-context-monitor.d.ts.map +0 -1
  129. package/dist/hooks/maxsim-context-monitor.js +0 -131
  130. package/dist/hooks/maxsim-context-monitor.js.map +0 -1
  131. package/dist/hooks/maxsim-statusline.d.ts +0 -19
  132. package/dist/hooks/maxsim-statusline.d.ts.map +0 -1
  133. package/dist/hooks/maxsim-statusline.js +0 -146
  134. package/dist/hooks/maxsim-statusline.js.map +0 -1
  135. package/dist/hooks/shared.d.ts +0 -11
  136. package/dist/hooks/shared.d.ts.map +0 -1
  137. package/dist/hooks/shared.js +0 -29
  138. package/dist/hooks/shared.js.map +0 -1
  139. package/dist/index.d.ts +0 -2
  140. package/dist/index.d.ts.map +0 -1
  141. package/dist/index.js +0 -3
  142. package/dist/index.js.map +0 -1
  143. package/dist/install/adapters.d.ts +0 -6
  144. package/dist/install/adapters.d.ts.map +0 -1
  145. package/dist/install/adapters.js +0 -65
  146. package/dist/install/adapters.js.map +0 -1
  147. package/dist/install/copy.d.ts +0 -6
  148. package/dist/install/copy.d.ts.map +0 -1
  149. package/dist/install/copy.js +0 -71
  150. package/dist/install/copy.js.map +0 -1
  151. package/dist/install/dashboard.d.ts +0 -16
  152. package/dist/install/dashboard.d.ts.map +0 -1
  153. package/dist/install/dashboard.js +0 -273
  154. package/dist/install/dashboard.js.map +0 -1
  155. package/dist/install/hooks.d.ts +0 -31
  156. package/dist/install/hooks.d.ts.map +0 -1
  157. package/dist/install/hooks.js +0 -260
  158. package/dist/install/hooks.js.map +0 -1
  159. package/dist/install/index.d.ts +0 -2
  160. package/dist/install/index.d.ts.map +0 -1
  161. package/dist/install/index.js +0 -534
  162. package/dist/install/index.js.map +0 -1
  163. package/dist/install/manifest.d.ts +0 -23
  164. package/dist/install/manifest.d.ts.map +0 -1
  165. package/dist/install/manifest.js +0 -133
  166. package/dist/install/manifest.js.map +0 -1
  167. package/dist/install/patches.d.ts +0 -10
  168. package/dist/install/patches.d.ts.map +0 -1
  169. package/dist/install/patches.js +0 -124
  170. package/dist/install/patches.js.map +0 -1
  171. package/dist/install/shared.d.ts +0 -56
  172. package/dist/install/shared.d.ts.map +0 -1
  173. package/dist/install/shared.js +0 -181
  174. package/dist/install/shared.js.map +0 -1
  175. package/dist/install/uninstall.d.ts +0 -5
  176. package/dist/install/uninstall.d.ts.map +0 -1
  177. package/dist/install/uninstall.js +0 -222
  178. package/dist/install/uninstall.js.map +0 -1
  179. package/dist/install/utils.d.ts +0 -27
  180. package/dist/install/utils.d.ts.map +0 -1
  181. package/dist/install/utils.js +0 -99
  182. package/dist/install/utils.js.map +0 -1
  183. package/dist/install.d.cts +0 -2
  184. package/dist/mcp/config-tools.d.ts +0 -13
  185. package/dist/mcp/config-tools.d.ts.map +0 -1
  186. package/dist/mcp/config-tools.js +0 -66
  187. package/dist/mcp/config-tools.js.map +0 -1
  188. package/dist/mcp/context-tools.d.ts +0 -13
  189. package/dist/mcp/context-tools.d.ts.map +0 -1
  190. package/dist/mcp/context-tools.js +0 -176
  191. package/dist/mcp/context-tools.js.map +0 -1
  192. package/dist/mcp/index.d.ts +0 -11
  193. package/dist/mcp/index.d.ts.map +0 -1
  194. package/dist/mcp/index.js +0 -26
  195. package/dist/mcp/index.js.map +0 -1
  196. package/dist/mcp/phase-tools.d.ts +0 -13
  197. package/dist/mcp/phase-tools.d.ts.map +0 -1
  198. package/dist/mcp/phase-tools.js +0 -177
  199. package/dist/mcp/phase-tools.js.map +0 -1
  200. package/dist/mcp/roadmap-tools.d.ts +0 -13
  201. package/dist/mcp/roadmap-tools.d.ts.map +0 -1
  202. package/dist/mcp/roadmap-tools.js +0 -79
  203. package/dist/mcp/roadmap-tools.js.map +0 -1
  204. package/dist/mcp/state-tools.d.ts +0 -13
  205. package/dist/mcp/state-tools.d.ts.map +0 -1
  206. package/dist/mcp/state-tools.js +0 -185
  207. package/dist/mcp/state-tools.js.map +0 -1
  208. package/dist/mcp/todo-tools.d.ts +0 -13
  209. package/dist/mcp/todo-tools.d.ts.map +0 -1
  210. package/dist/mcp/todo-tools.js +0 -143
  211. package/dist/mcp/todo-tools.js.map +0 -1
  212. package/dist/mcp/utils.d.ts +0 -27
  213. package/dist/mcp/utils.d.ts.map +0 -1
  214. package/dist/mcp/utils.js +0 -82
  215. package/dist/mcp/utils.js.map +0 -1
  216. package/dist/mcp-server.d.cts +0 -2
  217. package/dist/mcp-server.d.ts +0 -12
  218. package/dist/mcp-server.d.ts.map +0 -1
  219. package/dist/mcp-server.js +0 -31
  220. package/dist/mcp-server.js.map +0 -1
  221. package/dist/server-By0TN-nC.cjs.map +0 -1
@@ -1,550 +0,0 @@
1
- "use strict";
2
- /**
3
- * Commands — Standalone utility commands
4
- *
5
- * Ported from maxsim/bin/lib/commands.cjs
6
- */
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.parseTodoFrontmatter = parseTodoFrontmatter;
12
- exports.cmdGenerateSlug = cmdGenerateSlug;
13
- exports.cmdCurrentTimestamp = cmdCurrentTimestamp;
14
- exports.cmdListTodos = cmdListTodos;
15
- exports.cmdVerifyPathExists = cmdVerifyPathExists;
16
- exports.cmdHistoryDigest = cmdHistoryDigest;
17
- exports.cmdResolveModel = cmdResolveModel;
18
- exports.cmdCommit = cmdCommit;
19
- exports.cmdSummaryExtract = cmdSummaryExtract;
20
- exports.cmdWebsearch = cmdWebsearch;
21
- exports.cmdProgressRender = cmdProgressRender;
22
- exports.cmdTodoComplete = cmdTodoComplete;
23
- exports.cmdScaffold = cmdScaffold;
24
- const node_fs_1 = __importDefault(require("node:fs"));
25
- const node_path_1 = __importDefault(require("node:path"));
26
- const chalk_1 = __importDefault(require("chalk"));
27
- const slugify_1 = __importDefault(require("slugify"));
28
- const core_js_1 = require("./core.js");
29
- const frontmatter_js_1 = require("./frontmatter.js");
30
- const types_js_1 = require("./types.js");
31
- function parseTodoFrontmatter(content) {
32
- const createdMatch = content.match(/^created:\s*(.+)$/m);
33
- const titleMatch = content.match(/^title:\s*(.+)$/m);
34
- const areaMatch = content.match(/^area:\s*(.+)$/m);
35
- const completedMatch = content.match(/^completed:\s*(.+)$/m);
36
- return {
37
- created: createdMatch ? createdMatch[1].trim() : 'unknown',
38
- title: titleMatch ? titleMatch[1].trim() : 'Untitled',
39
- area: areaMatch ? areaMatch[1].trim() : 'general',
40
- ...(completedMatch && { completed: completedMatch[1].trim() }),
41
- };
42
- }
43
- // ─── Slug generation ────────────────────────────────────────────────────────
44
- function cmdGenerateSlug(text, raw) {
45
- if (!text) {
46
- return (0, types_js_1.cmdErr)('text required for slug generation');
47
- }
48
- const slug = (0, slugify_1.default)(text, { lower: true, strict: true });
49
- const result = { slug };
50
- return (0, types_js_1.cmdOk)(result, raw ? slug : undefined);
51
- }
52
- // ─── Timestamp ──────────────────────────────────────────────────────────────
53
- function cmdCurrentTimestamp(format, raw) {
54
- const now = new Date();
55
- let result;
56
- switch (format) {
57
- case 'date':
58
- result = (0, core_js_1.todayISO)();
59
- break;
60
- case 'filename':
61
- result = now.toISOString().replace(/:/g, '-').replace(/\..+/, '');
62
- break;
63
- case 'full':
64
- default:
65
- result = now.toISOString();
66
- break;
67
- }
68
- return (0, types_js_1.cmdOk)({ timestamp: result }, raw ? result : undefined);
69
- }
70
- // ─── Todos ──────────────────────────────────────────────────────────────────
71
- function cmdListTodos(cwd, area, raw) {
72
- const pendingDir = (0, core_js_1.planningPath)(cwd, 'todos', 'pending');
73
- let count = 0;
74
- const todos = [];
75
- try {
76
- const files = node_fs_1.default.readdirSync(pendingDir).filter(f => f.endsWith('.md'));
77
- for (const file of files) {
78
- try {
79
- const content = node_fs_1.default.readFileSync(node_path_1.default.join(pendingDir, file), 'utf-8');
80
- const fm = parseTodoFrontmatter(content);
81
- // Apply area filter if specified
82
- if (area && fm.area !== area)
83
- continue;
84
- count++;
85
- todos.push({
86
- file,
87
- created: fm.created,
88
- title: fm.title,
89
- area: fm.area,
90
- path: node_path_1.default.join('.planning', 'todos', 'pending', file),
91
- });
92
- }
93
- catch (e) {
94
- /* optional op, ignore */
95
- (0, core_js_1.debugLog)(e);
96
- }
97
- }
98
- }
99
- catch (e) {
100
- /* optional op, ignore */
101
- (0, core_js_1.debugLog)(e);
102
- }
103
- const result = { count, todos };
104
- return (0, types_js_1.cmdOk)(result, raw ? count.toString() : undefined);
105
- }
106
- // ─── Path verification ──────────────────────────────────────────────────────
107
- function cmdVerifyPathExists(cwd, targetPath, raw) {
108
- if (!targetPath) {
109
- return (0, types_js_1.cmdErr)('path required for verification');
110
- }
111
- const fullPath = node_path_1.default.isAbsolute(targetPath) ? targetPath : node_path_1.default.join(cwd, targetPath);
112
- try {
113
- const stats = node_fs_1.default.statSync(fullPath);
114
- const type = stats.isDirectory() ? 'directory' : stats.isFile() ? 'file' : 'other';
115
- const result = { exists: true, type };
116
- return (0, types_js_1.cmdOk)(result, raw ? 'true' : undefined);
117
- }
118
- catch (e) {
119
- (0, core_js_1.rethrowCliSignals)(e);
120
- const result = { exists: false, type: null };
121
- return (0, types_js_1.cmdOk)(result, raw ? 'false' : undefined);
122
- }
123
- }
124
- // ─── History digest ─────────────────────────────────────────────────────────
125
- function cmdHistoryDigest(cwd, raw) {
126
- const phasesDir = (0, core_js_1.phasesPath)(cwd);
127
- const digest = { phases: {}, decisions: [], tech_stack: new Set() };
128
- // Collect all phase directories: archived + current
129
- const allPhaseDirs = [];
130
- // Add archived phases first (oldest milestones first)
131
- const archived = (0, core_js_1.getArchivedPhaseDirs)(cwd);
132
- for (const a of archived) {
133
- allPhaseDirs.push({ name: a.name, fullPath: a.fullPath, milestone: a.milestone });
134
- }
135
- // Add current phases
136
- if (node_fs_1.default.existsSync(phasesDir)) {
137
- try {
138
- const currentDirs = (0, core_js_1.listSubDirs)(phasesDir, true);
139
- for (const dir of currentDirs) {
140
- allPhaseDirs.push({ name: dir, fullPath: node_path_1.default.join(phasesDir, dir), milestone: null });
141
- }
142
- }
143
- catch (e) {
144
- /* optional op, ignore */
145
- (0, core_js_1.debugLog)(e);
146
- }
147
- }
148
- if (allPhaseDirs.length === 0) {
149
- const emptyDigest = { phases: {}, decisions: [], tech_stack: [] };
150
- return (0, types_js_1.cmdOk)(emptyDigest);
151
- }
152
- try {
153
- for (const { name: dir, fullPath: dirPath } of allPhaseDirs) {
154
- const summaries = node_fs_1.default.readdirSync(dirPath).filter(f => (0, core_js_1.isSummaryFile)(f));
155
- for (const summary of summaries) {
156
- try {
157
- const content = node_fs_1.default.readFileSync(node_path_1.default.join(dirPath, summary), 'utf-8');
158
- const fm = (0, frontmatter_js_1.extractFrontmatter)(content);
159
- const phaseNum = fm.phase || dir.split('-')[0];
160
- if (!digest.phases[phaseNum]) {
161
- digest.phases[phaseNum] = {
162
- name: fm.name || dir.split('-').slice(1).join(' ') || 'Unknown',
163
- provides: new Set(),
164
- affects: new Set(),
165
- patterns: new Set(),
166
- };
167
- }
168
- // Merge provides
169
- const depGraph = fm['dependency-graph'];
170
- if (depGraph && depGraph.provides) {
171
- depGraph.provides.forEach(p => digest.phases[phaseNum].provides.add(p));
172
- }
173
- else if (fm.provides) {
174
- fm.provides.forEach(p => digest.phases[phaseNum].provides.add(p));
175
- }
176
- // Merge affects
177
- if (depGraph && depGraph.affects) {
178
- depGraph.affects.forEach(a => digest.phases[phaseNum].affects.add(a));
179
- }
180
- // Merge patterns
181
- if (fm['patterns-established']) {
182
- fm['patterns-established'].forEach(p => digest.phases[phaseNum].patterns.add(p));
183
- }
184
- // Merge decisions
185
- if (fm['key-decisions']) {
186
- fm['key-decisions'].forEach(d => {
187
- digest.decisions.push({ phase: phaseNum, decision: d });
188
- });
189
- }
190
- // Merge tech stack
191
- const techStack = fm['tech-stack'];
192
- if (techStack && techStack.added) {
193
- techStack.added.forEach(t => digest.tech_stack.add(typeof t === 'string' ? t : t.name));
194
- }
195
- }
196
- catch (e) {
197
- /* optional op, ignore */
198
- (0, core_js_1.debugLog)(e);
199
- }
200
- }
201
- }
202
- // Convert Sets to Arrays for JSON output
203
- const outputDigest = {
204
- phases: {},
205
- decisions: digest.decisions,
206
- tech_stack: [...digest.tech_stack],
207
- };
208
- for (const [p, data] of Object.entries(digest.phases)) {
209
- outputDigest.phases[p] = {
210
- name: data.name,
211
- provides: [...data.provides],
212
- affects: [...data.affects],
213
- patterns: [...data.patterns],
214
- };
215
- }
216
- return (0, types_js_1.cmdOk)(outputDigest);
217
- }
218
- catch (e) {
219
- (0, core_js_1.rethrowCliSignals)(e);
220
- return (0, types_js_1.cmdErr)('Failed to generate history digest: ' + e.message);
221
- }
222
- }
223
- // ─── Model resolution ───────────────────────────────────────────────────────
224
- function cmdResolveModel(cwd, agentType, raw) {
225
- if (!agentType) {
226
- return (0, types_js_1.cmdErr)('agent-type required');
227
- }
228
- const config = (0, core_js_1.loadConfig)(cwd);
229
- const profile = config.model_profile || 'balanced';
230
- const agentModels = core_js_1.MODEL_PROFILES[agentType];
231
- if (!agentModels) {
232
- const result = { model: 'sonnet', profile, unknown_agent: true };
233
- return (0, types_js_1.cmdOk)(result, raw ? 'sonnet' : undefined);
234
- }
235
- const resolved = agentModels[profile] || agentModels['balanced'] || 'sonnet';
236
- const model = resolved === 'opus' ? 'inherit' : resolved;
237
- const result = { model, profile };
238
- return (0, types_js_1.cmdOk)(result, raw ? model : undefined);
239
- }
240
- // ─── Commit ─────────────────────────────────────────────────────────────────
241
- async function cmdCommit(cwd, message, files, raw, amend) {
242
- if (!message && !amend) {
243
- return (0, types_js_1.cmdErr)('commit message required');
244
- }
245
- const config = (0, core_js_1.loadConfig)(cwd);
246
- // Check commit_docs config
247
- if (!config.commit_docs) {
248
- const result = { committed: false, hash: null, reason: 'skipped_commit_docs_false' };
249
- return (0, types_js_1.cmdOk)(result, raw ? 'skipped' : undefined);
250
- }
251
- // Check if .planning is gitignored
252
- if (await (0, core_js_1.isGitIgnored)(cwd, '.planning')) {
253
- const result = { committed: false, hash: null, reason: 'skipped_gitignored' };
254
- return (0, types_js_1.cmdOk)(result, raw ? 'skipped' : undefined);
255
- }
256
- // Stage files
257
- const filesToStage = files && files.length > 0 ? files : ['.planning/'];
258
- for (const file of filesToStage) {
259
- await (0, core_js_1.execGit)(cwd, ['add', file]);
260
- }
261
- // Commit
262
- const commitArgs = amend ? ['commit', '--amend', '--no-edit'] : ['commit', '-m', message];
263
- const commitResult = await (0, core_js_1.execGit)(cwd, commitArgs);
264
- if (commitResult.exitCode !== 0) {
265
- if (commitResult.stdout.includes('nothing to commit') || commitResult.stderr.includes('nothing to commit')) {
266
- const result = { committed: false, hash: null, reason: 'nothing_to_commit' };
267
- return (0, types_js_1.cmdOk)(result, raw ? 'nothing' : undefined);
268
- }
269
- const result = { committed: false, hash: null, reason: 'nothing_to_commit', error: commitResult.stderr };
270
- return (0, types_js_1.cmdOk)(result, raw ? 'nothing' : undefined);
271
- }
272
- // Get short hash
273
- const hashResult = await (0, core_js_1.execGit)(cwd, ['rev-parse', '--short', 'HEAD']);
274
- const hash = hashResult.exitCode === 0 ? hashResult.stdout : null;
275
- const result = { committed: true, hash, reason: 'committed' };
276
- return (0, types_js_1.cmdOk)(result, raw ? (hash || 'committed') : undefined);
277
- }
278
- // ─── Summary extract ────────────────────────────────────────────────────────
279
- function cmdSummaryExtract(cwd, summaryPath, fields, raw) {
280
- if (!summaryPath) {
281
- return (0, types_js_1.cmdErr)('summary-path required for summary-extract');
282
- }
283
- const fullPath = node_path_1.default.join(cwd, summaryPath);
284
- if (!node_fs_1.default.existsSync(fullPath)) {
285
- return (0, types_js_1.cmdOk)({ error: 'File not found', path: summaryPath });
286
- }
287
- const content = node_fs_1.default.readFileSync(fullPath, 'utf-8');
288
- const fm = (0, frontmatter_js_1.extractFrontmatter)(content);
289
- // Parse key-decisions into structured format
290
- const parseDecisions = (decisionsList) => {
291
- if (!decisionsList || !Array.isArray(decisionsList))
292
- return [];
293
- return decisionsList.map((d) => {
294
- const colonIdx = d.indexOf(':');
295
- if (colonIdx > 0) {
296
- return {
297
- summary: d.substring(0, colonIdx).trim(),
298
- rationale: d.substring(colonIdx + 1).trim(),
299
- };
300
- }
301
- return { summary: d, rationale: null };
302
- });
303
- };
304
- const techStack = fm['tech-stack'];
305
- // Build full result
306
- const fullResult = {
307
- path: summaryPath,
308
- one_liner: fm['one-liner'] || null,
309
- key_files: fm['key-files'] || [],
310
- tech_added: (techStack && techStack.added) || [],
311
- patterns: fm['patterns-established'] || [],
312
- decisions: parseDecisions(fm['key-decisions']),
313
- requirements_completed: fm['requirements-completed'] || [],
314
- };
315
- // If fields specified, filter to only those fields
316
- if (fields && fields.length > 0) {
317
- const filtered = { path: summaryPath };
318
- for (const field of fields) {
319
- if (fullResult[field] !== undefined) {
320
- filtered[field] = fullResult[field];
321
- }
322
- }
323
- return (0, types_js_1.cmdOk)(filtered);
324
- }
325
- return (0, types_js_1.cmdOk)(fullResult);
326
- }
327
- // ─── Web search ─────────────────────────────────────────────────────────────
328
- async function cmdWebsearch(query, options, raw) {
329
- const apiKey = process.env.BRAVE_API_KEY;
330
- if (!apiKey) {
331
- return (0, types_js_1.cmdOk)({ available: false, reason: 'BRAVE_API_KEY not set' }, raw ? '' : undefined);
332
- }
333
- if (!query) {
334
- return (0, types_js_1.cmdOk)({ available: false, error: 'Query required' }, raw ? '' : undefined);
335
- }
336
- const params = new URLSearchParams({
337
- q: query,
338
- count: String(options.limit || 10),
339
- country: 'us',
340
- search_lang: 'en',
341
- text_decorations: 'false',
342
- });
343
- if (options.freshness) {
344
- params.set('freshness', options.freshness);
345
- }
346
- try {
347
- const response = await fetch(`https://api.search.brave.com/res/v1/web/search?${params}`, {
348
- headers: {
349
- Accept: 'application/json',
350
- 'X-Subscription-Token': apiKey,
351
- },
352
- });
353
- if (!response.ok) {
354
- return (0, types_js_1.cmdOk)({ available: false, error: `API error: ${response.status}` }, raw ? '' : undefined);
355
- }
356
- const data = (await response.json());
357
- const results = (data.web?.results || []).map(r => ({
358
- title: r.title,
359
- url: r.url,
360
- description: r.description,
361
- age: r.age || null,
362
- }));
363
- return (0, types_js_1.cmdOk)({
364
- available: true,
365
- query,
366
- count: results.length,
367
- results,
368
- }, raw ? results.map(r => `${r.title}\n${r.url}\n${r.description}`).join('\n\n') : undefined);
369
- }
370
- catch (err) {
371
- (0, core_js_1.rethrowCliSignals)(err);
372
- return (0, types_js_1.cmdOk)({ available: false, error: err.message }, raw ? '' : undefined);
373
- }
374
- }
375
- // ─── Progress render ────────────────────────────────────────────────────────
376
- function cmdProgressRender(cwd, format, raw) {
377
- const phasesDir = (0, core_js_1.phasesPath)(cwd);
378
- const milestone = (0, core_js_1.getMilestoneInfo)(cwd);
379
- const phases = [];
380
- let totalPlans = 0;
381
- let totalSummaries = 0;
382
- try {
383
- const entries = node_fs_1.default.readdirSync(phasesDir, { withFileTypes: true });
384
- const dirs = entries
385
- .filter(e => e.isDirectory())
386
- .map(e => e.name)
387
- .sort((a, b) => {
388
- const aNum = parseFloat(a.match(/^(\d+(?:\.\d+)?)/)?.[1] || '0');
389
- const bNum = parseFloat(b.match(/^(\d+(?:\.\d+)?)/)?.[1] || '0');
390
- return aNum - bNum;
391
- });
392
- for (const dir of dirs) {
393
- const dm = dir.match(/^(\d+(?:\.\d+)?)-?(.*)/);
394
- const phaseNum = dm ? dm[1] : dir;
395
- const phaseName = dm && dm[2] ? dm[2].replace(/-/g, ' ') : '';
396
- const phaseFiles = node_fs_1.default.readdirSync(node_path_1.default.join(phasesDir, dir));
397
- const planCount = phaseFiles.filter(f => (0, core_js_1.isPlanFile)(f)).length;
398
- const summaryCount = phaseFiles.filter(f => (0, core_js_1.isSummaryFile)(f)).length;
399
- totalPlans += planCount;
400
- totalSummaries += summaryCount;
401
- let status;
402
- if (planCount === 0)
403
- status = 'Pending';
404
- else if (summaryCount >= planCount)
405
- status = 'Complete';
406
- else if (summaryCount > 0)
407
- status = 'In Progress';
408
- else
409
- status = 'Planned';
410
- phases.push({ number: phaseNum, name: phaseName, plans: planCount, summaries: summaryCount, status });
411
- }
412
- }
413
- catch (e) {
414
- /* optional op, ignore */
415
- (0, core_js_1.debugLog)(e);
416
- }
417
- const percent = totalPlans > 0 ? Math.min(100, Math.round((totalSummaries / totalPlans) * 100)) : 0;
418
- if (format === 'table') {
419
- const barWidth = 10;
420
- const filled = Math.round((percent / 100) * barWidth);
421
- const bar = '\u2588'.repeat(filled) + '\u2591'.repeat(barWidth - filled);
422
- let out = `# ${milestone.version} ${milestone.name}\n\n`;
423
- out += `**Progress:** [${bar}] ${totalSummaries}/${totalPlans} plans (${percent}%)\n\n`;
424
- out += `| Phase | Name | Plans | Status |\n`;
425
- out += `|-------|------|-------|--------|\n`;
426
- for (const p of phases) {
427
- out += `| ${p.number} | ${p.name} | ${p.summaries}/${p.plans} | ${p.status} |\n`;
428
- }
429
- return (0, types_js_1.cmdOk)({ rendered: out }, raw ? out : undefined);
430
- }
431
- else if (format === 'bar') {
432
- const barWidth = 20;
433
- const filled = Math.round((percent / 100) * barWidth);
434
- const bar = '\u2588'.repeat(filled) + '\u2591'.repeat(barWidth - filled);
435
- const text = `[${bar}] ${totalSummaries}/${totalPlans} plans (${percent}%)`;
436
- return (0, types_js_1.cmdOk)({ bar: text, percent, completed: totalSummaries, total: totalPlans }, raw ? text : undefined);
437
- }
438
- else if (format === 'phase-bars') {
439
- const doneCount = phases.filter(p => p.status === 'Complete').length;
440
- const inProgressCount = phases.filter(p => p.status === 'In Progress').length;
441
- const totalCount = phases.length;
442
- const header = chalk_1.default.bold(`Milestone: ${milestone.name} — ${doneCount}/${totalCount} phases complete (${percent}%)`);
443
- const lines = [header, ''];
444
- for (const p of phases) {
445
- const pPercent = p.plans > 0 ? Math.min(100, Math.round((p.summaries / p.plans) * 100)) : 0;
446
- const barWidth = 10;
447
- const filled = Math.round((pPercent / 100) * barWidth);
448
- const bar = '\u2588'.repeat(filled) + '\u2591'.repeat(barWidth - filled);
449
- const phaseLabel = `Phase ${p.number.padStart(2, '0')}`;
450
- const statusLabel = p.status === 'Complete'
451
- ? 'DONE'
452
- : p.status === 'In Progress'
453
- ? 'IN PROGRESS'
454
- : 'PLANNED';
455
- let line = `${phaseLabel} [${bar}] ${String(pPercent).padStart(3, ' ')}% — ${statusLabel}`;
456
- if (p.status === 'Complete')
457
- line = chalk_1.default.green(line);
458
- else if (p.status === 'In Progress')
459
- line = chalk_1.default.yellow(line);
460
- else
461
- line = chalk_1.default.dim(line);
462
- lines.push(line);
463
- }
464
- const rendered = lines.join('\n');
465
- return (0, types_js_1.cmdOk)({ rendered, done: doneCount, in_progress: inProgressCount, total: totalCount, percent }, raw ? rendered : undefined);
466
- }
467
- else {
468
- return (0, types_js_1.cmdOk)({
469
- milestone_version: milestone.version,
470
- milestone_name: milestone.name,
471
- phases,
472
- total_plans: totalPlans,
473
- total_summaries: totalSummaries,
474
- percent,
475
- });
476
- }
477
- }
478
- // ─── Todo complete ──────────────────────────────────────────────────────────
479
- function cmdTodoComplete(cwd, filename, raw) {
480
- if (!filename) {
481
- return (0, types_js_1.cmdErr)('filename required for todo complete');
482
- }
483
- const pendingDir = (0, core_js_1.planningPath)(cwd, 'todos', 'pending');
484
- const completedDir = (0, core_js_1.planningPath)(cwd, 'todos', 'completed');
485
- const sourcePath = node_path_1.default.join(pendingDir, filename);
486
- if (!node_fs_1.default.existsSync(sourcePath)) {
487
- return (0, types_js_1.cmdErr)(`Todo not found: ${filename}`);
488
- }
489
- // Ensure completed directory exists
490
- node_fs_1.default.mkdirSync(completedDir, { recursive: true });
491
- // Read, add completion timestamp, move
492
- let content = node_fs_1.default.readFileSync(sourcePath, 'utf-8');
493
- const today = (0, core_js_1.todayISO)();
494
- content = `completed: ${today}\n` + content;
495
- node_fs_1.default.writeFileSync(node_path_1.default.join(completedDir, filename), content, 'utf-8');
496
- node_fs_1.default.unlinkSync(sourcePath);
497
- return (0, types_js_1.cmdOk)({ completed: true, file: filename, date: today }, raw ? 'completed' : undefined);
498
- }
499
- // ─── Scaffold ───────────────────────────────────────────────────────────────
500
- function cmdScaffold(cwd, type, options, raw) {
501
- const { phase, name } = options;
502
- const padded = phase ? (0, core_js_1.normalizePhaseName)(phase) : '00';
503
- const today = (0, core_js_1.todayISO)();
504
- // Find phase directory
505
- const phaseInfo = phase ? (0, core_js_1.findPhaseInternal)(cwd, phase) : null;
506
- const phaseDir = phaseInfo ? node_path_1.default.join(cwd, phaseInfo.directory) : null;
507
- if (phase && !phaseDir && type !== 'phase-dir') {
508
- return (0, types_js_1.cmdErr)(`Phase ${phase} directory not found`);
509
- }
510
- let filePath;
511
- let content;
512
- switch (type) {
513
- case 'context': {
514
- filePath = node_path_1.default.join(phaseDir, `${padded}-CONTEXT.md`);
515
- content = `---\nphase: "${padded}"\nname: "${name || phaseInfo?.phase_name || 'Unnamed'}"\ncreated: ${today}\n---\n\n# Phase ${phase}: ${name || phaseInfo?.phase_name || 'Unnamed'} — Context\n\n## Decisions\n\n_Decisions will be captured during /maxsim:discuss-phase ${phase}_\n\n## Discretion Areas\n\n_Areas where the executor can use judgment_\n\n## Deferred Ideas\n\n_Ideas to consider later_\n`;
516
- break;
517
- }
518
- case 'uat': {
519
- filePath = node_path_1.default.join(phaseDir, `${padded}-UAT.md`);
520
- content = `---\nphase: "${padded}"\nname: "${name || phaseInfo?.phase_name || 'Unnamed'}"\ncreated: ${today}\nstatus: pending\n---\n\n# Phase ${phase}: ${name || phaseInfo?.phase_name || 'Unnamed'} — User Acceptance Testing\n\n## Test Results\n\n| # | Test | Status | Notes |\n|---|------|--------|-------|\n\n## Summary\n\n_Pending UAT_\n`;
521
- break;
522
- }
523
- case 'verification': {
524
- filePath = node_path_1.default.join(phaseDir, `${padded}-VERIFICATION.md`);
525
- content = `---\nphase: "${padded}"\nname: "${name || phaseInfo?.phase_name || 'Unnamed'}"\ncreated: ${today}\nstatus: pending\n---\n\n# Phase ${phase}: ${name || phaseInfo?.phase_name || 'Unnamed'} — Verification\n\n## Goal-Backward Verification\n\n**Phase Goal:** [From ROADMAP.md]\n\n## Checks\n\n| # | Requirement | Status | Evidence |\n|---|------------|--------|----------|\n\n## Result\n\n_Pending verification_\n`;
526
- break;
527
- }
528
- case 'phase-dir': {
529
- if (!phase || !name) {
530
- return (0, types_js_1.cmdErr)('phase and name required for phase-dir scaffold');
531
- }
532
- const slug = (0, core_js_1.generateSlugInternal)(name);
533
- const dirName = `${padded}-${slug}`;
534
- const phasesParent = (0, core_js_1.phasesPath)(cwd);
535
- node_fs_1.default.mkdirSync(phasesParent, { recursive: true });
536
- const dirPath = node_path_1.default.join(phasesParent, dirName);
537
- node_fs_1.default.mkdirSync(dirPath, { recursive: true });
538
- return (0, types_js_1.cmdOk)({ created: true, directory: `.planning/phases/${dirName}`, path: dirPath }, raw ? dirPath : undefined);
539
- }
540
- default:
541
- return (0, types_js_1.cmdErr)(`Unknown scaffold type: ${type}. Available: context, uat, verification, phase-dir`);
542
- }
543
- if (node_fs_1.default.existsSync(filePath)) {
544
- return (0, types_js_1.cmdOk)({ created: false, reason: 'already_exists', path: filePath }, raw ? 'exists' : undefined);
545
- }
546
- node_fs_1.default.writeFileSync(filePath, content, 'utf-8');
547
- const relPath = node_path_1.default.relative(cwd, filePath);
548
- return (0, types_js_1.cmdOk)({ created: true, path: relPath }, raw ? relPath : undefined);
549
- }
550
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/core/commands.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Config — Planning config CRUD operations
3
- *
4
- * Ported from maxsim/bin/lib/config.cjs
5
- */
6
- import type { CmdResult } from './types.js';
7
- export declare function cmdConfigEnsureSection(cwd: string, raw: boolean): CmdResult;
8
- export declare function cmdConfigSet(cwd: string, keyPath: string | undefined, value: string | undefined, raw: boolean): CmdResult;
9
- export declare function cmdConfigGet(cwd: string, keyPath: string | undefined, raw: boolean): CmdResult;
10
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAkC,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,CAsD3E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,CA0CzH;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,CAgC9F"}