maxsimcli 4.6.0 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/dist/assets/CHANGELOG.md +39 -0
  2. package/dist/cli.cjs +470 -961
  3. package/dist/cli.cjs.map +1 -1
  4. package/dist/{core-RRjCSt0G.cjs → core-D5zUr9cb.cjs} +4 -3
  5. package/dist/core-D5zUr9cb.cjs.map +1 -0
  6. package/dist/install.cjs +3 -195
  7. package/dist/install.cjs.map +1 -1
  8. package/dist/mcp-server.cjs +2853 -217
  9. package/dist/mcp-server.cjs.map +1 -1
  10. package/dist/{skills-MYlMkYNt.cjs → skills-CjFWZIGM.cjs} +6 -6
  11. package/dist/{skills-MYlMkYNt.cjs.map → skills-CjFWZIGM.cjs.map} +1 -1
  12. package/package.json +1 -7
  13. package/dist/.tsbuildinfo +0 -1
  14. package/dist/assets/dashboard/client/assets/index-C199D4Eb.css +0 -32
  15. package/dist/assets/dashboard/client/assets/index-nAXJLp0_.js +0 -233
  16. package/dist/assets/dashboard/client/index.html +0 -19
  17. package/dist/assets/dashboard/server.js +0 -78813
  18. package/dist/backend/index.d.ts +0 -4
  19. package/dist/backend/index.d.ts.map +0 -1
  20. package/dist/backend/index.js +0 -12
  21. package/dist/backend/index.js.map +0 -1
  22. package/dist/backend/lifecycle.d.ts +0 -13
  23. package/dist/backend/lifecycle.d.ts.map +0 -1
  24. package/dist/backend/lifecycle.js +0 -168
  25. package/dist/backend/lifecycle.js.map +0 -1
  26. package/dist/backend/server.d.ts +0 -13
  27. package/dist/backend/server.d.ts.map +0 -1
  28. package/dist/backend/server.js +0 -1013
  29. package/dist/backend/server.js.map +0 -1
  30. package/dist/backend/terminal.d.ts +0 -49
  31. package/dist/backend/terminal.d.ts.map +0 -1
  32. package/dist/backend/terminal.js +0 -209
  33. package/dist/backend/terminal.js.map +0 -1
  34. package/dist/backend/types.d.ts +0 -77
  35. package/dist/backend/types.d.ts.map +0 -1
  36. package/dist/backend/types.js +0 -6
  37. package/dist/backend/types.js.map +0 -1
  38. package/dist/backend-server.cjs +0 -80672
  39. package/dist/backend-server.cjs.map +0 -1
  40. package/dist/backend-server.d.cts +0 -2
  41. package/dist/backend-server.d.ts +0 -11
  42. package/dist/backend-server.d.ts.map +0 -1
  43. package/dist/backend-server.js +0 -43
  44. package/dist/backend-server.js.map +0 -1
  45. package/dist/cli.d.cts +0 -2
  46. package/dist/cli.d.ts +0 -7
  47. package/dist/cli.d.ts.map +0 -1
  48. package/dist/cli.js +0 -510
  49. package/dist/cli.js.map +0 -1
  50. package/dist/core/artefakte.d.ts +0 -12
  51. package/dist/core/artefakte.d.ts.map +0 -1
  52. package/dist/core/artefakte.js +0 -152
  53. package/dist/core/artefakte.js.map +0 -1
  54. package/dist/core/commands.d.ts +0 -26
  55. package/dist/core/commands.d.ts.map +0 -1
  56. package/dist/core/commands.js +0 -550
  57. package/dist/core/commands.js.map +0 -1
  58. package/dist/core/config.d.ts +0 -10
  59. package/dist/core/config.d.ts.map +0 -1
  60. package/dist/core/config.js +0 -143
  61. package/dist/core/config.js.map +0 -1
  62. package/dist/core/context-loader.d.ts +0 -21
  63. package/dist/core/context-loader.d.ts.map +0 -1
  64. package/dist/core/context-loader.js +0 -212
  65. package/dist/core/context-loader.js.map +0 -1
  66. package/dist/core/core.d.ts +0 -91
  67. package/dist/core/core.d.ts.map +0 -1
  68. package/dist/core/core.js +0 -823
  69. package/dist/core/core.js.map +0 -1
  70. package/dist/core/dashboard-launcher.d.ts +0 -56
  71. package/dist/core/dashboard-launcher.d.ts.map +0 -1
  72. package/dist/core/dashboard-launcher.js +0 -246
  73. package/dist/core/dashboard-launcher.js.map +0 -1
  74. package/dist/core/drift.d.ts +0 -37
  75. package/dist/core/drift.d.ts.map +0 -1
  76. package/dist/core/drift.js +0 -213
  77. package/dist/core/drift.js.map +0 -1
  78. package/dist/core/frontmatter.d.ts +0 -33
  79. package/dist/core/frontmatter.d.ts.map +0 -1
  80. package/dist/core/frontmatter.js +0 -193
  81. package/dist/core/frontmatter.js.map +0 -1
  82. package/dist/core/index.d.ts +0 -28
  83. package/dist/core/index.d.ts.map +0 -1
  84. package/dist/core/index.js +0 -189
  85. package/dist/core/index.js.map +0 -1
  86. package/dist/core/init.d.ts +0 -287
  87. package/dist/core/init.d.ts.map +0 -1
  88. package/dist/core/init.js +0 -816
  89. package/dist/core/init.js.map +0 -1
  90. package/dist/core/milestone.d.ts +0 -9
  91. package/dist/core/milestone.d.ts.map +0 -1
  92. package/dist/core/milestone.js +0 -230
  93. package/dist/core/milestone.js.map +0 -1
  94. package/dist/core/phase.d.ts +0 -53
  95. package/dist/core/phase.d.ts.map +0 -1
  96. package/dist/core/phase.js +0 -891
  97. package/dist/core/phase.js.map +0 -1
  98. package/dist/core/roadmap.d.ts +0 -10
  99. package/dist/core/roadmap.d.ts.map +0 -1
  100. package/dist/core/roadmap.js +0 -165
  101. package/dist/core/roadmap.js.map +0 -1
  102. package/dist/core/skills.d.ts +0 -20
  103. package/dist/core/skills.d.ts.map +0 -1
  104. package/dist/core/skills.js +0 -144
  105. package/dist/core/skills.js.map +0 -1
  106. package/dist/core/start.d.ts +0 -15
  107. package/dist/core/start.d.ts.map +0 -1
  108. package/dist/core/start.js +0 -80
  109. package/dist/core/start.js.map +0 -1
  110. package/dist/core/state.d.ts +0 -32
  111. package/dist/core/state.d.ts.map +0 -1
  112. package/dist/core/state.js +0 -582
  113. package/dist/core/state.js.map +0 -1
  114. package/dist/core/template.d.ts +0 -30
  115. package/dist/core/template.d.ts.map +0 -1
  116. package/dist/core/template.js +0 -223
  117. package/dist/core/template.js.map +0 -1
  118. package/dist/core/types.d.ts +0 -519
  119. package/dist/core/types.d.ts.map +0 -1
  120. package/dist/core/types.js +0 -60
  121. package/dist/core/types.js.map +0 -1
  122. package/dist/core/verify.d.ts +0 -128
  123. package/dist/core/verify.d.ts.map +0 -1
  124. package/dist/core/verify.js +0 -754
  125. package/dist/core/verify.js.map +0 -1
  126. package/dist/core-RRjCSt0G.cjs.map +0 -1
  127. package/dist/esm-iIOBzmdz.cjs +0 -1561
  128. package/dist/esm-iIOBzmdz.cjs.map +0 -1
  129. package/dist/hooks/index.d.ts +0 -11
  130. package/dist/hooks/index.d.ts.map +0 -1
  131. package/dist/hooks/index.js +0 -18
  132. package/dist/hooks/index.js.map +0 -1
  133. package/dist/hooks/maxsim-check-update.d.ts +0 -17
  134. package/dist/hooks/maxsim-check-update.d.ts.map +0 -1
  135. package/dist/hooks/maxsim-check-update.js +0 -101
  136. package/dist/hooks/maxsim-check-update.js.map +0 -1
  137. package/dist/hooks/maxsim-context-monitor.d.ts +0 -21
  138. package/dist/hooks/maxsim-context-monitor.d.ts.map +0 -1
  139. package/dist/hooks/maxsim-context-monitor.js +0 -131
  140. package/dist/hooks/maxsim-context-monitor.js.map +0 -1
  141. package/dist/hooks/maxsim-statusline.d.ts +0 -19
  142. package/dist/hooks/maxsim-statusline.d.ts.map +0 -1
  143. package/dist/hooks/maxsim-statusline.js +0 -146
  144. package/dist/hooks/maxsim-statusline.js.map +0 -1
  145. package/dist/hooks/shared.d.ts +0 -11
  146. package/dist/hooks/shared.d.ts.map +0 -1
  147. package/dist/hooks/shared.js +0 -29
  148. package/dist/hooks/shared.js.map +0 -1
  149. package/dist/index.d.ts +0 -2
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -3
  152. package/dist/index.js.map +0 -1
  153. package/dist/install/adapters.d.ts +0 -6
  154. package/dist/install/adapters.d.ts.map +0 -1
  155. package/dist/install/adapters.js +0 -65
  156. package/dist/install/adapters.js.map +0 -1
  157. package/dist/install/copy.d.ts +0 -6
  158. package/dist/install/copy.d.ts.map +0 -1
  159. package/dist/install/copy.js +0 -71
  160. package/dist/install/copy.js.map +0 -1
  161. package/dist/install/dashboard.d.ts +0 -16
  162. package/dist/install/dashboard.d.ts.map +0 -1
  163. package/dist/install/dashboard.js +0 -273
  164. package/dist/install/dashboard.js.map +0 -1
  165. package/dist/install/hooks.d.ts +0 -31
  166. package/dist/install/hooks.d.ts.map +0 -1
  167. package/dist/install/hooks.js +0 -260
  168. package/dist/install/hooks.js.map +0 -1
  169. package/dist/install/index.d.ts +0 -2
  170. package/dist/install/index.d.ts.map +0 -1
  171. package/dist/install/index.js +0 -534
  172. package/dist/install/index.js.map +0 -1
  173. package/dist/install/manifest.d.ts +0 -23
  174. package/dist/install/manifest.d.ts.map +0 -1
  175. package/dist/install/manifest.js +0 -133
  176. package/dist/install/manifest.js.map +0 -1
  177. package/dist/install/patches.d.ts +0 -10
  178. package/dist/install/patches.d.ts.map +0 -1
  179. package/dist/install/patches.js +0 -124
  180. package/dist/install/patches.js.map +0 -1
  181. package/dist/install/shared.d.ts +0 -56
  182. package/dist/install/shared.d.ts.map +0 -1
  183. package/dist/install/shared.js +0 -181
  184. package/dist/install/shared.js.map +0 -1
  185. package/dist/install/uninstall.d.ts +0 -5
  186. package/dist/install/uninstall.d.ts.map +0 -1
  187. package/dist/install/uninstall.js +0 -222
  188. package/dist/install/uninstall.js.map +0 -1
  189. package/dist/install/utils.d.ts +0 -27
  190. package/dist/install/utils.d.ts.map +0 -1
  191. package/dist/install/utils.js +0 -99
  192. package/dist/install/utils.js.map +0 -1
  193. package/dist/install.d.cts +0 -2
  194. package/dist/lifecycle-DxCru7rk.cjs +0 -136
  195. package/dist/lifecycle-DxCru7rk.cjs.map +0 -1
  196. package/dist/mcp/config-tools.d.ts +0 -13
  197. package/dist/mcp/config-tools.d.ts.map +0 -1
  198. package/dist/mcp/config-tools.js +0 -66
  199. package/dist/mcp/config-tools.js.map +0 -1
  200. package/dist/mcp/context-tools.d.ts +0 -13
  201. package/dist/mcp/context-tools.d.ts.map +0 -1
  202. package/dist/mcp/context-tools.js +0 -176
  203. package/dist/mcp/context-tools.js.map +0 -1
  204. package/dist/mcp/index.d.ts +0 -11
  205. package/dist/mcp/index.d.ts.map +0 -1
  206. package/dist/mcp/index.js +0 -26
  207. package/dist/mcp/index.js.map +0 -1
  208. package/dist/mcp/phase-tools.d.ts +0 -13
  209. package/dist/mcp/phase-tools.d.ts.map +0 -1
  210. package/dist/mcp/phase-tools.js +0 -177
  211. package/dist/mcp/phase-tools.js.map +0 -1
  212. package/dist/mcp/roadmap-tools.d.ts +0 -13
  213. package/dist/mcp/roadmap-tools.d.ts.map +0 -1
  214. package/dist/mcp/roadmap-tools.js +0 -79
  215. package/dist/mcp/roadmap-tools.js.map +0 -1
  216. package/dist/mcp/state-tools.d.ts +0 -13
  217. package/dist/mcp/state-tools.d.ts.map +0 -1
  218. package/dist/mcp/state-tools.js +0 -185
  219. package/dist/mcp/state-tools.js.map +0 -1
  220. package/dist/mcp/todo-tools.d.ts +0 -13
  221. package/dist/mcp/todo-tools.d.ts.map +0 -1
  222. package/dist/mcp/todo-tools.js +0 -143
  223. package/dist/mcp/todo-tools.js.map +0 -1
  224. package/dist/mcp/utils.d.ts +0 -27
  225. package/dist/mcp/utils.d.ts.map +0 -1
  226. package/dist/mcp/utils.js +0 -82
  227. package/dist/mcp/utils.js.map +0 -1
  228. package/dist/mcp-server.d.cts +0 -2
  229. package/dist/mcp-server.d.ts +0 -12
  230. package/dist/mcp-server.d.ts.map +0 -1
  231. package/dist/mcp-server.js +0 -31
  232. package/dist/mcp-server.js.map +0 -1
  233. package/dist/server-By0TN-nC.cjs +0 -2995
  234. package/dist/server-By0TN-nC.cjs.map +0 -1
