@shrkcrft/cli 0.1.0-alpha.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 (450) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/dist/asset-preview/apply-action-hint-stub.d.ts +28 -0
  4. package/dist/asset-preview/apply-action-hint-stub.d.ts.map +1 -0
  5. package/dist/asset-preview/apply-action-hint-stub.js +170 -0
  6. package/dist/asset-preview/apply-asset-preview.d.ts +31 -0
  7. package/dist/asset-preview/apply-asset-preview.d.ts.map +1 -0
  8. package/dist/asset-preview/apply-asset-preview.js +210 -0
  9. package/dist/asset-preview/apply-knowledge-stale-fix.d.ts +37 -0
  10. package/dist/asset-preview/apply-knowledge-stale-fix.d.ts.map +1 -0
  11. package/dist/asset-preview/apply-knowledge-stale-fix.js +344 -0
  12. package/dist/asset-preview/apply-missing-barrel.d.ts +15 -0
  13. package/dist/asset-preview/apply-missing-barrel.d.ts.map +1 -0
  14. package/dist/asset-preview/apply-missing-barrel.js +65 -0
  15. package/dist/asset-preview/apply-template-drift-fix.d.ts +21 -0
  16. package/dist/asset-preview/apply-template-drift-fix.d.ts.map +1 -0
  17. package/dist/asset-preview/apply-template-drift-fix.js +125 -0
  18. package/dist/asset-preview/apply-template-update.d.ts +43 -0
  19. package/dist/asset-preview/apply-template-update.d.ts.map +1 -0
  20. package/dist/asset-preview/apply-template-update.js +257 -0
  21. package/dist/asset-preview/entry-mutator.d.ts +106 -0
  22. package/dist/asset-preview/entry-mutator.d.ts.map +1 -0
  23. package/dist/asset-preview/entry-mutator.js +428 -0
  24. package/dist/authoring/authoring-kit.d.ts +36 -0
  25. package/dist/authoring/authoring-kit.d.ts.map +1 -0
  26. package/dist/authoring/authoring-kit.js +106 -0
  27. package/dist/command-registry.d.ts +158 -0
  28. package/dist/command-registry.d.ts.map +1 -0
  29. package/dist/command-registry.js +348 -0
  30. package/dist/commands/apply.command.d.ts +3 -0
  31. package/dist/commands/apply.command.d.ts.map +1 -0
  32. package/dist/commands/apply.command.js +879 -0
  33. package/dist/commands/architecture.command.d.ts +5 -0
  34. package/dist/commands/architecture.command.d.ts.map +1 -0
  35. package/dist/commands/architecture.command.js +141 -0
  36. package/dist/commands/ask.command.d.ts +3 -0
  37. package/dist/commands/ask.command.d.ts.map +1 -0
  38. package/dist/commands/ask.command.js +58 -0
  39. package/dist/commands/audit.command.d.ts +3 -0
  40. package/dist/commands/audit.command.d.ts.map +1 -0
  41. package/dist/commands/audit.command.js +141 -0
  42. package/dist/commands/biome.command.d.ts +7 -0
  43. package/dist/commands/biome.command.d.ts.map +1 -0
  44. package/dist/commands/biome.command.js +350 -0
  45. package/dist/commands/boundaries.command.d.ts +9 -0
  46. package/dist/commands/boundaries.command.d.ts.map +1 -0
  47. package/dist/commands/boundaries.command.js +326 -0
  48. package/dist/commands/brief.command.d.ts +3 -0
  49. package/dist/commands/brief.command.d.ts.map +1 -0
  50. package/dist/commands/brief.command.js +206 -0
  51. package/dist/commands/bundle.command.d.ts +3 -0
  52. package/dist/commands/bundle.command.d.ts.map +1 -0
  53. package/dist/commands/bundle.command.js +1183 -0
  54. package/dist/commands/changes.command.d.ts +3 -0
  55. package/dist/commands/changes.command.d.ts.map +1 -0
  56. package/dist/commands/changes.command.js +155 -0
  57. package/dist/commands/check.command.d.ts +3 -0
  58. package/dist/commands/check.command.d.ts.map +1 -0
  59. package/dist/commands/check.command.js +580 -0
  60. package/dist/commands/checks.command.d.ts +29 -0
  61. package/dist/commands/checks.command.d.ts.map +1 -0
  62. package/dist/commands/checks.command.js +521 -0
  63. package/dist/commands/ci.command.d.ts +3 -0
  64. package/dist/commands/ci.command.d.ts.map +1 -0
  65. package/dist/commands/ci.command.js +680 -0
  66. package/dist/commands/codemod.command.d.ts +3 -0
  67. package/dist/commands/codemod.command.d.ts.map +1 -0
  68. package/dist/commands/codemod.command.js +130 -0
  69. package/dist/commands/command-catalog.d.ts +265 -0
  70. package/dist/commands/command-catalog.d.ts.map +1 -0
  71. package/dist/commands/command-catalog.js +3255 -0
  72. package/dist/commands/commands.command.d.ts +92 -0
  73. package/dist/commands/commands.command.d.ts.map +1 -0
  74. package/dist/commands/commands.command.js +1208 -0
  75. package/dist/commands/constructs.command.d.ts +15 -0
  76. package/dist/commands/constructs.command.d.ts.map +1 -0
  77. package/dist/commands/constructs.command.js +669 -0
  78. package/dist/commands/context.command.d.ts +3 -0
  79. package/dist/commands/context.command.d.ts.map +1 -0
  80. package/dist/commands/context.command.js +120 -0
  81. package/dist/commands/contract-gate.command.d.ts +5 -0
  82. package/dist/commands/contract-gate.command.d.ts.map +1 -0
  83. package/dist/commands/contract-gate.command.js +208 -0
  84. package/dist/commands/contract-templates.command.d.ts +8 -0
  85. package/dist/commands/contract-templates.command.d.ts.map +1 -0
  86. package/dist/commands/contract-templates.command.js +151 -0
  87. package/dist/commands/contract.command.d.ts +3 -0
  88. package/dist/commands/contract.command.d.ts.map +1 -0
  89. package/dist/commands/contract.command.js +105 -0
  90. package/dist/commands/conventions.command.d.ts +8 -0
  91. package/dist/commands/conventions.command.d.ts.map +1 -0
  92. package/dist/commands/conventions.command.js +169 -0
  93. package/dist/commands/coverage.command.d.ts +3 -0
  94. package/dist/commands/coverage.command.d.ts.map +1 -0
  95. package/dist/commands/coverage.command.js +56 -0
  96. package/dist/commands/daily.commands.d.ts +5 -0
  97. package/dist/commands/daily.commands.d.ts.map +1 -0
  98. package/dist/commands/daily.commands.js +224 -0
  99. package/dist/commands/dashboard-export.command.d.ts +4 -0
  100. package/dist/commands/dashboard-export.command.d.ts.map +1 -0
  101. package/dist/commands/dashboard-export.command.js +86 -0
  102. package/dist/commands/dashboard.command.d.ts +3 -0
  103. package/dist/commands/dashboard.command.d.ts.map +1 -0
  104. package/dist/commands/dashboard.command.js +106 -0
  105. package/dist/commands/dev.command.d.ts +3 -0
  106. package/dist/commands/dev.command.d.ts.map +1 -0
  107. package/dist/commands/dev.command.js +1392 -0
  108. package/dist/commands/diagnostics.command.d.ts +5 -0
  109. package/dist/commands/diagnostics.command.d.ts.map +1 -0
  110. package/dist/commands/diagnostics.command.js +97 -0
  111. package/dist/commands/docs.command.d.ts +4 -0
  112. package/dist/commands/docs.command.d.ts.map +1 -0
  113. package/dist/commands/docs.command.js +34 -0
  114. package/dist/commands/doctor.command.d.ts +7 -0
  115. package/dist/commands/doctor.command.d.ts.map +1 -0
  116. package/dist/commands/doctor.command.js +682 -0
  117. package/dist/commands/drift.command.d.ts +3 -0
  118. package/dist/commands/drift.command.d.ts.map +1 -0
  119. package/dist/commands/drift.command.js +124 -0
  120. package/dist/commands/eslint.command.d.ts +7 -0
  121. package/dist/commands/eslint.command.d.ts.map +1 -0
  122. package/dist/commands/eslint.command.js +423 -0
  123. package/dist/commands/explore.command.d.ts +3 -0
  124. package/dist/commands/explore.command.d.ts.map +1 -0
  125. package/dist/commands/explore.command.js +65 -0
  126. package/dist/commands/export-bundle.command.d.ts +6 -0
  127. package/dist/commands/export-bundle.command.d.ts.map +1 -0
  128. package/dist/commands/export-bundle.command.js +96 -0
  129. package/dist/commands/export.command.d.ts +3 -0
  130. package/dist/commands/export.command.d.ts.map +1 -0
  131. package/dist/commands/export.command.js +83 -0
  132. package/dist/commands/feedback-dispatch.command.d.ts +12 -0
  133. package/dist/commands/feedback-dispatch.command.d.ts.map +1 -0
  134. package/dist/commands/feedback-dispatch.command.js +63 -0
  135. package/dist/commands/feedback.command.d.ts +11 -0
  136. package/dist/commands/feedback.command.d.ts.map +1 -0
  137. package/dist/commands/feedback.command.js +336 -0
  138. package/dist/commands/fix.command.d.ts +3 -0
  139. package/dist/commands/fix.command.d.ts.map +1 -0
  140. package/dist/commands/fix.command.js +776 -0
  141. package/dist/commands/gen.command.d.ts +3 -0
  142. package/dist/commands/gen.command.d.ts.map +1 -0
  143. package/dist/commands/gen.command.js +136 -0
  144. package/dist/commands/git.command.d.ts +6 -0
  145. package/dist/commands/git.command.d.ts.map +1 -0
  146. package/dist/commands/git.command.js +81 -0
  147. package/dist/commands/graph.command.d.ts +3 -0
  148. package/dist/commands/graph.command.d.ts.map +1 -0
  149. package/dist/commands/graph.command.js +287 -0
  150. package/dist/commands/grounding.command.d.ts +7 -0
  151. package/dist/commands/grounding.command.d.ts.map +1 -0
  152. package/dist/commands/grounding.command.js +54 -0
  153. package/dist/commands/help.command.d.ts +20 -0
  154. package/dist/commands/help.command.d.ts.map +1 -0
  155. package/dist/commands/help.command.js +129 -0
  156. package/dist/commands/helper.command.d.ts +6 -0
  157. package/dist/commands/helper.command.d.ts.map +1 -0
  158. package/dist/commands/helper.command.js +170 -0
  159. package/dist/commands/ide.command.d.ts +6 -0
  160. package/dist/commands/ide.command.d.ts.map +1 -0
  161. package/dist/commands/ide.command.js +340 -0
  162. package/dist/commands/impact.command.d.ts +3 -0
  163. package/dist/commands/impact.command.d.ts.map +1 -0
  164. package/dist/commands/impact.command.js +819 -0
  165. package/dist/commands/import.command.d.ts +3 -0
  166. package/dist/commands/import.command.d.ts.map +1 -0
  167. package/dist/commands/import.command.js +115 -0
  168. package/dist/commands/infer.command.d.ts +3 -0
  169. package/dist/commands/infer.command.d.ts.map +1 -0
  170. package/dist/commands/infer.command.js +227 -0
  171. package/dist/commands/ingest.command.d.ts +6 -0
  172. package/dist/commands/ingest.command.d.ts.map +1 -0
  173. package/dist/commands/ingest.command.js +532 -0
  174. package/dist/commands/init.command.d.ts +3 -0
  175. package/dist/commands/init.command.d.ts.map +1 -0
  176. package/dist/commands/init.command.js +300 -0
  177. package/dist/commands/inspect.command.d.ts +3 -0
  178. package/dist/commands/inspect.command.d.ts.map +1 -0
  179. package/dist/commands/inspect.command.js +122 -0
  180. package/dist/commands/knowledge-author.command.d.ts +22 -0
  181. package/dist/commands/knowledge-author.command.d.ts.map +1 -0
  182. package/dist/commands/knowledge-author.command.js +366 -0
  183. package/dist/commands/knowledge-propose.command.d.ts +3 -0
  184. package/dist/commands/knowledge-propose.command.d.ts.map +1 -0
  185. package/dist/commands/knowledge-propose.command.js +125 -0
  186. package/dist/commands/knowledge.command.d.ts +18 -0
  187. package/dist/commands/knowledge.command.d.ts.map +1 -0
  188. package/dist/commands/knowledge.command.js +538 -0
  189. package/dist/commands/languages.command.d.ts +3 -0
  190. package/dist/commands/languages.command.d.ts.map +1 -0
  191. package/dist/commands/languages.command.js +300 -0
  192. package/dist/commands/lint.command.d.ts +15 -0
  193. package/dist/commands/lint.command.d.ts.map +1 -0
  194. package/dist/commands/lint.command.js +194 -0
  195. package/dist/commands/mcp.command.d.ts +3 -0
  196. package/dist/commands/mcp.command.d.ts.map +1 -0
  197. package/dist/commands/mcp.command.js +203 -0
  198. package/dist/commands/memory.command.d.ts +11 -0
  199. package/dist/commands/memory.command.d.ts.map +1 -0
  200. package/dist/commands/memory.command.js +264 -0
  201. package/dist/commands/onboard.command.d.ts +3 -0
  202. package/dist/commands/onboard.command.d.ts.map +1 -0
  203. package/dist/commands/onboard.command.js +662 -0
  204. package/dist/commands/orchestrate.command.d.ts +3 -0
  205. package/dist/commands/orchestrate.command.d.ts.map +1 -0
  206. package/dist/commands/orchestrate.command.js +49 -0
  207. package/dist/commands/owners.command.d.ts +5 -0
  208. package/dist/commands/owners.command.d.ts.map +1 -0
  209. package/dist/commands/owners.command.js +113 -0
  210. package/dist/commands/ownership.command.d.ts +5 -0
  211. package/dist/commands/ownership.command.d.ts.map +1 -0
  212. package/dist/commands/ownership.command.js +117 -0
  213. package/dist/commands/pack-author.command.d.ts +30 -0
  214. package/dist/commands/pack-author.command.d.ts.map +1 -0
  215. package/dist/commands/pack-author.command.js +242 -0
  216. package/dist/commands/packs-new.d.ts +27 -0
  217. package/dist/commands/packs-new.d.ts.map +1 -0
  218. package/dist/commands/packs-new.js +805 -0
  219. package/dist/commands/packs.command.d.ts +15 -0
  220. package/dist/commands/packs.command.d.ts.map +1 -0
  221. package/dist/commands/packs.command.js +964 -0
  222. package/dist/commands/paths.command.d.ts +6 -0
  223. package/dist/commands/paths.command.d.ts.map +1 -0
  224. package/dist/commands/paths.command.js +97 -0
  225. package/dist/commands/pipelines.command.d.ts +9 -0
  226. package/dist/commands/pipelines.command.d.ts.map +1 -0
  227. package/dist/commands/pipelines.command.js +308 -0
  228. package/dist/commands/plan-check.command.d.ts +27 -0
  229. package/dist/commands/plan-check.command.d.ts.map +1 -0
  230. package/dist/commands/plan-check.command.js +150 -0
  231. package/dist/commands/plan-simulate.command.d.ts +3 -0
  232. package/dist/commands/plan-simulate.command.d.ts.map +1 -0
  233. package/dist/commands/plan-simulate.command.js +60 -0
  234. package/dist/commands/plan.command.d.ts +8 -0
  235. package/dist/commands/plan.command.d.ts.map +1 -0
  236. package/dist/commands/plan.command.js +139 -0
  237. package/dist/commands/playbooks.command.d.ts +10 -0
  238. package/dist/commands/playbooks.command.d.ts.map +1 -0
  239. package/dist/commands/playbooks.command.js +296 -0
  240. package/dist/commands/plugin.command.d.ts +11 -0
  241. package/dist/commands/plugin.command.d.ts.map +1 -0
  242. package/dist/commands/plugin.command.js +394 -0
  243. package/dist/commands/policy.command.d.ts +8 -0
  244. package/dist/commands/policy.command.d.ts.map +1 -0
  245. package/dist/commands/policy.command.js +451 -0
  246. package/dist/commands/pr.command.d.ts +3 -0
  247. package/dist/commands/pr.command.d.ts.map +1 -0
  248. package/dist/commands/pr.command.js +132 -0
  249. package/dist/commands/preflight.command.d.ts +3 -0
  250. package/dist/commands/preflight.command.d.ts.map +1 -0
  251. package/dist/commands/preflight.command.js +102 -0
  252. package/dist/commands/presets.command.d.ts +17 -0
  253. package/dist/commands/presets.command.d.ts.map +1 -0
  254. package/dist/commands/presets.command.js +647 -0
  255. package/dist/commands/profiles.command.d.ts +7 -0
  256. package/dist/commands/profiles.command.d.ts.map +1 -0
  257. package/dist/commands/profiles.command.js +151 -0
  258. package/dist/commands/provenance.command.d.ts +26 -0
  259. package/dist/commands/provenance.command.d.ts.map +1 -0
  260. package/dist/commands/provenance.command.js +237 -0
  261. package/dist/commands/quality.command.d.ts +5 -0
  262. package/dist/commands/quality.command.d.ts.map +1 -0
  263. package/dist/commands/quality.command.js +69 -0
  264. package/dist/commands/recommend.command.d.ts +4 -0
  265. package/dist/commands/recommend.command.d.ts.map +1 -0
  266. package/dist/commands/recommend.command.js +270 -0
  267. package/dist/commands/registrations.command.d.ts +3 -0
  268. package/dist/commands/registrations.command.d.ts.map +1 -0
  269. package/dist/commands/registrations.command.js +300 -0
  270. package/dist/commands/registry.command.d.ts +4 -0
  271. package/dist/commands/registry.command.d.ts.map +1 -0
  272. package/dist/commands/registry.command.js +37 -0
  273. package/dist/commands/release.command.d.ts +4 -0
  274. package/dist/commands/release.command.d.ts.map +1 -0
  275. package/dist/commands/release.command.js +639 -0
  276. package/dist/commands/repo.command.d.ts +3 -0
  277. package/dist/commands/repo.command.d.ts.map +1 -0
  278. package/dist/commands/repo.command.js +24 -0
  279. package/dist/commands/report.command.d.ts +3 -0
  280. package/dist/commands/report.command.d.ts.map +1 -0
  281. package/dist/commands/report.command.js +511 -0
  282. package/dist/commands/reposet.command.d.ts +6 -0
  283. package/dist/commands/reposet.command.d.ts.map +1 -0
  284. package/dist/commands/reposet.command.js +120 -0
  285. package/dist/commands/review.command.d.ts +3 -0
  286. package/dist/commands/review.command.d.ts.map +1 -0
  287. package/dist/commands/review.command.js +380 -0
  288. package/dist/commands/risk.command.d.ts +3 -0
  289. package/dist/commands/risk.command.d.ts.map +1 -0
  290. package/dist/commands/risk.command.js +56 -0
  291. package/dist/commands/rounds.command.d.ts +8 -0
  292. package/dist/commands/rounds.command.d.ts.map +1 -0
  293. package/dist/commands/rounds.command.js +180 -0
  294. package/dist/commands/rules.command.d.ts +49 -0
  295. package/dist/commands/rules.command.d.ts.map +1 -0
  296. package/dist/commands/rules.command.js +435 -0
  297. package/dist/commands/runtime.command.d.ts +3 -0
  298. package/dist/commands/runtime.command.d.ts.map +1 -0
  299. package/dist/commands/runtime.command.js +56 -0
  300. package/dist/commands/safety.command.d.ts +3 -0
  301. package/dist/commands/safety.command.d.ts.map +1 -0
  302. package/dist/commands/safety.command.js +117 -0
  303. package/dist/commands/scaffolds.command.d.ts +5 -0
  304. package/dist/commands/scaffolds.command.d.ts.map +1 -0
  305. package/dist/commands/scaffolds.command.js +122 -0
  306. package/dist/commands/schemas.command.d.ts +21 -0
  307. package/dist/commands/schemas.command.d.ts.map +1 -0
  308. package/dist/commands/schemas.command.js +296 -0
  309. package/dist/commands/search.command.d.ts +12 -0
  310. package/dist/commands/search.command.d.ts.map +1 -0
  311. package/dist/commands/search.command.js +275 -0
  312. package/dist/commands/self-config.command.d.ts +7 -0
  313. package/dist/commands/self-config.command.d.ts.map +1 -0
  314. package/dist/commands/self-config.command.js +156 -0
  315. package/dist/commands/self.command.d.ts +3 -0
  316. package/dist/commands/self.command.d.ts.map +1 -0
  317. package/dist/commands/self.command.js +117 -0
  318. package/dist/commands/simulate.command.d.ts +3 -0
  319. package/dist/commands/simulate.command.d.ts.map +1 -0
  320. package/dist/commands/simulate.command.js +54 -0
  321. package/dist/commands/spec.command.d.ts +29 -0
  322. package/dist/commands/spec.command.d.ts.map +1 -0
  323. package/dist/commands/spec.command.js +985 -0
  324. package/dist/commands/start-here.command.d.ts +3 -0
  325. package/dist/commands/start-here.command.d.ts.map +1 -0
  326. package/dist/commands/start-here.command.js +35 -0
  327. package/dist/commands/stats.command.d.ts +3 -0
  328. package/dist/commands/stats.command.d.ts.map +1 -0
  329. package/dist/commands/stats.command.js +88 -0
  330. package/dist/commands/surface.command.d.ts +15 -0
  331. package/dist/commands/surface.command.d.ts.map +1 -0
  332. package/dist/commands/surface.command.js +328 -0
  333. package/dist/commands/task-context.command.d.ts +7 -0
  334. package/dist/commands/task-context.command.d.ts.map +1 -0
  335. package/dist/commands/task-context.command.js +646 -0
  336. package/dist/commands/task.command.d.ts +3 -0
  337. package/dist/commands/task.command.d.ts.map +1 -0
  338. package/dist/commands/task.command.js +301 -0
  339. package/dist/commands/template-quality.command.d.ts +5 -0
  340. package/dist/commands/template-quality.command.d.ts.map +1 -0
  341. package/dist/commands/template-quality.command.js +128 -0
  342. package/dist/commands/templates.command.d.ts +26 -0
  343. package/dist/commands/templates.command.d.ts.map +1 -0
  344. package/dist/commands/templates.command.js +964 -0
  345. package/dist/commands/test.command.d.ts +3 -0
  346. package/dist/commands/test.command.d.ts.map +1 -0
  347. package/dist/commands/test.command.js +262 -0
  348. package/dist/commands/tests.command.d.ts +5 -0
  349. package/dist/commands/tests.command.d.ts.map +1 -0
  350. package/dist/commands/tests.command.js +97 -0
  351. package/dist/commands/trace.command.d.ts +3 -0
  352. package/dist/commands/trace.command.d.ts.map +1 -0
  353. package/dist/commands/trace.command.js +121 -0
  354. package/dist/commands/upgrade.command.d.ts +4 -0
  355. package/dist/commands/upgrade.command.d.ts.map +1 -0
  356. package/dist/commands/upgrade.command.js +43 -0
  357. package/dist/commands/version.command.d.ts +3 -0
  358. package/dist/commands/version.command.d.ts.map +1 -0
  359. package/dist/commands/version.command.js +10 -0
  360. package/dist/commands/why.command.d.ts +24 -0
  361. package/dist/commands/why.command.d.ts.map +1 -0
  362. package/dist/commands/why.command.js +119 -0
  363. package/dist/dashboard/dashboard-api-server.d.ts +21 -0
  364. package/dist/dashboard/dashboard-api-server.d.ts.map +1 -0
  365. package/dist/dashboard/dashboard-api-server.js +410 -0
  366. package/dist/dashboard/live-session-server.d.ts +18 -0
  367. package/dist/dashboard/live-session-server.d.ts.map +1 -0
  368. package/dist/dashboard/live-session-server.js +133 -0
  369. package/dist/diff/collect-changed-paths.d.ts +27 -0
  370. package/dist/diff/collect-changed-paths.d.ts.map +1 -0
  371. package/dist/diff/collect-changed-paths.js +68 -0
  372. package/dist/doctor/doctor-tags.d.ts +63 -0
  373. package/dist/doctor/doctor-tags.d.ts.map +1 -0
  374. package/dist/doctor/doctor-tags.js +146 -0
  375. package/dist/export/export-formats.d.ts +22 -0
  376. package/dist/export/export-formats.d.ts.map +1 -0
  377. package/dist/export/export-formats.js +135 -0
  378. package/dist/index.d.ts +22 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +21 -0
  381. package/dist/init/detected-block.d.ts +57 -0
  382. package/dist/init/detected-block.d.ts.map +1 -0
  383. package/dist/init/detected-block.js +197 -0
  384. package/dist/init/gitignore.d.ts +30 -0
  385. package/dist/init/gitignore.d.ts.map +1 -0
  386. package/dist/init/gitignore.js +110 -0
  387. package/dist/init/init-templates.d.ts +6 -0
  388. package/dist/init/init-templates.d.ts.map +1 -0
  389. package/dist/init/init-templates.js +413 -0
  390. package/dist/main.d.ts +18 -0
  391. package/dist/main.d.ts.map +1 -0
  392. package/dist/main.js +721 -0
  393. package/dist/output/failure-hints.d.ts +63 -0
  394. package/dist/output/failure-hints.d.ts.map +1 -0
  395. package/dist/output/failure-hints.js +165 -0
  396. package/dist/output/format-output.d.ts +9 -0
  397. package/dist/output/format-output.d.ts.map +1 -0
  398. package/dist/output/format-output.js +26 -0
  399. package/dist/output/print-error.d.ts +3 -0
  400. package/dist/output/print-error.d.ts.map +1 -0
  401. package/dist/output/print-error.js +14 -0
  402. package/dist/output/watch-loop.d.ts +37 -0
  403. package/dist/output/watch-loop.d.ts.map +1 -0
  404. package/dist/output/watch-loop.js +115 -0
  405. package/dist/schemas/json-schemas.d.ts +1630 -0
  406. package/dist/schemas/json-schemas.d.ts.map +1 -0
  407. package/dist/schemas/json-schemas.js +811 -0
  408. package/dist/surface/about.d.ts +10 -0
  409. package/dist/surface/about.d.ts.map +1 -0
  410. package/dist/surface/about.js +31 -0
  411. package/dist/surface/load-surface-context.d.ts +34 -0
  412. package/dist/surface/load-surface-context.d.ts.map +1 -0
  413. package/dist/surface/load-surface-context.js +100 -0
  414. package/dist/surface/no-args-landing.d.ts +7 -0
  415. package/dist/surface/no-args-landing.d.ts.map +1 -0
  416. package/dist/surface/no-args-landing.js +40 -0
  417. package/dist/surface/not-enabled-error.d.ts +24 -0
  418. package/dist/surface/not-enabled-error.d.ts.map +1 -0
  419. package/dist/surface/not-enabled-error.js +36 -0
  420. package/dist/surface/profiles.d.ts +37 -0
  421. package/dist/surface/profiles.d.ts.map +1 -0
  422. package/dist/surface/profiles.js +151 -0
  423. package/dist/surface/shape-defaults.d.ts +21 -0
  424. package/dist/surface/shape-defaults.d.ts.map +1 -0
  425. package/dist/surface/shape-defaults.js +50 -0
  426. package/dist/surface/spine-extractor.d.ts +38 -0
  427. package/dist/surface/spine-extractor.d.ts.map +1 -0
  428. package/dist/surface/spine-extractor.js +100 -0
  429. package/dist/surface/surface-config-writer.d.ts +59 -0
  430. package/dist/surface/surface-config-writer.d.ts.map +1 -0
  431. package/dist/surface/surface-config-writer.js +135 -0
  432. package/dist/surface/surface-summary.d.ts +66 -0
  433. package/dist/surface/surface-summary.d.ts.map +1 -0
  434. package/dist/surface/surface-summary.js +162 -0
  435. package/dist/surface/tier.d.ts +100 -0
  436. package/dist/surface/tier.d.ts.map +1 -0
  437. package/dist/surface/tier.js +172 -0
  438. package/dist/task-next/apply-batch-runner.d.ts +42 -0
  439. package/dist/task-next/apply-batch-runner.d.ts.map +1 -0
  440. package/dist/task-next/apply-batch-runner.js +192 -0
  441. package/dist/task-next/task-next-ranker.d.ts +75 -0
  442. package/dist/task-next/task-next-ranker.d.ts.map +1 -0
  443. package/dist/task-next/task-next-ranker.js +179 -0
  444. package/dist/usage/usage-log.d.ts +54 -0
  445. package/dist/usage/usage-log.d.ts.map +1 -0
  446. package/dist/usage/usage-log.js +105 -0
  447. package/dist/validation/run-validation-loop.d.ts +38 -0
  448. package/dist/validation/run-validation-loop.d.ts.map +1 -0
  449. package/dist/validation/run-validation-loop.js +100 -0
  450. package/package.json +72 -0
