@mycelish/cli 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 (418) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/init-auto.test.d.ts +2 -0
  3. package/dist/__tests__/init-auto.test.d.ts.map +1 -0
  4. package/dist/__tests__/init-auto.test.js +60 -0
  5. package/dist/__tests__/init-auto.test.js.map +1 -0
  6. package/dist/commands/add.d.ts +20 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +99 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/add.test.d.ts +25 -0
  11. package/dist/commands/add.test.d.ts.map +1 -0
  12. package/dist/commands/add.test.js +574 -0
  13. package/dist/commands/add.test.js.map +1 -0
  14. package/dist/commands/disable.d.ts +33 -0
  15. package/dist/commands/disable.d.ts.map +1 -0
  16. package/dist/commands/disable.js +201 -0
  17. package/dist/commands/disable.js.map +1 -0
  18. package/dist/commands/disable.test.d.ts +6 -0
  19. package/dist/commands/disable.test.d.ts.map +1 -0
  20. package/dist/commands/disable.test.js +290 -0
  21. package/dist/commands/disable.test.js.map +1 -0
  22. package/dist/commands/doctor.d.ts +11 -0
  23. package/dist/commands/doctor.d.ts.map +1 -0
  24. package/dist/commands/doctor.js +33 -0
  25. package/dist/commands/doctor.js.map +1 -0
  26. package/dist/commands/doctor.test.d.ts +17 -0
  27. package/dist/commands/doctor.test.d.ts.map +1 -0
  28. package/dist/commands/doctor.test.js +691 -0
  29. package/dist/commands/doctor.test.js.map +1 -0
  30. package/dist/commands/enable.d.ts +33 -0
  31. package/dist/commands/enable.d.ts.map +1 -0
  32. package/dist/commands/enable.js +199 -0
  33. package/dist/commands/enable.js.map +1 -0
  34. package/dist/commands/enable.test.d.ts +6 -0
  35. package/dist/commands/enable.test.d.ts.map +1 -0
  36. package/dist/commands/enable.test.js +301 -0
  37. package/dist/commands/enable.test.js.map +1 -0
  38. package/dist/commands/health-checks/config-check.d.ts +34 -0
  39. package/dist/commands/health-checks/config-check.d.ts.map +1 -0
  40. package/dist/commands/health-checks/config-check.js +267 -0
  41. package/dist/commands/health-checks/config-check.js.map +1 -0
  42. package/dist/commands/health-checks/formatter.d.ts +13 -0
  43. package/dist/commands/health-checks/formatter.d.ts.map +1 -0
  44. package/dist/commands/health-checks/formatter.js +72 -0
  45. package/dist/commands/health-checks/formatter.js.map +1 -0
  46. package/dist/commands/health-checks/index.d.ts +8 -0
  47. package/dist/commands/health-checks/index.d.ts.map +1 -0
  48. package/dist/commands/health-checks/index.js +7 -0
  49. package/dist/commands/health-checks/index.js.map +1 -0
  50. package/dist/commands/health-checks/mcp-check.d.ts +9 -0
  51. package/dist/commands/health-checks/mcp-check.d.ts.map +1 -0
  52. package/dist/commands/health-checks/mcp-check.js +37 -0
  53. package/dist/commands/health-checks/mcp-check.js.map +1 -0
  54. package/dist/commands/health-checks/memory-check.d.ts +15 -0
  55. package/dist/commands/health-checks/memory-check.d.ts.map +1 -0
  56. package/dist/commands/health-checks/memory-check.js +92 -0
  57. package/dist/commands/health-checks/memory-check.js.map +1 -0
  58. package/dist/commands/health-checks/runner.d.ts +9 -0
  59. package/dist/commands/health-checks/runner.d.ts.map +1 -0
  60. package/dist/commands/health-checks/runner.js +74 -0
  61. package/dist/commands/health-checks/runner.js.map +1 -0
  62. package/dist/commands/health-checks/tool-version-check.d.ts +9 -0
  63. package/dist/commands/health-checks/tool-version-check.d.ts.map +1 -0
  64. package/dist/commands/health-checks/tool-version-check.js +35 -0
  65. package/dist/commands/health-checks/tool-version-check.js.map +1 -0
  66. package/dist/commands/health-checks/types.d.ts +16 -0
  67. package/dist/commands/health-checks/types.d.ts.map +1 -0
  68. package/dist/commands/health-checks/types.js +2 -0
  69. package/dist/commands/health-checks/types.js.map +1 -0
  70. package/dist/commands/init.d.ts +120 -0
  71. package/dist/commands/init.d.ts.map +1 -0
  72. package/dist/commands/init.js +436 -0
  73. package/dist/commands/init.js.map +1 -0
  74. package/dist/commands/init.test.d.ts +16 -0
  75. package/dist/commands/init.test.d.ts.map +1 -0
  76. package/dist/commands/init.test.js +286 -0
  77. package/dist/commands/init.test.js.map +1 -0
  78. package/dist/commands/marketplace.d.ts +13 -0
  79. package/dist/commands/marketplace.d.ts.map +1 -0
  80. package/dist/commands/marketplace.js +85 -0
  81. package/dist/commands/marketplace.js.map +1 -0
  82. package/dist/commands/marketplace.test.d.ts +2 -0
  83. package/dist/commands/marketplace.test.d.ts.map +1 -0
  84. package/dist/commands/marketplace.test.js +78 -0
  85. package/dist/commands/marketplace.test.js.map +1 -0
  86. package/dist/commands/migrate.d.ts +15 -0
  87. package/dist/commands/migrate.d.ts.map +1 -0
  88. package/dist/commands/migrate.js +179 -0
  89. package/dist/commands/migrate.js.map +1 -0
  90. package/dist/commands/migrate.test.d.ts +2 -0
  91. package/dist/commands/migrate.test.d.ts.map +1 -0
  92. package/dist/commands/migrate.test.js +109 -0
  93. package/dist/commands/migrate.test.js.map +1 -0
  94. package/dist/commands/preset.d.ts +11 -0
  95. package/dist/commands/preset.d.ts.map +1 -0
  96. package/dist/commands/preset.js +99 -0
  97. package/dist/commands/preset.js.map +1 -0
  98. package/dist/commands/preset.test.d.ts +2 -0
  99. package/dist/commands/preset.test.d.ts.map +1 -0
  100. package/dist/commands/preset.test.js +106 -0
  101. package/dist/commands/preset.test.js.map +1 -0
  102. package/dist/commands/remote.d.ts +9 -0
  103. package/dist/commands/remote.d.ts.map +1 -0
  104. package/dist/commands/remote.js +212 -0
  105. package/dist/commands/remote.js.map +1 -0
  106. package/dist/commands/remote.test.d.ts +2 -0
  107. package/dist/commands/remote.test.d.ts.map +1 -0
  108. package/dist/commands/remote.test.js +125 -0
  109. package/dist/commands/remote.test.js.map +1 -0
  110. package/dist/commands/remove.d.ts +34 -0
  111. package/dist/commands/remove.d.ts.map +1 -0
  112. package/dist/commands/remove.js +296 -0
  113. package/dist/commands/remove.js.map +1 -0
  114. package/dist/commands/remove.test.d.ts +2 -0
  115. package/dist/commands/remove.test.d.ts.map +1 -0
  116. package/dist/commands/remove.test.js +109 -0
  117. package/dist/commands/remove.test.js.map +1 -0
  118. package/dist/commands/serve.d.ts +3 -0
  119. package/dist/commands/serve.d.ts.map +1 -0
  120. package/dist/commands/serve.js +29 -0
  121. package/dist/commands/serve.js.map +1 -0
  122. package/dist/commands/serve.test.d.ts +2 -0
  123. package/dist/commands/serve.test.d.ts.map +1 -0
  124. package/dist/commands/serve.test.js +74 -0
  125. package/dist/commands/serve.test.js.map +1 -0
  126. package/dist/commands/status.d.ts +49 -0
  127. package/dist/commands/status.d.ts.map +1 -0
  128. package/dist/commands/status.js +272 -0
  129. package/dist/commands/status.js.map +1 -0
  130. package/dist/commands/status.test.d.ts +11 -0
  131. package/dist/commands/status.test.d.ts.map +1 -0
  132. package/dist/commands/status.test.js +334 -0
  133. package/dist/commands/status.test.js.map +1 -0
  134. package/dist/commands/sync.d.ts +38 -0
  135. package/dist/commands/sync.d.ts.map +1 -0
  136. package/dist/commands/sync.js +286 -0
  137. package/dist/commands/sync.js.map +1 -0
  138. package/dist/commands/sync.test.d.ts +6 -0
  139. package/dist/commands/sync.test.d.ts.map +1 -0
  140. package/dist/commands/sync.test.js +341 -0
  141. package/dist/commands/sync.test.js.map +1 -0
  142. package/dist/commands/teams.d.ts +18 -0
  143. package/dist/commands/teams.d.ts.map +1 -0
  144. package/dist/commands/teams.js +68 -0
  145. package/dist/commands/teams.js.map +1 -0
  146. package/dist/commands/teams.test.d.ts +2 -0
  147. package/dist/commands/teams.test.d.ts.map +1 -0
  148. package/dist/commands/teams.test.js +94 -0
  149. package/dist/commands/teams.test.js.map +1 -0
  150. package/dist/core/adapter-base.d.ts +51 -0
  151. package/dist/core/adapter-base.d.ts.map +1 -0
  152. package/dist/core/adapter-base.js +89 -0
  153. package/dist/core/adapter-base.js.map +1 -0
  154. package/dist/core/add-helpers.d.ts +55 -0
  155. package/dist/core/add-helpers.d.ts.map +1 -0
  156. package/dist/core/add-helpers.js +273 -0
  157. package/dist/core/add-helpers.js.map +1 -0
  158. package/dist/core/agent-teams.d.ts +10 -0
  159. package/dist/core/agent-teams.d.ts.map +1 -0
  160. package/dist/core/agent-teams.js +40 -0
  161. package/dist/core/agent-teams.js.map +1 -0
  162. package/dist/core/agent-teams.test.d.ts +2 -0
  163. package/dist/core/agent-teams.test.d.ts.map +1 -0
  164. package/dist/core/agent-teams.test.js +64 -0
  165. package/dist/core/agent-teams.test.js.map +1 -0
  166. package/dist/core/auto-adapter.d.ts +27 -0
  167. package/dist/core/auto-adapter.d.ts.map +1 -0
  168. package/dist/core/auto-adapter.js +324 -0
  169. package/dist/core/auto-adapter.js.map +1 -0
  170. package/dist/core/auto-adapter.test.d.ts +2 -0
  171. package/dist/core/auto-adapter.test.d.ts.map +1 -0
  172. package/dist/core/auto-adapter.test.js +125 -0
  173. package/dist/core/auto-adapter.test.js.map +1 -0
  174. package/dist/core/config-merger.d.ts +33 -0
  175. package/dist/core/config-merger.d.ts.map +1 -0
  176. package/dist/core/config-merger.js +238 -0
  177. package/dist/core/config-merger.js.map +1 -0
  178. package/dist/core/config-merger.test.d.ts +10 -0
  179. package/dist/core/config-merger.test.d.ts.map +1 -0
  180. package/dist/core/config-merger.test.js +406 -0
  181. package/dist/core/config-merger.test.js.map +1 -0
  182. package/dist/core/conflict-detector.d.ts +23 -0
  183. package/dist/core/conflict-detector.d.ts.map +1 -0
  184. package/dist/core/conflict-detector.js +58 -0
  185. package/dist/core/conflict-detector.js.map +1 -0
  186. package/dist/core/conflict-detector.test.d.ts +2 -0
  187. package/dist/core/conflict-detector.test.d.ts.map +1 -0
  188. package/dist/core/conflict-detector.test.js +40 -0
  189. package/dist/core/conflict-detector.test.js.map +1 -0
  190. package/dist/core/env-template.d.ts +22 -0
  191. package/dist/core/env-template.d.ts.map +1 -0
  192. package/dist/core/env-template.js +125 -0
  193. package/dist/core/env-template.js.map +1 -0
  194. package/dist/core/env-template.test.d.ts +2 -0
  195. package/dist/core/env-template.test.d.ts.map +1 -0
  196. package/dist/core/env-template.test.js +145 -0
  197. package/dist/core/env-template.test.js.map +1 -0
  198. package/dist/core/fs-helpers.d.ts +8 -0
  199. package/dist/core/fs-helpers.d.ts.map +1 -0
  200. package/dist/core/fs-helpers.js +26 -0
  201. package/dist/core/fs-helpers.js.map +1 -0
  202. package/dist/core/fs-helpers.test.d.ts +2 -0
  203. package/dist/core/fs-helpers.test.d.ts.map +1 -0
  204. package/dist/core/fs-helpers.test.js +51 -0
  205. package/dist/core/fs-helpers.test.js.map +1 -0
  206. package/dist/core/machine-overrides.d.ts +13 -0
  207. package/dist/core/machine-overrides.d.ts.map +1 -0
  208. package/dist/core/machine-overrides.js +155 -0
  209. package/dist/core/machine-overrides.js.map +1 -0
  210. package/dist/core/machine-overrides.test.d.ts +2 -0
  211. package/dist/core/machine-overrides.test.d.ts.map +1 -0
  212. package/dist/core/machine-overrides.test.js +160 -0
  213. package/dist/core/machine-overrides.test.js.map +1 -0
  214. package/dist/core/marketplace-registry.d.ts +14 -0
  215. package/dist/core/marketplace-registry.d.ts.map +1 -0
  216. package/dist/core/marketplace-registry.js +215 -0
  217. package/dist/core/marketplace-registry.js.map +1 -0
  218. package/dist/core/marketplace-registry.test.d.ts +2 -0
  219. package/dist/core/marketplace-registry.test.d.ts.map +1 -0
  220. package/dist/core/marketplace-registry.test.js +232 -0
  221. package/dist/core/marketplace-registry.test.js.map +1 -0
  222. package/dist/core/marketplace-sources.d.ts +39 -0
  223. package/dist/core/marketplace-sources.d.ts.map +1 -0
  224. package/dist/core/marketplace-sources.js +199 -0
  225. package/dist/core/marketplace-sources.js.map +1 -0
  226. package/dist/core/marketplace.d.ts +18 -0
  227. package/dist/core/marketplace.d.ts.map +1 -0
  228. package/dist/core/marketplace.js +211 -0
  229. package/dist/core/marketplace.js.map +1 -0
  230. package/dist/core/marketplace.test.d.ts +2 -0
  231. package/dist/core/marketplace.test.d.ts.map +1 -0
  232. package/dist/core/marketplace.test.js +177 -0
  233. package/dist/core/marketplace.test.js.map +1 -0
  234. package/dist/core/mcp-injector.d.ts +43 -0
  235. package/dist/core/mcp-injector.d.ts.map +1 -0
  236. package/dist/core/mcp-injector.js +164 -0
  237. package/dist/core/mcp-injector.js.map +1 -0
  238. package/dist/core/mcp-injector.test.d.ts +6 -0
  239. package/dist/core/mcp-injector.test.d.ts.map +1 -0
  240. package/dist/core/mcp-injector.test.js +315 -0
  241. package/dist/core/mcp-injector.test.js.map +1 -0
  242. package/dist/core/mcp-registry.d.ts +17 -0
  243. package/dist/core/mcp-registry.d.ts.map +1 -0
  244. package/dist/core/mcp-registry.js +52 -0
  245. package/dist/core/mcp-registry.js.map +1 -0
  246. package/dist/core/mcp-registry.test.d.ts +2 -0
  247. package/dist/core/mcp-registry.test.d.ts.map +1 -0
  248. package/dist/core/mcp-registry.test.js +78 -0
  249. package/dist/core/mcp-registry.test.js.map +1 -0
  250. package/dist/core/mcp-router.d.ts +21 -0
  251. package/dist/core/mcp-router.d.ts.map +1 -0
  252. package/dist/core/mcp-router.js +67 -0
  253. package/dist/core/mcp-router.js.map +1 -0
  254. package/dist/core/mcp-router.test.d.ts +2 -0
  255. package/dist/core/mcp-router.test.d.ts.map +1 -0
  256. package/dist/core/mcp-router.test.js +40 -0
  257. package/dist/core/mcp-router.test.js.map +1 -0
  258. package/dist/core/memory-scoper.d.ts +43 -0
  259. package/dist/core/memory-scoper.d.ts.map +1 -0
  260. package/dist/core/memory-scoper.js +165 -0
  261. package/dist/core/memory-scoper.js.map +1 -0
  262. package/dist/core/memory-scoper.test.d.ts +6 -0
  263. package/dist/core/memory-scoper.test.d.ts.map +1 -0
  264. package/dist/core/memory-scoper.test.js +467 -0
  265. package/dist/core/memory-scoper.test.js.map +1 -0
  266. package/dist/core/migrator/executor.d.ts +9 -0
  267. package/dist/core/migrator/executor.d.ts.map +1 -0
  268. package/dist/core/migrator/executor.js +233 -0
  269. package/dist/core/migrator/executor.js.map +1 -0
  270. package/dist/core/migrator/index.d.ts +8 -0
  271. package/dist/core/migrator/index.d.ts.map +1 -0
  272. package/dist/core/migrator/index.js +12 -0
  273. package/dist/core/migrator/index.js.map +1 -0
  274. package/dist/core/migrator/manifest.d.ts +8 -0
  275. package/dist/core/migrator/manifest.d.ts.map +1 -0
  276. package/dist/core/migrator/manifest.js +83 -0
  277. package/dist/core/migrator/manifest.js.map +1 -0
  278. package/dist/core/migrator/planner.d.ts +6 -0
  279. package/dist/core/migrator/planner.d.ts.map +1 -0
  280. package/dist/core/migrator/planner.js +112 -0
  281. package/dist/core/migrator/planner.js.map +1 -0
  282. package/dist/core/migrator/scanners.d.ts +19 -0
  283. package/dist/core/migrator/scanners.d.ts.map +1 -0
  284. package/dist/core/migrator/scanners.js +612 -0
  285. package/dist/core/migrator/scanners.js.map +1 -0
  286. package/dist/core/migrator/scanners.test.d.ts +2 -0
  287. package/dist/core/migrator/scanners.test.d.ts.map +1 -0
  288. package/dist/core/migrator/scanners.test.js +257 -0
  289. package/dist/core/migrator/scanners.test.js.map +1 -0
  290. package/dist/core/migrator.test.d.ts +2 -0
  291. package/dist/core/migrator.test.d.ts.map +1 -0
  292. package/dist/core/migrator.test.js +451 -0
  293. package/dist/core/migrator.test.js.map +1 -0
  294. package/dist/core/plugin-scanner.d.ts +30 -0
  295. package/dist/core/plugin-scanner.d.ts.map +1 -0
  296. package/dist/core/plugin-scanner.js +174 -0
  297. package/dist/core/plugin-scanner.js.map +1 -0
  298. package/dist/core/plugin-scanner.test.d.ts +2 -0
  299. package/dist/core/plugin-scanner.test.d.ts.map +1 -0
  300. package/dist/core/plugin-scanner.test.js +279 -0
  301. package/dist/core/plugin-scanner.test.js.map +1 -0
  302. package/dist/core/presets.d.ts +55 -0
  303. package/dist/core/presets.d.ts.map +1 -0
  304. package/dist/core/presets.js +84 -0
  305. package/dist/core/presets.js.map +1 -0
  306. package/dist/core/presets.test.d.ts +2 -0
  307. package/dist/core/presets.test.d.ts.map +1 -0
  308. package/dist/core/presets.test.js +40 -0
  309. package/dist/core/presets.test.js.map +1 -0
  310. package/dist/core/skill-parser.d.ts +21 -0
  311. package/dist/core/skill-parser.d.ts.map +1 -0
  312. package/dist/core/skill-parser.js +53 -0
  313. package/dist/core/skill-parser.js.map +1 -0
  314. package/dist/core/skill-parser.test.d.ts +2 -0
  315. package/dist/core/skill-parser.test.d.ts.map +1 -0
  316. package/dist/core/skill-parser.test.js +83 -0
  317. package/dist/core/skill-parser.test.js.map +1 -0
  318. package/dist/core/smart-memory.d.ts +22 -0
  319. package/dist/core/smart-memory.d.ts.map +1 -0
  320. package/dist/core/smart-memory.js +72 -0
  321. package/dist/core/smart-memory.js.map +1 -0
  322. package/dist/core/smart-memory.test.d.ts +2 -0
  323. package/dist/core/smart-memory.test.d.ts.map +1 -0
  324. package/dist/core/smart-memory.test.js +114 -0
  325. package/dist/core/smart-memory.test.js.map +1 -0
  326. package/dist/core/snapshot.d.ts +6 -0
  327. package/dist/core/snapshot.d.ts.map +1 -0
  328. package/dist/core/snapshot.js +179 -0
  329. package/dist/core/snapshot.js.map +1 -0
  330. package/dist/core/snapshot.test.d.ts +2 -0
  331. package/dist/core/snapshot.test.d.ts.map +1 -0
  332. package/dist/core/snapshot.test.js +132 -0
  333. package/dist/core/snapshot.test.js.map +1 -0
  334. package/dist/core/symlink-manager.d.ts +78 -0
  335. package/dist/core/symlink-manager.d.ts.map +1 -0
  336. package/dist/core/symlink-manager.js +227 -0
  337. package/dist/core/symlink-manager.js.map +1 -0
  338. package/dist/core/symlink-manager.test.d.ts +8 -0
  339. package/dist/core/symlink-manager.test.d.ts.map +1 -0
  340. package/dist/core/symlink-manager.test.js +354 -0
  341. package/dist/core/symlink-manager.test.js.map +1 -0
  342. package/dist/core/sync-writer.d.ts +20 -0
  343. package/dist/core/sync-writer.d.ts.map +1 -0
  344. package/dist/core/sync-writer.js +150 -0
  345. package/dist/core/sync-writer.js.map +1 -0
  346. package/dist/core/sync-writer.test.d.ts +2 -0
  347. package/dist/core/sync-writer.test.d.ts.map +1 -0
  348. package/dist/core/sync-writer.test.js +134 -0
  349. package/dist/core/sync-writer.test.js.map +1 -0
  350. package/dist/core/toml-helpers.d.ts +9 -0
  351. package/dist/core/toml-helpers.d.ts.map +1 -0
  352. package/dist/core/toml-helpers.js +33 -0
  353. package/dist/core/toml-helpers.js.map +1 -0
  354. package/dist/core/tool-adapter.d.ts +24 -0
  355. package/dist/core/tool-adapter.d.ts.map +1 -0
  356. package/dist/core/tool-adapter.js +156 -0
  357. package/dist/core/tool-adapter.js.map +1 -0
  358. package/dist/core/tool-adapter.test.d.ts +2 -0
  359. package/dist/core/tool-adapter.test.d.ts.map +1 -0
  360. package/dist/core/tool-adapter.test.js +264 -0
  361. package/dist/core/tool-adapter.test.js.map +1 -0
  362. package/dist/core/tool-detector.d.ts +31 -0
  363. package/dist/core/tool-detector.d.ts.map +1 -0
  364. package/dist/core/tool-detector.js +67 -0
  365. package/dist/core/tool-detector.js.map +1 -0
  366. package/dist/core/tool-detector.test.d.ts +2 -0
  367. package/dist/core/tool-detector.test.d.ts.map +1 -0
  368. package/dist/core/tool-detector.test.js +126 -0
  369. package/dist/core/tool-detector.test.js.map +1 -0
  370. package/dist/core/watcher.d.ts +22 -0
  371. package/dist/core/watcher.d.ts.map +1 -0
  372. package/dist/core/watcher.js +68 -0
  373. package/dist/core/watcher.js.map +1 -0
  374. package/dist/core/watcher.test.d.ts +2 -0
  375. package/dist/core/watcher.test.d.ts.map +1 -0
  376. package/dist/core/watcher.test.js +26 -0
  377. package/dist/core/watcher.test.js.map +1 -0
  378. package/dist/index.d.ts +9 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +47 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/routes/async-handler.d.ts +6 -0
  383. package/dist/routes/async-handler.d.ts.map +1 -0
  384. package/dist/routes/async-handler.js +9 -0
  385. package/dist/routes/async-handler.js.map +1 -0
  386. package/dist/routes/marketplace.d.ts +3 -0
  387. package/dist/routes/marketplace.d.ts.map +1 -0
  388. package/dist/routes/marketplace.js +51 -0
  389. package/dist/routes/marketplace.js.map +1 -0
  390. package/dist/routes/migrate.d.ts +3 -0
  391. package/dist/routes/migrate.d.ts.map +1 -0
  392. package/dist/routes/migrate.js +22 -0
  393. package/dist/routes/migrate.js.map +1 -0
  394. package/dist/routes/plugin-map.d.ts +11 -0
  395. package/dist/routes/plugin-map.d.ts.map +1 -0
  396. package/dist/routes/plugin-map.js +37 -0
  397. package/dist/routes/plugin-map.js.map +1 -0
  398. package/dist/routes/plugins.d.ts +3 -0
  399. package/dist/routes/plugins.d.ts.map +1 -0
  400. package/dist/routes/plugins.js +51 -0
  401. package/dist/routes/plugins.js.map +1 -0
  402. package/dist/routes/remove.d.ts +3 -0
  403. package/dist/routes/remove.d.ts.map +1 -0
  404. package/dist/routes/remove.js +27 -0
  405. package/dist/routes/remove.js.map +1 -0
  406. package/dist/routes/state.d.ts +3 -0
  407. package/dist/routes/state.d.ts.map +1 -0
  408. package/dist/routes/state.js +177 -0
  409. package/dist/routes/state.js.map +1 -0
  410. package/dist/routes/sync.d.ts +3 -0
  411. package/dist/routes/sync.d.ts.map +1 -0
  412. package/dist/routes/sync.js +12 -0
  413. package/dist/routes/sync.js.map +1 -0
  414. package/dist/server.d.ts +4 -0
  415. package/dist/server.d.ts.map +1 -0
  416. package/dist/server.js +59 -0
  417. package/dist/server.js.map +1 -0
  418. package/package.json +48 -0