@@ -1,133 +0,0 @@
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.MANIFEST_NAME = void 0;
37
- exports.fileHash = fileHash;
38
- exports.generateManifest = generateManifest;
39
- exports.writeManifest = writeManifest;
40
- exports.readManifest = readManifest;
41
- const fs = __importStar(require("node:fs"));
42
- const path = __importStar(require("node:path"));
43
- const crypto = __importStar(require("node:crypto"));
44
- const shared_js_1 = require("./shared.js");
45
- exports.MANIFEST_NAME = 'maxsim-file-manifest.json';
46
- /**
47
- * Compute SHA256 hash of file contents
48
- */
49
- function fileHash(filePath) {
50
- const content = fs.readFileSync(filePath);
51
- return crypto.createHash('sha256').update(content).digest('hex');
52
- }
53
- /**
54
- * Recursively collect all files in dir with their hashes
55
- */
56
- function generateManifest(dir, baseDir) {
57
- if (!baseDir)
58
- baseDir = dir;
59
- const manifest = {};
60
- if (!fs.existsSync(dir))
61
- return manifest;
62
- const entries = fs.readdirSync(dir, { withFileTypes: true });
63
- for (const entry of entries) {
64
- const fullPath = path.join(dir, entry.name);
65
- const relPath = path.relative(baseDir, fullPath).replace(/\\/g, '/');
66
- if (entry.isSymbolicLink()) {
67
- // Skip symlinks — they point to user-managed external directories
68
- continue;
69
- }
70
- else if (entry.isDirectory()) {
71
- Object.assign(manifest, generateManifest(fullPath, baseDir));
72
- }
73
- else {
74
- manifest[relPath] = fileHash(fullPath);
75
- }
76
- }
77
- return manifest;
78
- }
79
- /**
80
- * Write file manifest after installation for future modification detection
81
- */
82
- function writeManifest(configDir) {
83
- const maxsimDir = path.join(configDir, 'maxsim');
84
- const commandsDir = path.join(configDir, 'commands', 'maxsim');
85
- const agentsDir = path.join(configDir, 'agents');
86
- const manifest = {
87
- version: shared_js_1.pkg.version,
88
- timestamp: new Date().toISOString(),
89
- files: {},
90
- };
91
- const maxsimHashes = generateManifest(maxsimDir);
92
- for (const [rel, hash] of Object.entries(maxsimHashes)) {
93
- manifest.files['maxsim/' + rel] = hash;
94
- }
95
- if (fs.existsSync(commandsDir)) {
96
- const cmdHashes = generateManifest(commandsDir);
97
- for (const [rel, hash] of Object.entries(cmdHashes)) {
98
- manifest.files['commands/maxsim/' + rel] = hash;
99
- }
100
- }
101
- if (fs.existsSync(agentsDir)) {
102
- for (const file of fs.readdirSync(agentsDir)) {
103
- if (file.startsWith('maxsim-') && file.endsWith('.md')) {
104
- manifest.files['agents/' + file] = fileHash(path.join(agentsDir, file));
105
- }
106
- }
107
- }
108
- // Include skills in manifest (skills/<skill-name>/*)
109
- const skillsManifestDir = path.join(configDir, 'skills');
110
- if (fs.existsSync(skillsManifestDir)) {
111
- const skillHashes = generateManifest(skillsManifestDir);
112
- for (const [rel, hash] of Object.entries(skillHashes)) {
113
- manifest.files['skills/' + rel] = hash;
114
- }
115
- }
116
- fs.writeFileSync(path.join(configDir, exports.MANIFEST_NAME), JSON.stringify(manifest, null, 2));
117
- return manifest;
118
- }
119
- /**
120
- * Read an existing manifest from the config directory, or return null if none exists / is invalid
121
- */
122
- function readManifest(configDir) {
123
- const manifestPath = path.join(configDir, exports.MANIFEST_NAME);
124
- if (!fs.existsSync(manifestPath))
125
- return null;
126
- try {
127
- return JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
128
- }
129
- catch {
130
- return null;
131
- }
132
- }
133
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/install/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export declare const PATCHES_DIR_NAME = "maxsim-local-patches";
2
- /**
3
- * Detect user-modified MAXSIM files by comparing against install manifest.
4
- */
5
- export declare function saveLocalPatches(configDir: string): string[];
6
- /**
7
- * After install, report backed-up patches for user to reapply.
8
- */
9
- export declare function reportLocalPatches(configDir: string): string[];
10
- //# sourceMappingURL=patches.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/install/patches.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAQvD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA2C5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAwCV"}
@@ -1,124 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.PATCHES_DIR_NAME = void 0;
40
- exports.saveLocalPatches = saveLocalPatches;
41
- exports.reportLocalPatches = reportLocalPatches;
42
- const fs = __importStar(require("node:fs"));
43
- const path = __importStar(require("node:path"));
44
- const chalk_1 = __importDefault(require("chalk"));
45
- const manifest_js_1 = require("./manifest.js");
46
- exports.PATCHES_DIR_NAME = 'maxsim-local-patches';
47
- /**
48
- * Detect user-modified MAXSIM files by comparing against install manifest.
49
- */
50
- function saveLocalPatches(configDir) {
51
- const manifest = (0, manifest_js_1.readManifest)(configDir);
52
- if (!manifest)
53
- return [];
54
- const patchesDir = path.join(configDir, exports.PATCHES_DIR_NAME);
55
- const modified = [];
56
- for (const [relPath, originalHash] of Object.entries(manifest.files || {})) {
57
- const fullPath = path.join(configDir, relPath);
58
- if (!fs.existsSync(fullPath))
59
- continue;
60
- const currentHash = (0, manifest_js_1.fileHash)(fullPath);
61
- if (currentHash !== originalHash) {
62
- const backupPath = path.join(patchesDir, relPath);
63
- fs.mkdirSync(path.dirname(backupPath), { recursive: true });
64
- fs.copyFileSync(fullPath, backupPath);
65
- modified.push(relPath);
66
- }
67
- }
68
- if (modified.length > 0) {
69
- const meta = {
70
- backed_up_at: new Date().toISOString(),
71
- from_version: manifest.version,
72
- files: modified,
73
- };
74
- fs.writeFileSync(path.join(patchesDir, 'backup-meta.json'), JSON.stringify(meta, null, 2));
75
- console.log(' ' +
76
- chalk_1.default.yellow('i') +
77
- ' Found ' +
78
- modified.length +
79
- ' locally modified MAXSIM file(s) \u2014 backed up to ' +
80
- exports.PATCHES_DIR_NAME +
81
- '/');
82
- for (const f of modified) {
83
- console.log(' ' + chalk_1.default.dim(f));
84
- }
85
- }
86
- return modified;
87
- }
88
- /**
89
- * After install, report backed-up patches for user to reapply.
90
- */
91
- function reportLocalPatches(configDir) {
92
- const patchesDir = path.join(configDir, exports.PATCHES_DIR_NAME);
93
- const metaPath = path.join(patchesDir, 'backup-meta.json');
94
- if (!fs.existsSync(metaPath))
95
- return [];
96
- let meta;
97
- try {
98
- meta = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
99
- }
100
- catch {
101
- return [];
102
- }
103
- if (meta.files && meta.files.length > 0) {
104
- console.log('');
105
- console.log(' ' +
106
- chalk_1.default.yellow('Local patches detected') +
107
- ' (from v' +
108
- meta.from_version +
109
- '):');
110
- for (const f of meta.files) {
111
- console.log(' ' + chalk_1.default.cyan(f));
112
- }
113
- console.log('');
114
- console.log(' Your modifications are saved in ' +
115
- chalk_1.default.cyan(exports.PATCHES_DIR_NAME + '/'));
116
- console.log(' Run ' +
117
- chalk_1.default.cyan('/maxsim:reapply-patches') +
118
- ' to merge them into the new version.');
119
- console.log(' Or manually compare and merge the files.');
120
- console.log('');
121
- }
122
- return meta.files || [];
123
- }
124
- //# sourceMappingURL=patches.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patches.js","sourceRoot":"","sources":["../../src/install/patches.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import type { Manifest } from './manifest.js';
2
- export declare const pkg: {
3
- version: string;
4
- };
5
- export declare const templatesRoot: string;
6
- export declare const builtInSkills: readonly ["tdd", "systematic-debugging", "verification-before-completion", "maxsim-simplify", "code-review", "memory-management", "using-maxsim", "brainstorming", "roadmap-writing", "sdd", "maxsim-batch"];
7
- /**
8
- * Get the global config directory for Claude Code.
9
- * Priority: explicitDir > CLAUDE_CONFIG_DIR env > ~/.claude
10
- */
11
- export declare function getGlobalDir(explicitDir?: string | null): string;
12
- /**
13
- * Get the config directory path relative to home for hook templating.
14
- * Used for path.join(homeDir, '<configDir>', ...) replacement in hooks.
15
- */
16
- export declare function getConfigDirFromHome(_isGlobal: boolean): string;
17
- /**
18
- * Get the local directory name
19
- */
20
- export declare function getDirName(): string;
21
- /**
22
- * Recursively remove a directory, handling Windows read-only file attributes.
23
- * fs-extra handles cross-platform edge cases (EPERM on Windows, symlinks, etc.)
24
- */
25
- export declare function safeRmDir(dirPath: string): void;
26
- /**
27
- * Recursively copy a directory (dereferences symlinks)
28
- */
29
- export declare function copyDirRecursive(src: string, dest: string): void;
30
- /**
31
- * Verify a directory exists and contains files.
32
- * If expectedFiles is provided, also checks that those specific files exist inside the directory.
33
- */
34
- export declare function verifyInstalled(dirPath: string, description: string, expectedFiles?: string[]): boolean;
35
- /**
36
- * Verify a file exists
37
- */
38
- export declare function verifyFileInstalled(filePath: string, description: string): boolean;
39
- export interface InstallResult {
40
- settingsPath: string | null;
41
- settings: Record<string, unknown> | null;
42
- statuslineCommand: string | null;
43
- }
44
- /**
45
- * Verify that all major install components are present. Uses the manifest
46
- * (if available) to check individual files; otherwise falls back to
47
- * directory-level checks.
48
- *
49
- * Returns an object with `complete` (boolean) and `missing` (list of
50
- * component names that are absent or incomplete).
51
- */
52
- export declare function verifyInstallComplete(configDir: string, manifest?: Manifest | null): {
53
- complete: boolean;
54
- missing: string[];
55
- };
56
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/install/shared.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,eAAO,MAAM,GAAG,EAA0F;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAG9H,eAAO,MAAM,aAAa,QAAiD,CAAC;AAG5E,eAAO,MAAM,aAAa,8MAA+M,CAAC;AAE1O;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAQtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CA+BvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAQlF;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,IAAW,GAC/B;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAmC1C"}
@@ -1,181 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.builtInSkills = exports.templatesRoot = exports.pkg = void 0;
40
- exports.getGlobalDir = getGlobalDir;
41
- exports.getConfigDirFromHome = getConfigDirFromHome;
42
- exports.getDirName = getDirName;
43
- exports.safeRmDir = safeRmDir;
44
- exports.copyDirRecursive = copyDirRecursive;
45
- exports.verifyInstalled = verifyInstalled;
46
- exports.verifyFileInstalled = verifyFileInstalled;
47
- exports.verifyInstallComplete = verifyInstallComplete;
48
- const fs = __importStar(require("node:fs"));
49
- const path = __importStar(require("node:path"));
50
- const fs_extra_1 = __importDefault(require("fs-extra"));
51
- const os = __importStar(require("node:os"));
52
- const utils_js_1 = require("./utils.js");
53
- // Get version from package.json — read at runtime so semantic-release's version bump
54
- // is reflected without needing to rebuild dist/install.cjs after the version bump.
55
- exports.pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', 'package.json'), 'utf-8'));
56
- // Resolve template asset root — bundled into dist/assets/templates at publish time
57
- exports.templatesRoot = path.resolve(__dirname, 'assets', 'templates');
58
- // Built-in skill names shipped with MAXSIM — used for cleanup during install/uninstall
59
- exports.builtInSkills = ['tdd', 'systematic-debugging', 'verification-before-completion', 'maxsim-simplify', 'code-review', 'memory-management', 'using-maxsim', 'brainstorming', 'roadmap-writing', 'sdd', 'maxsim-batch'];
60
- /**
61
- * Get the global config directory for Claude Code.
62
- * Priority: explicitDir > CLAUDE_CONFIG_DIR env > ~/.claude
63
- */
64
- function getGlobalDir(explicitDir = null) {
65
- if (explicitDir) {
66
- return (0, utils_js_1.expandTilde)(explicitDir);
67
- }
68
- if (process.env.CLAUDE_CONFIG_DIR) {
69
- return (0, utils_js_1.expandTilde)(process.env.CLAUDE_CONFIG_DIR);
70
- }
71
- return path.join(os.homedir(), '.claude');
72
- }
73
- /**
74
- * Get the config directory path relative to home for hook templating.
75
- * Used for path.join(homeDir, '<configDir>', ...) replacement in hooks.
76
- */
77
- function getConfigDirFromHome(_isGlobal) {
78
- return "'.claude'";
79
- }
80
- /**
81
- * Get the local directory name
82
- */
83
- function getDirName() {
84
- return '.claude';
85
- }
86
- /**
87
- * Recursively remove a directory, handling Windows read-only file attributes.
88
- * fs-extra handles cross-platform edge cases (EPERM on Windows, symlinks, etc.)
89
- */
90
- function safeRmDir(dirPath) {
91
- fs_extra_1.default.removeSync(dirPath);
92
- }
93
- /**
94
- * Recursively copy a directory (dereferences symlinks)
95
- */
96
- function copyDirRecursive(src, dest) {
97
- fs_extra_1.default.copySync(src, dest, { dereference: true });
98
- }
99
- /**
100
- * Verify a directory exists and contains files.
101
- * If expectedFiles is provided, also checks that those specific files exist inside the directory.
102
- */
103
- function verifyInstalled(dirPath, description, expectedFiles) {
104
- if (!fs.existsSync(dirPath)) {
105
- console.error(` \u2717 Failed to install ${description}: directory not created`);
106
- return false;
107
- }
108
- try {
109
- const entries = fs.readdirSync(dirPath);
110
- if (entries.length === 0) {
111
- console.error(` \u2717 Failed to install ${description}: directory is empty`);
112
- return false;
113
- }
114
- }
115
- catch (e) {
116
- console.error(` \u2717 Failed to install ${description}: ${e.message}`);
117
- return false;
118
- }
119
- if (expectedFiles && expectedFiles.length > 0) {
120
- const missing = expectedFiles.filter(f => !fs.existsSync(path.join(dirPath, f)));
121
- if (missing.length > 0) {
122
- console.error(` \u2717 Failed to install ${description}: missing files: ${missing.join(', ')}`);
123
- return false;
124
- }
125
- }
126
- return true;
127
- }
128
- /**
129
- * Verify a file exists
130
- */
131
- function verifyFileInstalled(filePath, description) {
132
- if (!fs.existsSync(filePath)) {
133
- console.error(` \u2717 Failed to install ${description}: file not created`);
134
- return false;
135
- }
136
- return true;
137
- }
138
- /**
139
- * Verify that all major install components are present. Uses the manifest
140
- * (if available) to check individual files; otherwise falls back to
141
- * directory-level checks.
142
- *
143
- * Returns an object with `complete` (boolean) and `missing` (list of
144
- * component names that are absent or incomplete).
145
- */
146
- function verifyInstallComplete(configDir, manifest = null) {
147
- const missing = [];
148
- // If a manifest exists, verify every file in it is still present
149
- if (manifest && manifest.files) {
150
- for (const relPath of Object.keys(manifest.files)) {
151
- if (!fs.existsSync(path.join(configDir, relPath))) {
152
- missing.push(relPath);
153
- }
154
- }
155
- return { complete: missing.length === 0, missing };
156
- }
157
- // Fallback: directory-level checks for major components
158
- const components = [
159
- { dir: path.join(configDir, 'maxsim'), label: 'maxsim (workflows/templates)' },
160
- { dir: path.join(configDir, 'agents'), label: 'agents' },
161
- { dir: path.join(configDir, 'commands', 'maxsim'), label: 'commands' },
162
- { dir: path.join(configDir, 'hooks'), label: 'hooks' },
163
- ];
164
- for (const { dir, label } of components) {
165
- if (!fs.existsSync(dir)) {
166
- missing.push(label);
167
- }
168
- else {
169
- try {
170
- const entries = fs.readdirSync(dir);
171
- if (entries.length === 0)
172
- missing.push(label);
173
- }
174
- catch {
175
- missing.push(label);
176
- }
177
- }
178
- }
179
- return { complete: missing.length === 0, missing };
180
- }
181
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/install/shared.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Uninstall MAXSIM from the specified directory
3
- */
4
- export declare function uninstall(isGlobal: boolean, explicitConfigDir?: string | null): void;
5
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/install/uninstall.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CA4O1F"}