@shrkcrft/cli 0.1.0-alpha.2

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 +314 -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 +553 -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 +3242 -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 +681 -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 +127 -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 +301 -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 +74 -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 +650 -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 +958 -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 +354 -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 +699 -0
  393. package/dist/output/failure-hints.d.ts +55 -0
  394. package/dist/output/failure-hints.d.ts.map +1 -0
  395. package/dist/output/failure-hints.js +159 -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 +53 -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 +36 -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 +73 -0
@@ -0,0 +1,151 @@
1
+ /**
2
+ * `shrk profiles ...` — unified read-only surface for all pack-/local-
3
+ * contributed profiles (plugin lifecycle, migration, and future kinds).
4
+ */
5
+ import { findProfile, inspectSharkcraft, listProfileIssues, listProfiles, ProfileKind, } from '@shrkcrft/inspector';
6
+ import { flagBool, flagString, resolveCwd, } from "../command-registry.js";
7
+ import { asJson, header } from "../output/format-output.js";
8
+ function parseKind(value) {
9
+ if (!value)
10
+ return undefined;
11
+ const known = Object.values(ProfileKind);
12
+ if (known.includes(value))
13
+ return value;
14
+ return undefined;
15
+ }
16
+ export const profilesListCommand = {
17
+ name: 'list',
18
+ description: 'List all registered profiles (plugin-lifecycle, migration, ...).',
19
+ usage: 'shrk profiles list [--kind <kind>] [--json]',
20
+ async run(args) {
21
+ const cwd = resolveCwd(args);
22
+ const inspection = await inspectSharkcraft({ cwd });
23
+ const kind = parseKind(flagString(args, 'kind'));
24
+ const entries = await listProfiles(inspection, kind ? { kind } : {});
25
+ if (flagBool(args, 'json')) {
26
+ process.stdout.write(asJson(entries) + '\n');
27
+ return 0;
28
+ }
29
+ process.stdout.write(header(`Profiles (${entries.length}${kind ? `, kind=${kind}` : ''})`));
30
+ if (entries.length === 0) {
31
+ process.stdout.write(' (none — contribute via packs: pluginLifecycleProfileFiles, migrationProfileFiles, etc.)\n');
32
+ return 0;
33
+ }
34
+ for (const e of entries) {
35
+ const src = e.source === 'pack' ? `pack:${e.packageName ?? '?'}` : e.source;
36
+ process.stdout.write(` • ${e.kind.padEnd(18)} ${e.id.padEnd(24)} ${e.title} [${src}]\n`);
37
+ }
38
+ return 0;
39
+ },
40
+ };
41
+ export const profilesGetCommand = {
42
+ name: 'get',
43
+ description: 'Show one profile by id (and optional --kind).',
44
+ usage: 'shrk profiles get <id> [--kind <kind>] [--json]',
45
+ async run(args) {
46
+ const id = args.positional[0];
47
+ if (!id) {
48
+ process.stderr.write('Usage: shrk profiles get <id>\n');
49
+ return 2;
50
+ }
51
+ const cwd = resolveCwd(args);
52
+ const inspection = await inspectSharkcraft({ cwd });
53
+ const kind = parseKind(flagString(args, 'kind'));
54
+ const entry = await findProfile(inspection, id, kind);
55
+ if (!entry) {
56
+ process.stderr.write(`Unknown profile "${id}"${kind ? ` (kind=${kind})` : ''}.\n`);
57
+ return 2;
58
+ }
59
+ if (flagBool(args, 'json')) {
60
+ process.stdout.write(asJson(entry) + '\n');
61
+ return 0;
62
+ }
63
+ process.stdout.write(header(`Profile ${entry.id} (${entry.kind})`));
64
+ process.stdout.write(` title ${entry.title}\n`);
65
+ if (entry.description)
66
+ process.stdout.write(` description ${entry.description}\n`);
67
+ process.stdout.write(` source ${entry.source}${entry.packageName ? ' (' + entry.packageName + ')' : ''}\n`);
68
+ if (entry.sourceFile)
69
+ process.stdout.write(` sourceFile ${entry.sourceFile}\n`);
70
+ if (entry.tags && entry.tags.length > 0)
71
+ process.stdout.write(` tags ${entry.tags.join(', ')}\n`);
72
+ if (entry.appliesWhen && entry.appliesWhen.length > 0) {
73
+ process.stdout.write(` appliesWhen ${entry.appliesWhen.join(', ')}\n`);
74
+ }
75
+ return 0;
76
+ },
77
+ };
78
+ export const profilesDoctorCommand = {
79
+ name: 'doctor',
80
+ description: 'Surface load issues across all profile kinds.',
81
+ usage: 'shrk profiles doctor [--json]',
82
+ async run(args) {
83
+ const cwd = resolveCwd(args);
84
+ const inspection = await inspectSharkcraft({ cwd });
85
+ const issues = await listProfileIssues(inspection);
86
+ if (flagBool(args, 'json')) {
87
+ process.stdout.write(asJson({ issues }) + '\n');
88
+ return issues.some((i) => i.severity === 'error') ? 1 : 0;
89
+ }
90
+ process.stdout.write(header('Profile registry doctor'));
91
+ if (issues.length === 0) {
92
+ process.stdout.write(' ok — no load issues across registered profile kinds.\n');
93
+ return 0;
94
+ }
95
+ for (const i of issues) {
96
+ process.stdout.write(` ${i.severity.padEnd(7)} [${i.code}] ${i.message}\n`);
97
+ }
98
+ return issues.some((i) => i.severity === 'error') ? 1 : 0;
99
+ },
100
+ };
101
+ export const profilesSearchCommand = {
102
+ name: 'search',
103
+ description: 'Search registered profiles by free-text token across id / title / tags.',
104
+ usage: 'shrk profiles search <query> [--kind <kind>] [--json]',
105
+ async run(args) {
106
+ const query = args.positional[0];
107
+ if (!query) {
108
+ process.stderr.write('Usage: shrk profiles search <query>\n');
109
+ return 2;
110
+ }
111
+ const cwd = resolveCwd(args);
112
+ const inspection = await inspectSharkcraft({ cwd });
113
+ const kind = parseKind(flagString(args, 'kind'));
114
+ const all = await listProfiles(inspection, kind ? { kind } : {});
115
+ const q = query.toLowerCase();
116
+ const matches = all.filter((e) => {
117
+ const haystack = `${e.id} ${e.title} ${(e.tags ?? []).join(' ')} ${e.description ?? ''}`.toLowerCase();
118
+ return haystack.includes(q);
119
+ });
120
+ if (flagBool(args, 'json')) {
121
+ process.stdout.write(asJson(matches) + '\n');
122
+ return 0;
123
+ }
124
+ process.stdout.write(header(`Profiles matching "${query}" (${matches.length})`));
125
+ for (const e of matches) {
126
+ process.stdout.write(` • ${e.kind.padEnd(18)} ${e.id.padEnd(24)} ${e.title}\n`);
127
+ }
128
+ if (matches.length === 0)
129
+ process.stdout.write(' (no matches)\n');
130
+ return 0;
131
+ },
132
+ };
133
+ export const profilesCommand = {
134
+ name: 'profiles',
135
+ description: 'List / inspect pack-contributed profiles (plugin-lifecycle, migration, conventions, …).',
136
+ usage: 'shrk profiles list|get|doctor|search ...',
137
+ async run(args) {
138
+ const sub = args.positional[0];
139
+ args.positional = args.positional.slice(1);
140
+ if (sub === 'list')
141
+ return profilesListCommand.run(args);
142
+ if (sub === 'get')
143
+ return profilesGetCommand.run(args);
144
+ if (sub === 'doctor')
145
+ return profilesDoctorCommand.run(args);
146
+ if (sub === 'search')
147
+ return profilesSearchCommand.run(args);
148
+ process.stderr.write('Usage: shrk profiles list|get|doctor|search ...\n');
149
+ return 2;
150
+ },
151
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Asset provenance CLI surface.
3
+ *
4
+ * - `shrk provenance list [--kind <k>] [--id <id>] [--limit N]`
5
+ * - `shrk provenance show <assetId> [--kind <k>]`
6
+ * - `shrk provenance report`
7
+ *
8
+ * Read-only — the ledger is written by the authoring commands. CLI never
9
+ * accepts arbitrary write requests.
10
+ */
11
+ import { type ICommandHandler } from '../command-registry.js';
12
+ export declare const provenanceListCommand: ICommandHandler;
13
+ export declare const provenanceShowCommand: ICommandHandler;
14
+ export declare const provenanceReportCommand: ICommandHandler;
15
+ /**
16
+ * `shrk provenance missing`. Lists local-asset entries that have no
17
+ * provenance ledger record. Old entries are exempted (advisory only).
18
+ */
19
+ export declare const provenanceMissingCommand: ICommandHandler;
20
+ /**
21
+ * `shrk provenance doctor`. Schema-validates every ledger entry:
22
+ * required fields present, generatedAt parses, operation/source match
23
+ * the enums.
24
+ */
25
+ export declare const provenanceDoctorCommand: ICommandHandler;
26
+ //# sourceMappingURL=provenance.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.command.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAGhC,eAAO,MAAM,qBAAqB,EAAE,eA+BnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,eAmCnC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,eAerC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAwEtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,eA2ErC,CAAC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Asset provenance CLI surface.
3
+ *
4
+ * - `shrk provenance list [--kind <k>] [--id <id>] [--limit N]`
5
+ * - `shrk provenance show <assetId> [--kind <k>]`
6
+ * - `shrk provenance report`
7
+ *
8
+ * Read-only — the ledger is written by the authoring commands. CLI never
9
+ * accepts arbitrary write requests.
10
+ */
11
+ import { buildProvenanceReport, inspectSharkcraft, listProvenance, readProvenance, renderProvenanceMarkdown, showProvenance, } from '@shrkcrft/inspector';
12
+ import { flagBool, flagNumber, flagString, resolveCwd, } from "../command-registry.js";
13
+ import { asJson, header } from "../output/format-output.js";
14
+ export const provenanceListCommand = {
15
+ name: 'list',
16
+ description: 'List provenance ledger entries (most-recent first).',
17
+ usage: 'shrk provenance list [--kind <assetKind>] [--id <assetId>] [--operation <op>] [--limit N] [--json]',
18
+ async run(args) {
19
+ const cwd = resolveCwd(args);
20
+ const entries = listProvenance(cwd, {
21
+ ...(flagString(args, 'kind') ? { assetKind: flagString(args, 'kind') } : {}),
22
+ ...(flagString(args, 'id') ? { assetId: flagString(args, 'id') ?? undefined } : {}),
23
+ ...(flagString(args, 'operation')
24
+ ? { operation: flagString(args, 'operation') }
25
+ : {}),
26
+ ...(flagNumber(args, 'limit') ? { limit: flagNumber(args, 'limit') ?? undefined } : {}),
27
+ });
28
+ if (flagBool(args, 'json')) {
29
+ process.stdout.write(asJson(entries) + '\n');
30
+ return 0;
31
+ }
32
+ process.stdout.write(header(`Provenance entries (${entries.length})`));
33
+ if (entries.length === 0) {
34
+ process.stdout.write(' (ledger is empty — run a `shrk knowledge author --write-preview` to start it)\n');
35
+ return 0;
36
+ }
37
+ for (const e of entries) {
38
+ process.stdout.write(` ${e.generatedAt} ${e.operation.padEnd(10)} ${e.assetKind}:${e.assetId} ← ${e.source}${e.reason ? ` — ${e.reason}` : ''}\n`);
39
+ }
40
+ return 0;
41
+ },
42
+ };
43
+ export const provenanceShowCommand = {
44
+ name: 'show',
45
+ description: 'Show all provenance entries for one asset id.',
46
+ usage: 'shrk provenance show <assetId> [--kind <assetKind>] [--json]',
47
+ async run(args) {
48
+ const id = args.positional[0] ?? flagString(args, 'id');
49
+ if (!id) {
50
+ process.stderr.write('Usage: shrk provenance show <assetId>\n');
51
+ return 2;
52
+ }
53
+ const cwd = resolveCwd(args);
54
+ const result = showProvenance(cwd, id, flagString(args, 'kind'));
55
+ if (flagBool(args, 'json')) {
56
+ process.stdout.write(asJson(result) + '\n');
57
+ return 0;
58
+ }
59
+ process.stdout.write(header(`Provenance: ${result.assetKind}:${result.assetId}`));
60
+ if (result.entries.length === 0) {
61
+ process.stdout.write(' (no provenance entries — this asset has no recorded authoring history)\n');
62
+ return 0;
63
+ }
64
+ for (const e of result.entries) {
65
+ process.stdout.write(` ${e.generatedAt} ${e.operation} ← ${e.source}${e.author ? ` (${e.author})` : ''}\n`);
66
+ if (e.reason)
67
+ process.stdout.write(` reason: ${e.reason}\n`);
68
+ if (e.previewPath)
69
+ process.stdout.write(` preview: ${e.previewPath}\n`);
70
+ if (e.relatedTask)
71
+ process.stdout.write(` task: ${e.relatedTask}\n`);
72
+ }
73
+ return 0;
74
+ },
75
+ };
76
+ export const provenanceReportCommand = {
77
+ name: 'report',
78
+ description: 'Summary report of the asset provenance ledger.',
79
+ usage: 'shrk provenance report [--recent N] [--json]',
80
+ async run(args) {
81
+ const cwd = resolveCwd(args);
82
+ const recent = flagNumber(args, 'recent') ?? 10;
83
+ const report = buildProvenanceReport(cwd, recent);
84
+ if (flagBool(args, 'json')) {
85
+ process.stdout.write(asJson(report) + '\n');
86
+ return 0;
87
+ }
88
+ process.stdout.write(renderProvenanceMarkdown(report));
89
+ return 0;
90
+ },
91
+ };
92
+ /**
93
+ * `shrk provenance missing`. Lists local-asset entries that have no
94
+ * provenance ledger record. Old entries are exempted (advisory only).
95
+ */
96
+ export const provenanceMissingCommand = {
97
+ name: 'missing',
98
+ description: 'List local assets (rules / knowledge / templates) without provenance entries. Advisory.',
99
+ usage: 'shrk provenance missing [--kind <kind>] [--json]',
100
+ async run(args) {
101
+ const cwd = resolveCwd(args);
102
+ const inspection = await inspectSharkcraft({ cwd });
103
+ const ledger = readProvenance(cwd);
104
+ const seen = new Set();
105
+ for (const entry of ledger) {
106
+ seen.add(`${entry.assetKind}:${entry.assetId}`);
107
+ }
108
+ const kindFilter = flagString(args, 'kind');
109
+ const missing = [];
110
+ for (const k of inspection.knowledgeEntries) {
111
+ const sourceInfo = inspection.entrySources.get(k.id);
112
+ if (sourceInfo?.type !== 'local')
113
+ continue; // only flag local — pack assets have their own provenance flow
114
+ const kind = k.type === 'rule' ? 'rule' : 'knowledge';
115
+ if (kindFilter && kindFilter !== kind)
116
+ continue;
117
+ const ledgerKey = `${kind}:${k.id}`;
118
+ if (seen.has(ledgerKey))
119
+ continue;
120
+ // Asset-kind name in ledger may also be the literal entry.type — try both.
121
+ if (seen.has(`${k.type}:${k.id}`))
122
+ continue;
123
+ missing.push({ kind, id: k.id, title: k.title, source: 'local' });
124
+ }
125
+ for (const t of inspection.templates) {
126
+ const sourceInfo = inspection.templateSources.get(t.id);
127
+ if (sourceInfo?.type !== 'local')
128
+ continue;
129
+ if (kindFilter && kindFilter !== 'template')
130
+ continue;
131
+ if (seen.has(`template:${t.id}`))
132
+ continue;
133
+ missing.push({
134
+ kind: 'template',
135
+ id: t.id,
136
+ title: t.title,
137
+ source: 'local',
138
+ });
139
+ }
140
+ if (flagBool(args, 'json')) {
141
+ process.stdout.write(asJson({
142
+ schema: 'sharkcraft.provenance-missing/v1',
143
+ generatedAt: new Date().toISOString(),
144
+ missing,
145
+ total: missing.length,
146
+ }) + '\n');
147
+ return 0;
148
+ }
149
+ process.stdout.write(header(`Assets without provenance (${missing.length})`));
150
+ if (missing.length === 0) {
151
+ process.stdout.write(' All local assets have at least one provenance entry. ✓\n');
152
+ return 0;
153
+ }
154
+ for (const m of missing.slice(0, 100)) {
155
+ process.stdout.write(` ${m.kind.padEnd(10)} ${m.id}${m.title ? ` — ${m.title}` : ''}\n`);
156
+ }
157
+ process.stdout.write('\nNote: missing provenance is advisory. Use the authoring CLI ' +
158
+ '(`shrk knowledge update <id> --reason "..."`, `shrk rules scaffold ...`) ' +
159
+ 'to record a record going forward.\n');
160
+ return 0;
161
+ },
162
+ };
163
+ /**
164
+ * `shrk provenance doctor`. Schema-validates every ledger entry:
165
+ * required fields present, generatedAt parses, operation/source match
166
+ * the enums.
167
+ */
168
+ export const provenanceDoctorCommand = {
169
+ name: 'doctor',
170
+ description: 'Validate the provenance ledger — schema + required fields.',
171
+ usage: 'shrk provenance doctor [--json]',
172
+ async run(args) {
173
+ const cwd = resolveCwd(args);
174
+ const ledger = readProvenance(cwd);
175
+ const validOperations = new Set([
176
+ 'add',
177
+ 'update',
178
+ 'remove',
179
+ 'preview',
180
+ 'apply',
181
+ 'acknowledge',
182
+ ]);
183
+ const validSources = new Set(['manual', 'agent', 'cli', 'session', 'unknown']);
184
+ const issues = [];
185
+ for (let i = 0; i < ledger.length; i += 1) {
186
+ const e = ledger[i];
187
+ if (!e.assetId)
188
+ issues.push({ index: i, issue: 'missing assetId' });
189
+ if (!e.assetKind)
190
+ issues.push({ index: i, assetId: e.assetId, issue: 'missing assetKind' });
191
+ if (!e.generatedAt || Number.isNaN(Date.parse(e.generatedAt))) {
192
+ issues.push({
193
+ index: i,
194
+ assetId: e.assetId,
195
+ issue: `invalid generatedAt: ${e.generatedAt}`,
196
+ });
197
+ }
198
+ if (!validOperations.has(e.operation)) {
199
+ issues.push({
200
+ index: i,
201
+ assetId: e.assetId,
202
+ issue: `unknown operation: ${e.operation}`,
203
+ });
204
+ }
205
+ if (!validSources.has(e.source)) {
206
+ issues.push({
207
+ index: i,
208
+ assetId: e.assetId,
209
+ issue: `unknown source: ${e.source}`,
210
+ });
211
+ }
212
+ }
213
+ const ok = issues.length === 0;
214
+ if (flagBool(args, 'json')) {
215
+ process.stdout.write(asJson({
216
+ schema: 'sharkcraft.provenance-doctor/v1',
217
+ generatedAt: new Date().toISOString(),
218
+ total: ledger.length,
219
+ issues,
220
+ ok,
221
+ }) + '\n');
222
+ return ok ? 0 : 1;
223
+ }
224
+ process.stdout.write(header(`Provenance ledger doctor`));
225
+ process.stdout.write(` total entries: ${ledger.length}\n`);
226
+ process.stdout.write(` issues: ${issues.length}\n`);
227
+ if (issues.length === 0) {
228
+ process.stdout.write('\n Ledger is valid. ✓\n');
229
+ return 0;
230
+ }
231
+ process.stdout.write('\nIssues:\n');
232
+ for (const issue of issues.slice(0, 50)) {
233
+ process.stdout.write(` ! [${issue.index}] ${issue.assetId ?? '(no id)'} — ${issue.issue}\n`);
234
+ }
235
+ return 1;
236
+ },
237
+ };
@@ -0,0 +1,5 @@
1
+ import { type IQualityReport } from '@shrkcrft/inspector';
2
+ import { type ICommandHandler } from '../command-registry.js';
3
+ export declare const qualityCommand: ICommandHandler;
4
+ export type { IQualityReport };
5
+ //# sourceMappingURL=quality.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality.command.d.ts","sourceRoot":"","sources":["../../src/commands/quality.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAOhC,eAAO,MAAM,cAAc,EAAE,eAqE5B,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { buildQualityReport, inspectSharkcraft, } from '@shrkcrft/inspector';
2
+ import { flagBool, flagNumber, resolveCwd, } from "../command-registry.js";
3
+ import { asJson, header, kv } from "../output/format-output.js";
4
+ // `quality baseline {create|compare|update|show|diff|prune|history}`
5
+ // removed. The baseline machinery was hidden / unused; `doctor` and
6
+ // `drift` cover the actionable cases.
7
+ export const qualityCommand = {
8
+ name: 'quality',
9
+ description: 'High-level quality gate: orchestrates doctor / boundaries / coverage / drift / context tests / agent tests / packs doctor. Designed to be the single command to run locally before opening a PR or in CI.',
10
+ usage: 'shrk [--cwd <dir>] quality [--strict] [--ci] [--min-readiness <n>] [--require-boundary-clean] [--require-drift-clean] [--require-agent-tests] [--require-context-tests] [--require-pack-signatures] [--json]',
11
+ async run(args) {
12
+ const cwd = resolveCwd(args);
13
+ const strict = flagBool(args, 'strict');
14
+ const ci = flagBool(args, 'ci');
15
+ const wantJson = flagBool(args, 'json') || ci;
16
+ const inspection = await inspectSharkcraft({
17
+ cwd,
18
+ ...(flagBool(args, 'require-pack-signatures') ? { verifyPackSignatures: true } : {}),
19
+ });
20
+ const cfgGates = inspection.config?.qualityGates ?? {};
21
+ const config = {
22
+ ...cfgGates,
23
+ ...(flagNumber(args, 'min-readiness') !== undefined
24
+ ? { minReadiness: flagNumber(args, 'min-readiness') }
25
+ : {}),
26
+ ...(flagBool(args, 'require-boundary-clean') ? { requireBoundaryClean: true } : {}),
27
+ ...(flagBool(args, 'require-drift-clean') ? { requireDriftClean: true } : {}),
28
+ ...(flagBool(args, 'require-agent-tests') ? { requireAgentTests: true } : {}),
29
+ ...(flagBool(args, 'require-context-tests') ? { requireContextTests: true } : {}),
30
+ ...(flagBool(args, 'require-pack-signatures') ? { requirePackSignatures: true } : {}),
31
+ };
32
+ const report = await buildQualityReport({ inspection, config, strict });
33
+ if (wantJson) {
34
+ process.stdout.write(asJson(report) + '\n');
35
+ return report.overall === 'fail' ? 1 : 0;
36
+ }
37
+ process.stdout.write(header('SharkCraft quality gate'));
38
+ process.stdout.write(kv('overall', report.overall) + '\n');
39
+ process.stdout.write(kv('score', `${report.score}%`) + '\n');
40
+ process.stdout.write(kv('blockers', String(report.blockers)) + '\n');
41
+ process.stdout.write(kv('warnings', String(report.warnings)) + '\n\n');
42
+ for (const g of report.gates) {
43
+ const tag = !g.executed
44
+ ? 'SKIP '
45
+ : g.passed
46
+ ? 'OK '
47
+ : g.blocking
48
+ ? 'BLOCK'
49
+ : 'WARN ';
50
+ process.stdout.write(` ${tag} ${g.label}\n`);
51
+ for (const n of g.notes)
52
+ process.stdout.write(` ↳ ${n}\n`);
53
+ }
54
+ if (report.drift && (report.drift.counts.error > 0 || report.drift.counts.warning > 0)) {
55
+ process.stdout.write('\nDrift summary:\n');
56
+ process.stdout.write(` errors=${report.drift.counts.error} warnings=${report.drift.counts.warning} info=${report.drift.counts.info}\n`);
57
+ for (const f of report.drift.findings.slice(0, 5)) {
58
+ process.stdout.write(` • ${f.severity}: ${f.category} — ${f.message}\n`);
59
+ }
60
+ }
61
+ if (report.nextRecommendations.length > 0) {
62
+ process.stdout.write('\nRecommendations:\n');
63
+ for (const r of report.nextRecommendations)
64
+ process.stdout.write(` • ${r}\n`);
65
+ }
66
+ process.stdout.write(`\nVerdict: ${report.overall.toUpperCase()}\n`);
67
+ return report.overall === 'fail' ? 1 : 0;
68
+ },
69
+ };
@@ -0,0 +1,4 @@
1
+ import { type ICommandHandler } from '../command-registry.js';
2
+ export declare const recommendCommand: ICommandHandler;
3
+ export declare function looksLikePlanning(query: string): boolean;
4
+ //# sourceMappingURL=recommend.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommend.command.d.ts","sourceRoot":"","sources":["../../src/commands/recommend.command.ts"],"names":[],"mappings":"AASA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAShC,eAAO,MAAM,gBAAgB,EAAE,eA0K9B,CAAC;AAoGF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAcxD"}