@@ -0,0 +1,436 @@
1
+ /**
2
+ * init command - Initialize Mycelium configuration
3
+ *
4
+ * Usage:
5
+ * mycelium init # Auto-setup: detect gh, create/clone repo, migrate, sync
6
+ * mycelium init --repo <url> # Clone existing config from a git repo
7
+ * mycelium init --global # Creates ~/.mycelium/ with default structure (manual)
8
+ * mycelium init --force # Overwrites existing configuration
9
+ */
10
+ import { Command } from "commander";
11
+ import * as fs from "node:fs/promises";
12
+ import * as path from "node:path";
13
+ import { execFileSync } from "node:child_process";
14
+ import { stringify as yamlStringify } from "yaml";
15
+ import { expandPath, ensureDir, pathExists } from "@mycelish/core";
16
+ import { ensureGitignore, generateEnvTemplate, getMissingEnvVars } from "../core/env-template.js";
17
+ import { detectMcpOverrides, saveMachineOverrides, loadMachineOverrides } from "../core/machine-overrides.js";
18
+ import { DEFAULT_PORT } from "../core/fs-helpers.js";
19
+ /** Default repo name — consistent across all machines for frictionless sync */
20
+ export const DEFAULT_REPO_NAME = "mycelium-config";
21
+ /**
22
+ * Default manifest.yaml configuration
23
+ */
24
+ export const DEFAULT_MANIFEST_CONFIG = {
25
+ version: "1.0",
26
+ tools: {
27
+ "claude-code": { enabled: true },
28
+ "codex": { enabled: true },
29
+ "gemini-cli": { enabled: true },
30
+ "opencode": { enabled: true },
31
+ "openclaw": { enabled: true },
32
+ "aider": { enabled: true },
33
+ },
34
+ memory: {
35
+ scopes: {
36
+ shared: {
37
+ sync_to: ["claude-code", "codex", "gemini-cli", "opencode", "openclaw", "aider"],
38
+ path: "global/memory/shared/",
39
+ files: [],
40
+ },
41
+ coding: {
42
+ sync_to: ["claude-code", "codex", "gemini-cli", "opencode", "aider"],
43
+ exclude_from: ["openclaw"],
44
+ path: "global/memory/coding/",
45
+ files: [],
46
+ },
47
+ personal: {
48
+ sync_to: ["openclaw"],
49
+ exclude_from: ["claude-code", "codex", "gemini-cli", "opencode", "aider"],
50
+ path: "global/memory/personal/",
51
+ files: [],
52
+ },
53
+ },
54
+ },
55
+ };
56
+ /**
57
+ * Default .env.example template content
58
+ */
59
+ const ENV_EXAMPLE_CONTENT = `# Mycelium Environment Variables
60
+ # Copy this file to .env.local and fill in your secrets
61
+
62
+ # API Keys (optional, for MCPs that need them)
63
+ # OPENAI_API_KEY=your-key-here
64
+ # ANTHROPIC_API_KEY=your-key-here
65
+
66
+ # Custom MCP Environment Variables
67
+ # MY_CUSTOM_MCP_TOKEN=your-token-here
68
+ `;
69
+ /**
70
+ * Default .env.local content
71
+ */
72
+ const ENV_LOCAL_CONTENT = `# Local secrets - DO NOT COMMIT THIS FILE
73
+ # Add your actual API keys and secrets here
74
+
75
+ `;
76
+ /**
77
+ * Default global mcps.yaml content
78
+ */
79
+ const GLOBAL_MCPS_YAML_CONTENT = `# Global MCP configurations
80
+ # Add MCPs that should be available across all projects
81
+
82
+ mcps: {}
83
+ # Example:
84
+ # context7:
85
+ # command: npx
86
+ # args: ["-y", "@context7/mcp"]
87
+ # enabled: true
88
+ `;
89
+ /**
90
+ * Default project mcps.yaml content
91
+ */
92
+ const PROJECT_MCPS_YAML_CONTENT = `# Project-specific MCP configurations
93
+ # Add MCPs that are specific to this project
94
+ # These will be merged with global MCPs
95
+
96
+ mcps: {}
97
+ # Example:
98
+ # my-project-mcp:
99
+ # command: node
100
+ # args: ["./scripts/mcp-server.js"]
101
+ # enabled: true
102
+ `;
103
+ /**
104
+ * Initialize global Mycelium configuration at ~/.mycelium/
105
+ */
106
+ export async function initGlobal(options) {
107
+ const globalPath = expandPath("~/.mycelium");
108
+ const manifestPath = path.join(globalPath, "manifest.yaml");
109
+ // Check if already exists
110
+ const exists = await pathExists(manifestPath);
111
+ if (exists && !options.force) {
112
+ return {
113
+ success: true,
114
+ path: globalPath,
115
+ skipped: true,
116
+ message: `Global configuration already exists at ${globalPath}. Use --force to overwrite.`,
117
+ };
118
+ }
119
+ // Create directory structure
120
+ await ensureDir(globalPath);
121
+ await ensureDir(path.join(globalPath, "global/skills"));
122
+ await ensureDir(path.join(globalPath, "global/memory/shared"));
123
+ await ensureDir(path.join(globalPath, "global/memory/coding"));
124
+ await ensureDir(path.join(globalPath, "global/memory/personal"));
125
+ await ensureDir(path.join(globalPath, "machines"));
126
+ // Write manifest.yaml
127
+ const manifestContent = yamlStringify(DEFAULT_MANIFEST_CONFIG);
128
+ await fs.writeFile(manifestPath, manifestContent, "utf-8");
129
+ // Write .env.example
130
+ await fs.writeFile(path.join(globalPath, ".env.example"), ENV_EXAMPLE_CONTENT, "utf-8");
131
+ // Write .env.local
132
+ await fs.writeFile(path.join(globalPath, ".env.local"), ENV_LOCAL_CONTENT, "utf-8");
133
+ // Write global/mcps.yaml
134
+ await fs.writeFile(path.join(globalPath, "global/mcps.yaml"), GLOBAL_MCPS_YAML_CONTENT, "utf-8");
135
+ return {
136
+ success: true,
137
+ path: globalPath,
138
+ skipped: false,
139
+ };
140
+ }
141
+ /**
142
+ * Initialize project-specific Mycelium configuration at .mycelium/
143
+ */
144
+ export async function initProject(options) {
145
+ const projectRoot = options.projectRoot || process.cwd();
146
+ const projectPath = path.join(projectRoot, ".mycelium");
147
+ const mcpsPath = path.join(projectPath, "mcps.yaml");
148
+ // Check if already exists
149
+ const exists = await pathExists(mcpsPath);
150
+ if (exists && !options.force) {
151
+ return {
152
+ success: true,
153
+ path: projectPath,
154
+ skipped: true,
155
+ message: `Project configuration already exists at ${projectPath}. Use --force to overwrite.`,
156
+ };
157
+ }
158
+ // Create directory structure
159
+ await ensureDir(projectPath);
160
+ await ensureDir(path.join(projectPath, "memory"));
161
+ // Write mcps.yaml
162
+ await fs.writeFile(mcpsPath, PROJECT_MCPS_YAML_CONTENT, "utf-8");
163
+ return {
164
+ success: true,
165
+ path: projectPath,
166
+ skipped: false,
167
+ };
168
+ }
169
+ // ============================================================================
170
+ // Zero-friction auto-setup
171
+ // ============================================================================
172
+ /** Check if gh CLI is available and authenticated */
173
+ export function isGhAvailable() {
174
+ try {
175
+ execFileSync("gh", ["auth", "status"], { stdio: "pipe", encoding: "utf-8" });
176
+ return true;
177
+ }
178
+ catch {
179
+ return false;
180
+ }
181
+ }
182
+ /** Check if a GitHub repo exists */
183
+ export function ghRepoExists(repoName) {
184
+ try {
185
+ execFileSync("gh", ["repo", "view", repoName, "--json", "name"], { stdio: "pipe", encoding: "utf-8" });
186
+ return true;
187
+ }
188
+ catch {
189
+ return false;
190
+ }
191
+ }
192
+ /** Get the GitHub username */
193
+ export function getGhUsername() {
194
+ return execFileSync("gh", ["api", "user", "--jq", ".login"], { stdio: "pipe", encoding: "utf-8" }).trim();
195
+ }
196
+ /** Create a private GitHub repo and clone to ~/.mycelium */
197
+ export async function createAndCloneRepo(repoName) {
198
+ const myceliumDir = expandPath("~/.mycelium");
199
+ console.log(`Creating private repo: ${repoName}`);
200
+ execFileSync("gh", ["repo", "create", repoName, "--private", "--description", "Mycelium AI tool config sync"], { stdio: "pipe" });
201
+ // Init locally, add remote, push
202
+ await ensureDir(myceliumDir);
203
+ execFileSync("git", ["-C", myceliumDir, "init"], { stdio: "pipe" });
204
+ const url = getCloneUrl(repoName);
205
+ execFileSync("git", ["-C", myceliumDir, "remote", "add", "origin", url], { stdio: "pipe" });
206
+ }
207
+ /** Clone an existing repo to ~/.mycelium, trying SSH first then HTTPS */
208
+ export async function cloneRepo(repoUrl) {
209
+ const myceliumDir = expandPath("~/.mycelium");
210
+ // Remove empty dir if exists
211
+ try {
212
+ const entries = await fs.readdir(myceliumDir);
213
+ if (entries.length === 0) {
214
+ await fs.rmdir(myceliumDir);
215
+ }
216
+ }
217
+ catch { /* doesn't exist */ }
218
+ execFileSync("git", ["clone", repoUrl, myceliumDir], { stdio: "pipe" });
219
+ }
220
+ /** Get clone URL for a GitHub repo, trying SSH first then HTTPS */
221
+ export function getCloneUrl(repoFullName) {
222
+ // Try SSH first (faster, no token needed if keys are set up)
223
+ try {
224
+ execFileSync("ssh", ["-T", "git@github.com"], { stdio: "pipe", timeout: 5000 });
225
+ // If SSH doesn't throw a connection error, use SSH URL
226
+ return `git@github.com:${repoFullName}.git`;
227
+ }
228
+ catch {
229
+ // Fall back to HTTPS (works with gh auth)
230
+ }
231
+ return `https://github.com/${repoFullName}.git`;
232
+ }
233
+ /** Check if ~/.mycelium is already a git repo with a remote */
234
+ export function hasGitRemote() {
235
+ const myceliumDir = expandPath("~/.mycelium");
236
+ try {
237
+ const remote = execFileSync("git", ["-C", myceliumDir, "remote", "get-url", "origin"], { stdio: "pipe", encoding: "utf-8" }).trim();
238
+ return remote.length > 0;
239
+ }
240
+ catch {
241
+ return false;
242
+ }
243
+ }
244
+ /**
245
+ * Zero-friction auto-setup flow:
246
+ * 1. Check if ~/.mycelium exists with config
247
+ * 2. If not, check gh CLI → create/clone repo
248
+ * 3. Run migration if tools detected
249
+ * 4. Setup env template
250
+ * 5. Auto-sync
251
+ */
252
+ export async function autoSetup(options) {
253
+ const myceliumDir = expandPath("~/.mycelium");
254
+ const manifestExists = await pathExists(path.join(myceliumDir, "manifest.yaml"));
255
+ const migrationExists = await pathExists(path.join(myceliumDir, "migration-manifest.json"));
256
+ const hasRemote = hasGitRemote();
257
+ // Step 1: Handle repo setup
258
+ if (options.repo) {
259
+ // Explicit repo URL provided
260
+ if (migrationExists && !options.force) {
261
+ console.log("Config already exists at ~/.mycelium/. Use --force to overwrite.");
262
+ return;
263
+ }
264
+ console.log(`Cloning config from ${options.repo}...`);
265
+ await cloneRepo(options.repo);
266
+ console.log("Config cloned successfully.");
267
+ }
268
+ else if (!manifestExists && !migrationExists) {
269
+ // Fresh machine — try gh auto-setup
270
+ if (isGhAvailable()) {
271
+ const username = getGhUsername();
272
+ const repoName = `${username}/${DEFAULT_REPO_NAME}`;
273
+ console.log(`GitHub CLI detected (${username}).`);
274
+ if (ghRepoExists(repoName)) {
275
+ console.log(`Found existing repo: ${repoName}`);
276
+ await cloneRepo(getCloneUrl(repoName));
277
+ console.log("Config cloned from GitHub.");
278
+ }
279
+ else {
280
+ console.log(`No existing config repo found.`);
281
+ // Init fresh + create repo
282
+ const result = await initGlobal({ force: true });
283
+ console.log(`Initialized at ${result.path}`);
284
+ await createAndCloneRepo(repoName);
285
+ console.log(`Created private repo: ${repoName}`);
286
+ }
287
+ }
288
+ else {
289
+ // No gh — just init locally
290
+ console.log("GitHub CLI not detected. Initializing locally.");
291
+ const result = await initGlobal({ force: true });
292
+ console.log(`Initialized at ${result.path}`);
293
+ console.log("Tip: Install gh CLI for automatic multi-PC sync.");
294
+ }
295
+ }
296
+ else {
297
+ console.log("Config already exists at ~/.mycelium/.");
298
+ if (!hasRemote && isGhAvailable()) {
299
+ console.log("No git remote found. Setting up sync...");
300
+ const username = getGhUsername();
301
+ const repoName = `${username}/${DEFAULT_REPO_NAME}`;
302
+ if (!ghRepoExists(repoName)) {
303
+ await createAndCloneRepo(repoName);
304
+ console.log(`Created private repo: ${repoName}`);
305
+ }
306
+ else {
307
+ // Repo exists but not linked — add remote
308
+ try {
309
+ execFileSync("git", ["-C", myceliumDir, "init"], { stdio: "pipe" });
310
+ execFileSync("git", ["-C", myceliumDir, "remote", "add", "origin", getCloneUrl(repoName)], { stdio: "pipe" });
311
+ console.log(`Linked to existing repo: ${repoName}`);
312
+ }
313
+ catch {
314
+ console.log(`Remote already configured.`);
315
+ }
316
+ }
317
+ }
318
+ }
319
+ // Step 2: Run migration if tools have config to import
320
+ const skillsDir = path.join(myceliumDir, "global", "skills");
321
+ let hasSkills = false;
322
+ try {
323
+ const entries = await fs.readdir(skillsDir);
324
+ hasSkills = entries.length > 0;
325
+ }
326
+ catch { /* no skills dir yet */ }
327
+ if (!hasSkills) {
328
+ console.log("\nScanning installed tools for migration...");
329
+ try {
330
+ const { scanAllTools, executeMigration, generateMigrationPlan } = await import("../core/migrator/index.js");
331
+ const scanResults = await scanAllTools();
332
+ const totalItems = scanResults.reduce((sum, r) => sum + r.skills.length + r.mcps.length + r.memory.length + (r.hooks?.length ?? 0), 0);
333
+ if (totalItems > 0) {
334
+ const plan = generateMigrationPlan(scanResults);
335
+ console.log(`Found ${totalItems} items to migrate. Applying...`);
336
+ const result = await executeMigration(plan);
337
+ console.log(`Migrated: ${result.skillsImported} skills, ${result.mcpsImported} MCPs, ${result.memoryImported} memory`);
338
+ }
339
+ else {
340
+ console.log("No tool configs found to migrate.");
341
+ }
342
+ }
343
+ catch (err) {
344
+ console.warn("Migration scan failed:", err instanceof Error ? err.message : String(err));
345
+ }
346
+ }
347
+ // Step 3: Env template + gitignore
348
+ await ensureGitignore();
349
+ const keys = await generateEnvTemplate();
350
+ if (keys.length > 0) {
351
+ console.log(`Generated .env.template with ${keys.length} keys`);
352
+ }
353
+ // Step 4: Check missing env vars
354
+ const missing = await getMissingEnvVars();
355
+ if (missing.length > 0) {
356
+ console.log(`\nMissing env vars: ${missing.join(", ")}`);
357
+ console.log("Run: mycelium env setup");
358
+ }
359
+ // Step 5: Auto-detect machine overrides
360
+ const mcpsPath = path.join(myceliumDir, "global", "mcps.yaml");
361
+ try {
362
+ const mcpsContent = await fs.readFile(mcpsPath, "utf-8");
363
+ const { _parseMcpsForOverrides } = await import("./remote.js");
364
+ const mcps = _parseMcpsForOverrides(mcpsContent);
365
+ const detected = detectMcpOverrides(mcps);
366
+ if (detected.length > 0) {
367
+ const existing = await loadMachineOverrides();
368
+ const now = new Date().toISOString();
369
+ for (const d of detected) {
370
+ existing.mcps[d.name] = { command: d.newCommand, detectedAt: now };
371
+ }
372
+ existing.updatedAt = now;
373
+ await saveMachineOverrides(existing);
374
+ console.log(`Detected ${detected.length} machine-specific MCP path(s).`);
375
+ }
376
+ }
377
+ catch { /* machine overrides detection is optional — skip if no MCPs configured yet */ }
378
+ // Step 6: Initial push if repo is set up
379
+ if (hasGitRemote()) {
380
+ try {
381
+ const dir = myceliumDir;
382
+ execFileSync("git", ["-C", dir, "add", "-A"], { stdio: "pipe" });
383
+ try {
384
+ execFileSync("git", ["-C", dir, "commit", "-m", "mycelium init: initial config"], { stdio: "pipe" });
385
+ try {
386
+ execFileSync("git", ["-C", dir, "push", "-u", "origin", "main"], { stdio: "pipe" });
387
+ }
388
+ catch {
389
+ execFileSync("git", ["-C", dir, "push", "-u", "origin", "master"], { stdio: "pipe" });
390
+ }
391
+ console.log("\nConfig pushed to GitHub.");
392
+ }
393
+ catch {
394
+ // Nothing to commit or already pushed
395
+ }
396
+ }
397
+ catch {
398
+ // Push failed — non-critical
399
+ }
400
+ }
401
+ console.log("\nSetup complete. Next steps:");
402
+ console.log(" mycelium sync # Push config to all installed tools");
403
+ console.log(` mycelium serve # Start dashboard at http://localhost:${DEFAULT_PORT}`);
404
+ if (!hasGitRemote()) {
405
+ console.log(" mycelium push # Push config to remote (after setting up git)");
406
+ }
407
+ }
408
+ // ============================================================================
409
+ // Commander.js Command
410
+ // ============================================================================
411
+ /**
412
+ * Commander.js command for `mycelium init`
413
+ */
414
+ export const initCommand = new Command("init")
415
+ .description("Initialize Mycelium — auto-detect tools, create GitHub repo, migrate, sync")
416
+ .option("-g, --global", "Initialize global configuration at ~/.mycelium/ (manual mode)")
417
+ .option("-f, --force", "Overwrite existing configuration")
418
+ .option("-r, --repo <url>", "Clone config from an existing git repo URL")
419
+ .action(async (options) => {
420
+ const force = options.force ?? false;
421
+ if (options.global) {
422
+ // Manual mode — just create directory structure
423
+ const result = await initGlobal({ force });
424
+ if (result.skipped) {
425
+ console.log(result.message);
426
+ }
427
+ else {
428
+ console.log(`Global Mycelium configuration initialized at ${result.path}`);
429
+ }
430
+ }
431
+ else {
432
+ // Zero-friction auto-setup
433
+ await autoSetup({ repo: options.repo, force });
434
+ }
435
+ });
436
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Tests for init command - written FIRST following TDD
3
+ *
4
+ * Test cases:
5
+ * 1. initGlobal - creates ~/.mycelium/ directory structure
6
+ * 2. initGlobal - creates manifest.yaml with default config
7
+ * 3. initGlobal - creates .env.example template
8
+ * 4. initGlobal - creates empty .env.local (gitignored)
9
+ * 5. initGlobal - does NOT overwrite existing config without --force
10
+ * 6. initGlobal - overwrites with --force flag
11
+ * 7. initProject - creates .mycelium/ in project root
12
+ * 8. initProject - creates project mcps.yaml
13
+ * 9. initProject - does NOT overwrite existing config without --force
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=init.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.test.d.ts","sourceRoot":"","sources":["../../src/commands/init.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}