@@ -0,0 +1,203 @@
1
+ import { startMcpServer, } from '@shrkcrft/mcp-server';
2
+ import { flagBool, flagNumber, flagString, resolveCwd, } from "../command-registry.js";
3
+ import { printError } from "../output/print-error.js";
4
+ import { loadSurfaceContext } from "../surface/load-surface-context.js";
5
+ import { buildSurfaceSummary, findCommandInSummary } from "../surface/surface-summary.js";
6
+ export const mcpCommand = {
7
+ name: 'mcp',
8
+ description: 'MCP server operations (subcommand required).',
9
+ usage: 'shrk [--cwd <dir>] mcp serve [--verbose] [--watch] [--http] [--port <n>] [--host <h>] | shrk mcp install [<harness>]',
10
+ async run(args) {
11
+ const sub = args.positional[0];
12
+ if (sub === 'serve') {
13
+ try {
14
+ const cwd = resolveCwd(args);
15
+ const opts = {
16
+ cwd,
17
+ verbose: flagBool(args, 'verbose'),
18
+ watch: flagBool(args, 'watch'),
19
+ gateResolver: await buildMcpGateResolver(cwd),
20
+ };
21
+ if (flagBool(args, 'http')) {
22
+ opts.transport = 'http';
23
+ const host = flagString(args, 'host');
24
+ if (host)
25
+ opts.host = host;
26
+ const port = flagNumber(args, 'port');
27
+ if (port !== undefined)
28
+ opts.port = port;
29
+ }
30
+ await startMcpServer(opts);
31
+ return 0;
32
+ }
33
+ catch (e) {
34
+ printError(e instanceof Error ? e : new Error(String(e)));
35
+ return 1;
36
+ }
37
+ }
38
+ if (sub === 'install') {
39
+ const harness = args.positional[1];
40
+ const showAll = flagBool(args, 'all-paths');
41
+ if (harness !== undefined && !HARNESSES.some((h) => h.id === harness)) {
42
+ process.stderr.write(`Unknown harness: ${harness}\nKnown: ${HARNESSES.map((h) => h.id).join(', ')}\n`);
43
+ return 2;
44
+ }
45
+ process.stdout.write(renderMcpInstallInstructions(harness, showAll));
46
+ return 0;
47
+ }
48
+ process.stderr.write('Usage:\n' +
49
+ ' shrk mcp serve [--http] [--port N] [--watch]\n' +
50
+ ' shrk mcp install [claude-code|claude-desktop|cursor|cline]\n');
51
+ return 2;
52
+ },
53
+ };
54
+ const HARNESSES = [
55
+ {
56
+ id: 'claude-code',
57
+ label: 'Claude Code (Anthropic CLI)',
58
+ configPaths: [
59
+ { os: '*', path: '<repo>/.mcp.json # project-scoped (preferred)' },
60
+ { os: '*', path: '~/.claude.json # user-scoped (fallback)' },
61
+ ],
62
+ note: 'Claude Code reads both; project-scoped wins when present.',
63
+ },
64
+ {
65
+ id: 'claude-desktop',
66
+ label: 'Claude Desktop',
67
+ configPaths: [
68
+ { os: 'darwin', path: '~/Library/Application Support/Claude/claude_desktop_config.json' },
69
+ { os: 'win32', path: '%APPDATA%\\Claude\\claude_desktop_config.json' },
70
+ { os: 'linux', path: '~/.config/Claude/claude_desktop_config.json' },
71
+ ],
72
+ note: 'Restart Claude Desktop after editing.',
73
+ },
74
+ {
75
+ id: 'cursor',
76
+ label: 'Cursor IDE',
77
+ configPaths: [
78
+ { os: '*', path: '~/.cursor/mcp.json # user-scoped' },
79
+ { os: '*', path: '<repo>/.cursor/mcp.json # project-scoped' },
80
+ ],
81
+ note: 'Cursor merges both. Reload the IDE after editing.',
82
+ },
83
+ {
84
+ id: 'cline',
85
+ label: 'Cline (VS Code extension)',
86
+ configPaths: [
87
+ {
88
+ os: 'darwin',
89
+ path: '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',
90
+ },
91
+ {
92
+ os: 'win32',
93
+ path: '%APPDATA%\\Code\\User\\globalStorage\\saoudrizwan.claude-dev\\settings\\cline_mcp_settings.json',
94
+ },
95
+ {
96
+ os: 'linux',
97
+ path: '~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',
98
+ },
99
+ ],
100
+ note: 'Reload the Cline panel after editing.',
101
+ },
102
+ ];
103
+ function currentOs() {
104
+ const p = process.platform;
105
+ if (p === 'darwin' || p === 'win32' || p === 'linux')
106
+ return p;
107
+ return 'other';
108
+ }
109
+ function pathsForPlatform(target, showAll) {
110
+ if (showAll)
111
+ return target.configPaths.map((p) => p.path);
112
+ const os = currentOs();
113
+ const matched = target.configPaths.filter((p) => p.os === '*' || p.os === os);
114
+ // If the current OS has no specific entry, fall back to all to avoid an
115
+ // empty list. (`other` platforms like FreeBSD land here.)
116
+ if (matched.length === 0)
117
+ return target.configPaths.map((p) => p.path);
118
+ return matched.map((p) => p.path);
119
+ }
120
+ const SHARKCRAFT_MCP_SNIPPET = `{
121
+ "mcpServers": {
122
+ "sharkcraft": {
123
+ "command": "shrk",
124
+ "args": ["mcp", "serve"]
125
+ }
126
+ }
127
+ }`;
128
+ function renderMcpInstallInstructions(harness, showAll) {
129
+ const lines = [];
130
+ if (!harness) {
131
+ lines.push('SharkCraft MCP server entry (universal, stdio transport):');
132
+ lines.push('');
133
+ lines.push(SHARKCRAFT_MCP_SNIPPET);
134
+ lines.push('');
135
+ lines.push('Paste it into one of these harnesses (`shrk mcp install <id>` for exact paths):');
136
+ lines.push('');
137
+ for (const h of HARNESSES) {
138
+ lines.push(` ${h.id.padEnd(16)} ${h.label}`);
139
+ }
140
+ lines.push('');
141
+ lines.push('After pasting, restart/reload the harness. The server is read-only — agents cannot write.');
142
+ return lines.join('\n') + '\n';
143
+ }
144
+ const target = HARNESSES.find((h) => h.id === harness);
145
+ if (!target) {
146
+ return (`Unknown harness: ${harness}\n` +
147
+ `Known: ${HARNESSES.map((h) => h.id).join(', ')}\n`);
148
+ }
149
+ const paths = pathsForPlatform(target, showAll);
150
+ const os = currentOs();
151
+ lines.push(`${target.label}`);
152
+ lines.push('');
153
+ lines.push(showAll || os === 'other'
154
+ ? 'Config file (all platforms):'
155
+ : `Config file (${os}; pass --all-paths to see every platform):`);
156
+ for (const p of paths)
157
+ lines.push(` ${p}`);
158
+ lines.push('');
159
+ lines.push('Add this entry (merge with any existing `mcpServers` block):');
160
+ lines.push('');
161
+ lines.push(SHARKCRAFT_MCP_SNIPPET);
162
+ if (target.note) {
163
+ lines.push('');
164
+ lines.push(target.note);
165
+ }
166
+ lines.push('');
167
+ lines.push('Verify by asking the agent: "List MCP tools available." You should see ~250 sharkcraft tools.');
168
+ lines.push('The server is read-only — agents cannot write. Use `shrk apply --verify-signature` for writes.');
169
+ return lines.join('\n') + '\n';
170
+ }
171
+ /**
172
+ * Build the MCP tier-gate resolver from the surface summary.
173
+ * Returns a function that, given a tool, decides whether to refuse the
174
+ * call (when the tool's sibling CLI command is experimental and not
175
+ * enabled). Tools without `cliCommand` are always callable
176
+ * (bootstrap MCP-only tools).
177
+ *
178
+ * Failure-soft: any error building the summary returns a no-op
179
+ * resolver — the server stays open rather than failing closed on
180
+ * unrelated issues.
181
+ */
182
+ async function buildMcpGateResolver(cwd) {
183
+ try {
184
+ const { context } = await loadSurfaceContext({ cwd });
185
+ const summary = buildSurfaceSummary(context);
186
+ return (tool) => {
187
+ if (!tool.cliCommand)
188
+ return null;
189
+ const view = findCommandInSummary(summary, tool.cliCommand);
190
+ if (!view || view.callable)
191
+ return null;
192
+ return {
193
+ command: tool.cliCommand,
194
+ reason: view.detail
195
+ ? `Sibling CLI command \`${tool.cliCommand}\` is experimental: ${view.detail}.`
196
+ : `Sibling CLI command \`${tool.cliCommand}\` is experimental and not enabled.`,
197
+ };
198
+ };
199
+ }
200
+ catch {
201
+ return undefined;
202
+ }
203
+ }
@@ -0,0 +1,11 @@
1
+ import { type ICommandHandler } from '../command-registry.js';
2
+ export declare const memoryBuildCommand: ICommandHandler;
3
+ export declare const memoryDiffCommand: ICommandHandler;
4
+ export declare const memoryDriftCommand: ICommandHandler;
5
+ export declare const memorySnapshotsCommand: ICommandHandler;
6
+ export declare const memoryReportCommand: ICommandHandler;
7
+ export declare const memoryRiskCommand: ICommandHandler;
8
+ export declare const memoryFilesCommand: ICommandHandler;
9
+ export declare const memoryDiagnosticsCommand: ICommandHandler;
10
+ export declare const memoryResetCommand: ICommandHandler;
11
+ //# sourceMappingURL=memory.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.command.d.ts","sourceRoot":"","sources":["../../src/commands/memory.command.ts"],"names":[],"mappings":"AAoBA,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAgBhC,eAAO,MAAM,kBAAkB,EAAE,eAyBhC,CAAC;AAWF,eAAO,MAAM,iBAAiB,EAAE,eA0C/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAgChC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,eAkBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,eAkBjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eAmB/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAyBhC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,eAuBtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAwBhC,CAAC"}
@@ -0,0 +1,264 @@
1
+ import * as nodePath from 'node:path';
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { buildRepositoryMemory, diffMemoryIndex, inspectSharkcraft, latestMemorySnapshot, listMemorySnapshots, loadMemorySnapshot, loadRepositoryMemory, memoryRiskForTask, renderMemoryDiffMarkdown, renderMemoryDiffText, renderMemoryReportText, renderMemoryRiskText, resetRepositoryMemory, saveRepositoryMemory, writeMemorySnapshot, } from '@shrkcrft/inspector';
4
+ import { flagBool, flagString, resolveCwd, } from "../command-registry.js";
5
+ import { asJson } from "../output/format-output.js";
6
+ function writeOutOrJson(args, cwd, body) {
7
+ const output = flagString(args, 'output');
8
+ if (output) {
9
+ const abs = nodePath.isAbsolute(output) ? output : nodePath.resolve(cwd, output);
10
+ mkdirSync(nodePath.dirname(abs), { recursive: true });
11
+ writeFileSync(abs, body, 'utf8');
12
+ process.stdout.write(`Wrote ${abs}\n`);
13
+ return 0;
14
+ }
15
+ process.stdout.write(body);
16
+ return 0;
17
+ }
18
+ export const memoryBuildCommand = {
19
+ name: 'build',
20
+ description: 'Build (or refresh) the local repository memory index from .sharkcraft history. Writes only to .sharkcraft/memory/. With --write-snapshot, also archives the index to .sharkcraft/memory/history/. Local-only.',
21
+ usage: 'shrk memory build [--write-snapshot] [--json] [--output <file>]',
22
+ async run(args) {
23
+ const cwd = resolveCwd(args);
24
+ const inspection = await inspectSharkcraft({ cwd });
25
+ const index = await buildRepositoryMemory(inspection);
26
+ const file = saveRepositoryMemory(inspection.projectRoot, index);
27
+ let snapshotFile;
28
+ if (flagBool(args, 'write-snapshot')) {
29
+ snapshotFile = writeMemorySnapshot(inspection.projectRoot, index);
30
+ }
31
+ if (flagBool(args, 'json')) {
32
+ return writeOutOrJson(args, cwd, asJson({ index, indexFile: file, snapshotFile }) + '\n');
33
+ }
34
+ process.stdout.write(`Memory index written to ${file}\n`);
35
+ if (snapshotFile)
36
+ process.stdout.write(`Snapshot archived: ${snapshotFile}\n`);
37
+ process.stdout.write(` sources scanned: ${index.sourceCount}\n`);
38
+ process.stdout.write(` top files : ${index.files.length}\n`);
39
+ process.stdout.write(` diagnostics : ${index.diagnostics.length}\n`);
40
+ process.stdout.write(` release blockers: ${index.releaseBlockers.length}\n`);
41
+ return 0;
42
+ },
43
+ };
44
+ function loadIndexFromPath(file) {
45
+ if (!existsSync(file))
46
+ return null;
47
+ try {
48
+ return JSON.parse(readFileSync(file, 'utf8'));
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ }
54
+ export const memoryDiffCommand = {
55
+ name: 'diff',
56
+ description: 'Compare two memory snapshots (or one snapshot + the current index). Read-only.',
57
+ usage: 'shrk memory diff <old.json> [new.json] [--format text|markdown|json] [--output <file>]',
58
+ async run(args) {
59
+ const oldArg = args.positional[0];
60
+ const newArg = args.positional[1];
61
+ if (!oldArg) {
62
+ process.stderr.write('Usage: shrk memory diff <old.json> [new.json]\n');
63
+ return 2;
64
+ }
65
+ const cwd = resolveCwd(args);
66
+ const oldPath = nodePath.isAbsolute(oldArg) ? oldArg : nodePath.resolve(cwd, oldArg);
67
+ const before = loadIndexFromPath(oldPath);
68
+ if (!before) {
69
+ process.stderr.write(`Cannot read ${oldPath}\n`);
70
+ return 1;
71
+ }
72
+ let after;
73
+ if (newArg) {
74
+ const newPath = nodePath.isAbsolute(newArg) ? newArg : nodePath.resolve(cwd, newArg);
75
+ after = loadIndexFromPath(newPath);
76
+ if (!after) {
77
+ process.stderr.write(`Cannot read ${newPath}\n`);
78
+ return 1;
79
+ }
80
+ }
81
+ else {
82
+ after = loadRepositoryMemory(cwd);
83
+ if (!after) {
84
+ process.stderr.write('No current memory index. Run `shrk memory build` first.\n');
85
+ return 1;
86
+ }
87
+ }
88
+ const diff = diffMemoryIndex(before, after);
89
+ const format = (flagString(args, 'format') ?? 'text').toLowerCase();
90
+ let body;
91
+ if (format === 'json' || flagBool(args, 'json'))
92
+ body = asJson(diff) + '\n';
93
+ else if (format === 'markdown' || format === 'md')
94
+ body = renderMemoryDiffMarkdown(diff);
95
+ else
96
+ body = renderMemoryDiffText(diff);
97
+ return writeOutOrJson(args, cwd, body);
98
+ },
99
+ };
100
+ export const memoryDriftCommand = {
101
+ name: 'drift',
102
+ description: 'Compare the current memory index against the latest snapshot under .sharkcraft/memory/history/. Read-only.',
103
+ usage: 'shrk memory drift [--previous <snapshot.json>] [--format text|markdown|json] [--output <file>]',
104
+ async run(args) {
105
+ const cwd = resolveCwd(args);
106
+ const current = loadRepositoryMemory(cwd);
107
+ if (!current) {
108
+ process.stderr.write('No current memory index. Run `shrk memory build` first.\n');
109
+ return 1;
110
+ }
111
+ const previousFlag = flagString(args, 'previous');
112
+ let before;
113
+ if (previousFlag) {
114
+ const p = nodePath.isAbsolute(previousFlag) ? previousFlag : nodePath.resolve(cwd, previousFlag);
115
+ before = loadMemorySnapshot(p);
116
+ if (!before) {
117
+ process.stderr.write(`Cannot read ${p}\n`);
118
+ return 1;
119
+ }
120
+ }
121
+ else {
122
+ before = latestMemorySnapshot(cwd);
123
+ }
124
+ const diff = diffMemoryIndex(before, current);
125
+ const format = (flagString(args, 'format') ?? 'text').toLowerCase();
126
+ let body;
127
+ if (format === 'json' || flagBool(args, 'json'))
128
+ body = asJson(diff) + '\n';
129
+ else if (format === 'markdown' || format === 'md')
130
+ body = renderMemoryDiffMarkdown(diff);
131
+ else
132
+ body = renderMemoryDiffText(diff);
133
+ return writeOutOrJson(args, cwd, body);
134
+ },
135
+ };
136
+ export const memorySnapshotsCommand = {
137
+ name: 'snapshots',
138
+ description: 'List archived memory snapshots under .sharkcraft/memory/history/. Read-only.',
139
+ usage: 'shrk memory snapshots [--json]',
140
+ async run(args) {
141
+ const cwd = resolveCwd(args);
142
+ const list = listMemorySnapshots(cwd);
143
+ if (flagBool(args, 'json')) {
144
+ process.stdout.write(asJson(list) + '\n');
145
+ return 0;
146
+ }
147
+ if (list.length === 0) {
148
+ process.stdout.write('No snapshots yet. Run `shrk memory build --write-snapshot`.\n');
149
+ return 0;
150
+ }
151
+ for (const f of list)
152
+ process.stdout.write(`${f}\n`);
153
+ return 0;
154
+ },
155
+ };
156
+ export const memoryReportCommand = {
157
+ name: 'report',
158
+ description: 'Render a human-readable repository memory report. Read-only.',
159
+ usage: 'shrk memory report [--json] [--output <file>]',
160
+ async run(args) {
161
+ const cwd = resolveCwd(args);
162
+ const index = loadRepositoryMemory(cwd);
163
+ if (!index) {
164
+ process.stderr.write('No memory index found. Run `shrk memory build` first.\n');
165
+ return 1;
166
+ }
167
+ if (flagBool(args, 'json')) {
168
+ return writeOutOrJson(args, cwd, asJson(index) + '\n');
169
+ }
170
+ return writeOutOrJson(args, cwd, renderMemoryReportText(index));
171
+ },
172
+ };
173
+ export const memoryRiskCommand = {
174
+ name: 'risk',
175
+ description: 'Combine task risk with historical signals from .sharkcraft/memory/index.json. Read-only.',
176
+ usage: 'shrk memory risk "<task>" [--json] [--output <file>]',
177
+ async run(args) {
178
+ const task = args.positional.join(' ').trim();
179
+ if (!task) {
180
+ process.stderr.write('Usage: shrk memory risk "<task>"\n');
181
+ return 2;
182
+ }
183
+ const cwd = resolveCwd(args);
184
+ const index = loadRepositoryMemory(cwd);
185
+ const report = memoryRiskForTask(index, task);
186
+ if (flagBool(args, 'json')) {
187
+ return writeOutOrJson(args, cwd, asJson(report) + '\n');
188
+ }
189
+ return writeOutOrJson(args, cwd, renderMemoryRiskText(report));
190
+ },
191
+ };
192
+ export const memoryFilesCommand = {
193
+ name: 'files',
194
+ description: 'List historically risky files from the memory index. Read-only.',
195
+ usage: 'shrk memory files [--json] [--limit <n>]',
196
+ async run(args) {
197
+ const cwd = resolveCwd(args);
198
+ const index = loadRepositoryMemory(cwd);
199
+ if (!index) {
200
+ process.stderr.write('No memory index found. Run `shrk memory build` first.\n');
201
+ return 1;
202
+ }
203
+ const limitRaw = flagString(args, 'limit');
204
+ const limit = limitRaw ? Number(limitRaw) : 30;
205
+ const top = index.files.slice(0, Number.isFinite(limit) ? limit : 30);
206
+ if (flagBool(args, 'json')) {
207
+ process.stdout.write(asJson(top) + '\n');
208
+ return 0;
209
+ }
210
+ for (const f of top) {
211
+ process.stdout.write(`${String(f.touchCount).padStart(4)}x ${f.path} (conflicts=${f.conflictCount}, warnings=${f.warningCount})\n`);
212
+ }
213
+ return 0;
214
+ },
215
+ };
216
+ export const memoryDiagnosticsCommand = {
217
+ name: 'diagnostics',
218
+ description: 'List recurring diagnostics from the memory index. Read-only.',
219
+ usage: 'shrk memory diagnostics [--json] [--limit <n>]',
220
+ async run(args) {
221
+ const cwd = resolveCwd(args);
222
+ const index = loadRepositoryMemory(cwd);
223
+ if (!index) {
224
+ process.stderr.write('No memory index found. Run `shrk memory build` first.\n');
225
+ return 1;
226
+ }
227
+ const limitRaw = flagString(args, 'limit');
228
+ const limit = limitRaw ? Number(limitRaw) : 30;
229
+ const top = index.diagnostics.slice(0, Number.isFinite(limit) ? limit : 30);
230
+ if (flagBool(args, 'json')) {
231
+ process.stdout.write(asJson(top) + '\n');
232
+ return 0;
233
+ }
234
+ for (const d of top) {
235
+ process.stdout.write(`${String(d.count).padStart(3)}x ${d.code}\n`);
236
+ }
237
+ return 0;
238
+ },
239
+ };
240
+ export const memoryResetCommand = {
241
+ name: 'reset',
242
+ description: 'Reset the local repository memory. Default is --dry-run; pass --write to actually delete .sharkcraft/memory.',
243
+ usage: 'shrk memory reset [--dry-run|--write]',
244
+ async run(args) {
245
+ const cwd = resolveCwd(args);
246
+ const writeMode = flagBool(args, 'write');
247
+ const result = resetRepositoryMemory(cwd, { dryRun: !writeMode });
248
+ if (flagBool(args, 'json')) {
249
+ process.stdout.write(asJson(result) + '\n');
250
+ return 0;
251
+ }
252
+ if (result.notRemoved.length && !writeMode) {
253
+ // not removed because dir didn't exist
254
+ }
255
+ if (result.dryRun) {
256
+ process.stdout.write(`(dry-run) Would remove: ${result.removed.join(', ') || '(nothing)'}\n`);
257
+ process.stdout.write('Pass --write to actually delete.\n');
258
+ }
259
+ else {
260
+ process.stdout.write(`Removed: ${result.removed.join(', ') || '(nothing)'}\n`);
261
+ }
262
+ return 0;
263
+ },
264
+ };
@@ -0,0 +1,3 @@
1
+ import { type ICommandHandler } from '../command-registry.js';
2
+ export declare const onboardCommand: ICommandHandler;
3
+ //# sourceMappingURL=onboard.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.command.d.ts","sourceRoot":"","sources":["../../src/commands/onboard.command.ts"],"names":[],"mappings":"AA6CA,OAAO,EAML,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,cAAc,EAAE,eA2O5B,CAAC"}