@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,811 @@
1
+ /**
2
+ * Hand-written JSON Schemas for SharkCraft's external surfaces. We use these
3
+ * for `shrk schemas list/get/write`. Inferring schemas from zod is also
4
+ * possible (and would cover more types) but hand-written schemas are clearer
5
+ * for the few types external tooling cares about.
6
+ */
7
+ export const PackManifestSchema = {
8
+ $schema: 'https://json-schema.org/draft-07/schema',
9
+ $id: 'https://shrkcrft.dev/schemas/pack-manifest.json',
10
+ title: 'SharkCraft Pack Manifest',
11
+ type: 'object',
12
+ additionalProperties: true,
13
+ required: ['schema', 'info', 'contributions'],
14
+ properties: {
15
+ schema: { const: 'sharkcraft.pack/v1' },
16
+ info: {
17
+ type: 'object',
18
+ required: ['name', 'version'],
19
+ properties: {
20
+ name: { type: 'string' },
21
+ version: { type: 'string' },
22
+ description: { type: 'string' },
23
+ author: { type: 'string' },
24
+ homepage: { type: 'string' },
25
+ license: { type: 'string' },
26
+ },
27
+ },
28
+ contributions: {
29
+ type: 'object',
30
+ properties: {
31
+ knowledgeFiles: { type: 'array', items: { type: 'string' } },
32
+ ruleFiles: { type: 'array', items: { type: 'string' } },
33
+ pathFiles: { type: 'array', items: { type: 'string' } },
34
+ templateFiles: { type: 'array', items: { type: 'string' } },
35
+ pipelineFiles: { type: 'array', items: { type: 'string' } },
36
+ docsFiles: { type: 'array', items: { type: 'string' } },
37
+ },
38
+ },
39
+ postInstallNotes: { type: 'array', items: { type: 'string' } },
40
+ },
41
+ };
42
+ export const SavedPlanSchema = {
43
+ $schema: 'https://json-schema.org/draft-07/schema',
44
+ $id: 'https://shrkcrft.dev/schemas/saved-plan.json',
45
+ title: 'SharkCraft Saved Plan',
46
+ type: 'object',
47
+ additionalProperties: false,
48
+ required: ['schema', 'templateId', 'variables', 'projectRoot', 'createdAt'],
49
+ properties: {
50
+ schema: { const: 'sharkcraft.plan/v1' },
51
+ templateId: { type: 'string', minLength: 1 },
52
+ name: { type: 'string' },
53
+ variables: {
54
+ type: 'object',
55
+ additionalProperties: { type: 'string' },
56
+ },
57
+ projectRoot: { type: 'string', minLength: 1 },
58
+ createdAt: { type: 'string' },
59
+ expectedChanges: {
60
+ type: 'array',
61
+ items: {
62
+ type: 'object',
63
+ required: ['type', 'relativePath', 'sizeBytes'],
64
+ properties: {
65
+ type: { type: 'string' },
66
+ relativePath: { type: 'string' },
67
+ sizeBytes: { type: 'integer', minimum: 0 },
68
+ },
69
+ },
70
+ },
71
+ note: { type: 'string' },
72
+ signature: {
73
+ type: 'object',
74
+ required: ['algo', 'hmac', 'signedAt'],
75
+ properties: {
76
+ algo: { const: 'sha256' },
77
+ hmac: { type: 'string', minLength: 1 },
78
+ signedAt: { type: 'string' },
79
+ },
80
+ },
81
+ },
82
+ };
83
+ export const ActionHintsSchema = {
84
+ $schema: 'https://json-schema.org/draft-07/schema',
85
+ $id: 'https://shrkcrft.dev/schemas/action-hints.json',
86
+ title: 'SharkCraft Action Hints',
87
+ type: 'object',
88
+ additionalProperties: false,
89
+ properties: {
90
+ commands: {
91
+ type: 'array',
92
+ items: {
93
+ type: 'object',
94
+ required: ['command'],
95
+ properties: {
96
+ command: { type: 'string' },
97
+ purpose: { type: 'string' },
98
+ when: { type: 'string' },
99
+ required: { type: 'boolean' },
100
+ },
101
+ },
102
+ },
103
+ mcpTools: {
104
+ type: 'array',
105
+ items: {
106
+ type: 'object',
107
+ required: ['tool'],
108
+ properties: {
109
+ tool: { type: 'string' },
110
+ purpose: { type: 'string' },
111
+ when: { type: 'string' },
112
+ required: { type: 'boolean' },
113
+ },
114
+ },
115
+ },
116
+ preferredFlow: { type: 'array', items: { type: 'string' } },
117
+ forbiddenActions: { type: 'array', items: { type: 'string' } },
118
+ relatedTemplates: { type: 'array', items: { type: 'string' } },
119
+ relatedPathConventions: { type: 'array', items: { type: 'string' } },
120
+ relatedKnowledge: { type: 'array', items: { type: 'string' } },
121
+ verificationCommands: { type: 'array', items: { type: 'string' } },
122
+ safetyNotes: { type: 'array', items: { type: 'string' } },
123
+ requiresHumanReview: { type: 'boolean' },
124
+ writePolicy: { enum: ['cli-only', 'mcp-allowed', 'none'] },
125
+ },
126
+ };
127
+ export const PipelineDefinitionSchema = {
128
+ $schema: 'https://json-schema.org/draft-07/schema',
129
+ $id: 'https://shrkcrft.dev/schemas/pipeline-definition.json',
130
+ title: 'SharkCraft Pipeline Definition',
131
+ type: 'object',
132
+ required: ['id', 'title', 'description', 'steps'],
133
+ properties: {
134
+ id: { type: 'string' },
135
+ title: { type: 'string' },
136
+ description: { type: 'string' },
137
+ tags: { type: 'array', items: { type: 'string' } },
138
+ scope: { type: 'array', items: { type: 'string' } },
139
+ appliesWhen: { type: 'array', items: { type: 'string' } },
140
+ inputs: {
141
+ type: 'array',
142
+ items: {
143
+ type: 'object',
144
+ required: ['name'],
145
+ properties: {
146
+ name: { type: 'string' },
147
+ description: { type: 'string' },
148
+ required: { type: 'boolean' },
149
+ default: { type: 'string' },
150
+ choices: { type: 'array', items: { type: 'string' } },
151
+ },
152
+ },
153
+ },
154
+ steps: {
155
+ type: 'array',
156
+ minItems: 1,
157
+ items: {
158
+ type: 'object',
159
+ required: ['id', 'type'],
160
+ properties: {
161
+ id: { type: 'string' },
162
+ type: {
163
+ enum: ['context', 'agent', 'generation-plan', 'apply-plan', 'command', 'mcp-tool'],
164
+ },
165
+ description: { type: 'string' },
166
+ mcpTools: { type: 'array', items: { type: 'string' } },
167
+ cliCommands: { type: 'array', items: { type: 'string' } },
168
+ instruction: { type: 'string' },
169
+ required: { type: 'boolean' },
170
+ humanReview: { type: 'boolean' },
171
+ enabledWhen: { type: 'string' },
172
+ references: { type: 'array', items: { type: 'string' } },
173
+ },
174
+ },
175
+ },
176
+ notes: { type: 'array', items: { type: 'string' } },
177
+ },
178
+ };
179
+ export const KnowledgeEntrySchema = {
180
+ $schema: 'https://json-schema.org/draft-07/schema',
181
+ $id: 'https://shrkcrft.dev/schemas/knowledge-entry.json',
182
+ title: 'SharkCraft Knowledge Entry',
183
+ type: 'object',
184
+ required: ['id', 'title', 'type', 'priority', 'content'],
185
+ properties: {
186
+ id: {
187
+ type: 'string',
188
+ pattern: '^[a-z0-9]+([.-][a-z0-9]+)*$',
189
+ },
190
+ title: { type: 'string' },
191
+ type: {
192
+ type: 'string',
193
+ // Open enum — custom types are allowed.
194
+ },
195
+ priority: { enum: ['critical', 'high', 'medium', 'low'] },
196
+ scope: { type: 'array', items: { type: 'string' } },
197
+ tags: { type: 'array', items: { type: 'string' } },
198
+ appliesWhen: { type: 'array', items: { type: 'string' } },
199
+ content: { type: 'string' },
200
+ summary: { type: 'string' },
201
+ actionHints: { $ref: 'action-hints.json' },
202
+ },
203
+ };
204
+ export const AdoptionStateSchema = {
205
+ $schema: 'https://json-schema.org/draft-07/schema',
206
+ $id: 'https://shrkcrft.dev/schemas/adoption-state.json',
207
+ title: 'SharkCraft Adoption State',
208
+ type: 'object',
209
+ required: ['schema', 'projectRoot', 'createdAt', 'updatedAt', 'patchPath'],
210
+ properties: {
211
+ schema: { const: 'sharkcraft.adoption-state/v1' },
212
+ projectRoot: { type: 'string' },
213
+ createdAt: { type: 'string' },
214
+ updatedAt: { type: 'string' },
215
+ sharkcraftVersion: { type: 'string' },
216
+ command: { type: 'string' },
217
+ sourceDraftFiles: {
218
+ type: 'array',
219
+ items: {
220
+ type: 'object',
221
+ required: ['relativePath', 'hash'],
222
+ properties: { relativePath: { type: 'string' }, hash: { type: 'string' } },
223
+ },
224
+ },
225
+ targetFiles: {
226
+ type: 'array',
227
+ items: {
228
+ type: 'object',
229
+ required: ['relativePath', 'hash'],
230
+ properties: { relativePath: { type: 'string' }, hash: { type: 'string' } },
231
+ },
232
+ },
233
+ generatedFiles: { type: 'array', items: { type: 'string' } },
234
+ patchPath: { type: 'string' },
235
+ summaryPath: { type: 'string' },
236
+ reportPath: { type: 'string' },
237
+ diffFormat: { enum: ['pseudo', 'unified'] },
238
+ confidenceThreshold: { enum: ['high', 'medium', 'low'] },
239
+ includedKinds: { type: 'array', items: { type: 'string' } },
240
+ excludedKinds: { type: 'array', items: { type: 'string' } },
241
+ categories: {
242
+ type: 'object',
243
+ additionalProperties: { type: 'array', items: { type: 'string' } },
244
+ },
245
+ freshness: {
246
+ type: 'object',
247
+ properties: {
248
+ status: { enum: ['fresh', 'stale', 'unknown'] },
249
+ staleReasons: { type: 'array', items: { type: 'string' } },
250
+ },
251
+ },
252
+ warnings: { type: 'array', items: { type: 'string' } },
253
+ nextCommands: { type: 'array', items: { type: 'string' } },
254
+ },
255
+ };
256
+ export const AdoptionSummarySchema = {
257
+ $schema: 'https://json-schema.org/draft-07/schema',
258
+ $id: 'https://shrkcrft.dev/schemas/adoption-summary.json',
259
+ title: 'SharkCraft Adoption Summary',
260
+ type: 'object',
261
+ required: ['confidence', 'summary', 'items', 'format', 'targets'],
262
+ properties: {
263
+ confidence: { enum: ['high', 'medium', 'low'] },
264
+ summary: { type: 'object', additionalProperties: { type: 'integer' } },
265
+ items: { type: 'array' },
266
+ format: { enum: ['pseudo', 'unified'] },
267
+ targets: { type: 'array' },
268
+ },
269
+ };
270
+ export const ScaffoldPatternSchema = {
271
+ $schema: 'https://json-schema.org/draft-07/schema',
272
+ $id: 'https://shrkcrft.dev/schemas/scaffold-pattern.json',
273
+ title: 'SharkCraft Scaffold Pattern',
274
+ type: 'object',
275
+ required: ['id', 'title', 'description', 'matchPaths', 'templateId', 'variables', 'appliesWhen', 'confidence'],
276
+ properties: {
277
+ id: { type: 'string' },
278
+ title: { type: 'string' },
279
+ description: { type: 'string' },
280
+ matchPaths: { type: 'array', items: { type: 'string' }, minItems: 1 },
281
+ excludePaths: { type: 'array', items: { type: 'string' } },
282
+ templateId: { type: 'string' },
283
+ variables: {
284
+ type: 'array',
285
+ items: {
286
+ type: 'object',
287
+ required: ['name', 'from'],
288
+ properties: {
289
+ name: { type: 'string' },
290
+ from: { type: 'string' },
291
+ description: { type: 'string' },
292
+ },
293
+ },
294
+ },
295
+ appliesWhen: { type: 'array', items: { type: 'string' }, minItems: 1 },
296
+ confidence: { enum: ['high', 'medium', 'low'] },
297
+ tags: { type: 'array', items: { type: 'string' } },
298
+ notes: { type: 'array', items: { type: 'string' } },
299
+ requiredEvidence: { type: 'array', items: { type: 'string' } },
300
+ },
301
+ };
302
+ export const InferredTemplateCandidateV2Schema = {
303
+ $schema: 'https://json-schema.org/draft-07/schema',
304
+ $id: 'https://shrkcrft.dev/schemas/inferred-template-candidate-v2.json',
305
+ title: 'SharkCraft Inferred Template Candidate v2',
306
+ type: 'object',
307
+ required: ['schema', 'sample'],
308
+ properties: {
309
+ schema: { const: 'sharkcraft.inferred-template-candidate/v2' },
310
+ sample: { type: 'string' },
311
+ matchedPattern: {
312
+ type: 'object',
313
+ properties: {
314
+ id: { type: 'string' },
315
+ templateId: { type: 'string' },
316
+ source: { type: 'string' },
317
+ confidence: { enum: ['high', 'medium', 'low'] },
318
+ },
319
+ },
320
+ scaffold: { type: 'object' },
321
+ variables: { type: 'object', additionalProperties: { type: 'string' } },
322
+ warnings: { type: 'array', items: { type: 'string' } },
323
+ suggestedCommand: { type: 'string' },
324
+ },
325
+ };
326
+ export const QualityReportSchema = {
327
+ $schema: 'https://json-schema.org/draft-07/schema',
328
+ $id: 'https://shrkcrft.dev/schemas/quality-report.json',
329
+ title: 'SharkCraft Quality Report',
330
+ type: 'object',
331
+ required: ['overall', 'gates', 'score'],
332
+ properties: {
333
+ overall: { enum: ['pass', 'warn', 'fail'] },
334
+ blockers: { type: 'integer' },
335
+ warnings: { type: 'integer' },
336
+ score: { type: 'integer' },
337
+ gates: { type: 'array' },
338
+ drift: { type: 'object' },
339
+ note: { type: 'string' },
340
+ nextCommand: { type: 'string' },
341
+ nextRecommendations: { type: 'array', items: { type: 'string' } },
342
+ },
343
+ };
344
+ export const SafetyAuditSchema = {
345
+ $schema: 'https://json-schema.org/draft-07/schema',
346
+ $id: 'https://shrkcrft.dev/schemas/safety-audit.json',
347
+ title: 'SharkCraft Safety Audit',
348
+ type: 'object',
349
+ required: ['mcp', 'commands'],
350
+ properties: {
351
+ mcp: {
352
+ type: 'object',
353
+ properties: {
354
+ anyWritable: { type: 'boolean' },
355
+ tools: { type: 'array' },
356
+ },
357
+ },
358
+ commands: { type: 'object' },
359
+ verifications: { type: 'object' },
360
+ packs: { type: 'object' },
361
+ planSigning: { type: 'object' },
362
+ recommendations: { type: 'array', items: { type: 'string' } },
363
+ },
364
+ };
365
+ export const DevSessionStateSchema = {
366
+ $schema: 'https://json-schema.org/draft-07/schema',
367
+ $id: 'https://shrkcrft.dev/schemas/dev-session-state.json',
368
+ title: 'SharkCraft Dev Session State',
369
+ type: 'object',
370
+ required: ['schema', 'id', 'task', 'phase'],
371
+ properties: {
372
+ schema: { const: 'sharkcraft.dev-session/v1' },
373
+ id: { type: 'string' },
374
+ task: { type: 'string' },
375
+ createdAt: { type: 'string' },
376
+ updatedAt: { type: 'string' },
377
+ phase: { type: 'string' },
378
+ projectRoot: { type: 'string' },
379
+ selectedPipeline: { type: ['string', 'null'] },
380
+ selectedTemplates: { type: 'array', items: { type: 'string' } },
381
+ plans: { type: 'array' },
382
+ reports: { type: 'array', items: { type: 'string' } },
383
+ validations: { type: 'array' },
384
+ appliedPlans: { type: 'array' },
385
+ nextAction: { type: ['string', 'null'] },
386
+ warnings: { type: 'array', items: { type: 'string' } },
387
+ },
388
+ };
389
+ export const DashboardApiEnvelopeSchema = {
390
+ $schema: 'https://json-schema.org/draft-07/schema',
391
+ $id: 'https://shrkcrft.dev/schemas/dashboard-api-envelope.json',
392
+ title: 'SharkCraft Dashboard API Envelope',
393
+ type: 'object',
394
+ required: ['schema', 'generatedAt', 'projectRoot', 'data'],
395
+ properties: {
396
+ schema: { const: 'sharkcraft.dashboard-api/v1' },
397
+ generatedAt: { type: 'string' },
398
+ projectRoot: { type: 'string', minLength: 1 },
399
+ commandHints: { type: 'array', items: { type: 'string' } },
400
+ warnings: { type: 'array', items: { type: 'string' } },
401
+ available: { type: 'boolean' },
402
+ apiVersion: { type: 'string' },
403
+ data: {},
404
+ },
405
+ };
406
+ export const DashboardOverviewResponseSchema = {
407
+ $schema: 'https://json-schema.org/draft-07/schema',
408
+ $id: 'https://shrkcrft.dev/schemas/dashboard-overview-response.json',
409
+ title: 'SharkCraft Dashboard Overview Response',
410
+ type: 'object',
411
+ required: ['readiness', 'sharkcraftPresent', 'configPresent', 'summary', 'topRecommendations', 'featureAvailability'],
412
+ properties: {
413
+ readiness: {
414
+ type: 'object',
415
+ required: ['score', 'verdict'],
416
+ properties: { score: { type: 'number' }, verdict: { type: 'string' } },
417
+ },
418
+ sharkcraftPresent: { type: 'boolean' },
419
+ configPresent: { type: 'boolean' },
420
+ summary: {
421
+ type: 'object',
422
+ properties: {
423
+ rules: { type: 'integer' },
424
+ paths: { type: 'integer' },
425
+ templates: { type: 'integer' },
426
+ pipelines: { type: 'integer' },
427
+ presets: { type: 'integer' },
428
+ packs: { type: 'integer' },
429
+ scaffoldPatterns: { type: 'integer' },
430
+ knowledgeEntries: { type: 'integer' },
431
+ },
432
+ },
433
+ topRecommendations: { type: 'array', items: { type: 'string' } },
434
+ featureAvailability: { type: 'object', additionalProperties: { type: 'boolean' } },
435
+ },
436
+ };
437
+ export const DashboardAdoptionResponseSchema = {
438
+ $schema: 'https://json-schema.org/draft-07/schema',
439
+ $id: 'https://shrkcrft.dev/schemas/dashboard-adoption-response.json',
440
+ title: 'SharkCraft Dashboard Adoption Response',
441
+ type: 'object',
442
+ required: ['available', 'nextCommands', 'artifacts'],
443
+ properties: {
444
+ available: { type: 'boolean' },
445
+ state: { type: 'object' },
446
+ nextCommands: { type: 'array' },
447
+ artifacts: { type: 'array' },
448
+ },
449
+ };
450
+ export const DashboardSessionResponseSchema = {
451
+ $schema: 'https://json-schema.org/draft-07/schema',
452
+ $id: 'https://shrkcrft.dev/schemas/dashboard-session-response.json',
453
+ title: 'SharkCraft Dashboard Session Response',
454
+ type: 'object',
455
+ required: ['available', 'sessionId', 'artifacts', 'commandHints'],
456
+ properties: {
457
+ available: { type: 'boolean' },
458
+ sessionId: { type: 'string' },
459
+ task: { type: 'string' },
460
+ status: { type: 'string' },
461
+ startedAt: { type: 'string' },
462
+ endedAt: { type: 'string' },
463
+ artifacts: { type: 'array' },
464
+ plans: { type: 'array' },
465
+ reports: { type: 'array' },
466
+ commandHints: { type: 'array' },
467
+ },
468
+ };
469
+ export const AdoptionMergePreviewSchema = {
470
+ $schema: 'https://json-schema.org/draft-07/schema',
471
+ $id: 'https://shrkcrft.dev/schemas/adoption-merge-preview.json',
472
+ title: 'SharkCraft Adoption Merge Preview',
473
+ type: 'object',
474
+ required: ['schema', 'targets', 'safeBlocks', 'manualReview', 'lowConfidenceSkipped'],
475
+ properties: {
476
+ schema: { const: 'sharkcraft.adoption-merge-preview/v1' },
477
+ targets: { type: 'array' },
478
+ safeBlocks: { type: 'array' },
479
+ manualReview: { type: 'array' },
480
+ lowConfidenceSkipped: { type: 'array' },
481
+ existingCoverage: { type: 'array' },
482
+ conflicts: { type: 'array' },
483
+ patchFreshness: { type: 'object' },
484
+ recommendedCommands: { type: 'array', items: { type: 'string' } },
485
+ },
486
+ };
487
+ export const AdoptionReportSchema = {
488
+ $schema: 'https://json-schema.org/draft-07/schema',
489
+ $id: 'https://shrkcrft.dev/schemas/adoption-report.json',
490
+ title: 'SharkCraft Adoption Report',
491
+ type: 'object',
492
+ required: ['schema'],
493
+ properties: {
494
+ schema: { const: 'sharkcraft.adoption-report/v1' },
495
+ summary: { type: 'object' },
496
+ categories: { type: 'object' },
497
+ targets: { type: 'array' },
498
+ patchPath: { type: 'string' },
499
+ safeToAdopt: { type: 'array' },
500
+ manualReview: { type: 'array' },
501
+ conflicts: { type: 'array' },
502
+ lowConfidence: { type: 'array' },
503
+ recommendedCommands: { type: 'array', items: { type: 'string' } },
504
+ safetyModel: { type: 'object' },
505
+ },
506
+ };
507
+ export const FeatureBundleSchema = {
508
+ $schema: 'https://json-schema.org/draft-07/schema',
509
+ $id: 'https://shrkcrft.dev/schemas/feature-bundle.json',
510
+ title: 'SharkCraft Feature Workflow Bundle',
511
+ type: 'object',
512
+ additionalProperties: true,
513
+ required: ['schema', 'id', 'task', 'status'],
514
+ properties: {
515
+ schema: { const: 'sharkcraft.feature-bundle/v1' },
516
+ id: { type: 'string' },
517
+ task: { type: 'string' },
518
+ status: { type: 'string' },
519
+ plans: { type: 'array' },
520
+ planGroups: { type: 'array' },
521
+ dependencies: { type: 'array' },
522
+ validations: { type: 'array' },
523
+ affectedFiles: { type: 'array', items: { type: 'string' } },
524
+ affectedAreas: { type: 'array', items: { type: 'string' } },
525
+ riskLevel: { type: 'string' },
526
+ nextAction: { type: ['string', 'null'] },
527
+ },
528
+ };
529
+ export const PlanDependencyGraphSchema = {
530
+ $schema: 'https://json-schema.org/draft-07/schema',
531
+ $id: 'https://shrkcrft.dev/schemas/plan-dependency-graph.json',
532
+ title: 'SharkCraft Plan Dependency Graph',
533
+ type: 'object',
534
+ required: ['schema', 'bundleId', 'nodes', 'edges'],
535
+ properties: {
536
+ schema: { const: 'sharkcraft.plan-dependency-graph/v1' },
537
+ bundleId: { type: 'string' },
538
+ nodes: { type: 'array' },
539
+ edges: { type: 'array' },
540
+ order: { type: 'array' },
541
+ },
542
+ };
543
+ export const AreaMapSchema = {
544
+ $schema: 'https://json-schema.org/draft-07/schema',
545
+ $id: 'https://shrkcrft.dev/schemas/area-map.json',
546
+ title: 'SharkCraft Repository Area Map',
547
+ type: 'object',
548
+ required: ['schema', 'projectRoot', 'areas'],
549
+ properties: {
550
+ schema: { const: 'sharkcraft.area-map/v1' },
551
+ projectRoot: { type: 'string' },
552
+ areas: { type: 'array' },
553
+ unclassifiedFiles: { type: 'integer' },
554
+ },
555
+ };
556
+ export const ImpactAnalysisSchema = {
557
+ $schema: 'https://json-schema.org/draft-07/schema',
558
+ $id: 'https://shrkcrft.dev/schemas/impact-analysis.json',
559
+ title: 'SharkCraft Impact Analysis',
560
+ type: 'object',
561
+ required: ['schema', 'task'],
562
+ properties: {
563
+ schema: { const: 'sharkcraft.impact-analysis/v1' },
564
+ task: { type: 'string' },
565
+ risk: { type: 'string' },
566
+ affectedFiles: { type: 'array' },
567
+ affectedAreas: { type: 'array' },
568
+ },
569
+ };
570
+ export const TestImpactSchema = {
571
+ $schema: 'https://json-schema.org/draft-07/schema',
572
+ $id: 'https://shrkcrft.dev/schemas/test-impact.json',
573
+ title: 'SharkCraft Test Impact',
574
+ type: 'object',
575
+ required: ['schema'],
576
+ properties: {
577
+ schema: { const: 'sharkcraft.test-impact/v1' },
578
+ likelyTestFiles: { type: 'array' },
579
+ missingTestFiles: { type: 'array' },
580
+ confidence: { type: 'integer' },
581
+ },
582
+ };
583
+ export const OwnershipRuleSchema = {
584
+ $schema: 'https://json-schema.org/draft-07/schema',
585
+ $id: 'https://shrkcrft.dev/schemas/ownership-rule.json',
586
+ title: 'SharkCraft Ownership Rule',
587
+ type: 'object',
588
+ required: ['id', 'title', 'paths', 'owners'],
589
+ properties: {
590
+ id: { type: 'string' },
591
+ title: { type: 'string' },
592
+ paths: { type: 'array', items: { type: 'string' } },
593
+ owners: { type: 'array', items: { type: 'string' } },
594
+ reviewers: { type: 'array', items: { type: 'string' } },
595
+ requiredReview: { type: 'boolean' },
596
+ },
597
+ };
598
+ export const PolicyReportSchema = {
599
+ $schema: 'https://json-schema.org/draft-07/schema',
600
+ $id: 'https://shrkcrft.dev/schemas/policy-report.json',
601
+ title: 'SharkCraft Policy Report',
602
+ type: 'object',
603
+ required: ['schema', 'checks', 'summary'],
604
+ properties: {
605
+ schema: { const: 'sharkcraft.policy-report/v1' },
606
+ checks: { type: 'array' },
607
+ summary: { type: 'object' },
608
+ },
609
+ };
610
+ export const QualityBaselineSchema = {
611
+ $schema: 'https://json-schema.org/draft-07/schema',
612
+ $id: 'https://shrkcrft.dev/schemas/quality-baseline.json',
613
+ title: 'SharkCraft Quality Baseline',
614
+ type: 'object',
615
+ required: ['schema', 'createdAt', 'qualityScore'],
616
+ properties: {
617
+ schema: { const: 'sharkcraft.quality-baseline/v1' },
618
+ createdAt: { type: 'string' },
619
+ qualityScore: { type: 'number' },
620
+ blockers: { type: 'integer' },
621
+ warnings: { type: 'integer' },
622
+ gates: { type: 'array' },
623
+ },
624
+ };
625
+ export const DriftBaselineSchema = {
626
+ $schema: 'https://json-schema.org/draft-07/schema',
627
+ $id: 'https://shrkcrft.dev/schemas/drift-baseline.json',
628
+ title: 'SharkCraft Drift Baseline',
629
+ type: 'object',
630
+ required: ['schema', 'findings'],
631
+ properties: {
632
+ schema: { const: 'sharkcraft.drift-baseline/v1' },
633
+ findings: { type: 'array' },
634
+ },
635
+ };
636
+ export const ReviewPacketV2Schema = {
637
+ $schema: 'https://json-schema.org/draft-07/schema',
638
+ $id: 'https://shrkcrft.dev/schemas/review-packet-v2.json',
639
+ title: 'SharkCraft Review Packet v2',
640
+ type: 'object',
641
+ required: ['schema', 'base', 'impact'],
642
+ properties: {
643
+ schema: { const: 'sharkcraft.review-packet-v2/v1' },
644
+ base: { type: 'object' },
645
+ impact: { type: 'object' },
646
+ testImpact: { type: 'object' },
647
+ ownership: { type: 'object' },
648
+ policy: { type: 'object' },
649
+ riskScore: { type: 'integer' },
650
+ },
651
+ };
652
+ export const PackCompatibilitySchema = {
653
+ $schema: 'https://json-schema.org/draft-07/schema',
654
+ $id: 'https://shrkcrft.dev/schemas/pack-compatibility.json',
655
+ title: 'SharkCraft Pack Compatibility',
656
+ type: 'object',
657
+ required: ['schema', 'packageName', 'overall'],
658
+ properties: {
659
+ schema: { const: 'sharkcraft.pack-compatibility/v1' },
660
+ packageName: { type: 'string' },
661
+ overall: { type: 'string' },
662
+ hits: { type: 'array' },
663
+ },
664
+ };
665
+ export const PackQualityScoreSchema = {
666
+ $schema: 'https://json-schema.org/draft-07/schema',
667
+ $id: 'https://shrkcrft.dev/schemas/pack-quality-score.json',
668
+ title: 'SharkCraft Pack Quality Score',
669
+ type: 'object',
670
+ required: ['schema', 'packageName', 'overall'],
671
+ properties: {
672
+ schema: { const: 'sharkcraft.pack-quality-score/v1' },
673
+ packageName: { type: 'string' },
674
+ overall: { type: 'integer' },
675
+ dimensions: { type: 'array' },
676
+ },
677
+ };
678
+ export const ImportGraphAnalysisSchema = {
679
+ $schema: 'https://json-schema.org/draft-07/schema',
680
+ $id: 'https://shrkcrft.dev/schemas/import-graph-analysis.json',
681
+ title: 'SharkCraft Import Graph Analysis',
682
+ type: 'object',
683
+ required: ['schema'],
684
+ properties: {
685
+ schema: { const: 'sharkcraft.import-graph-analysis/v1' },
686
+ cycles: { type: 'array' },
687
+ topFanIn: { type: 'array' },
688
+ topFanOut: { type: 'array' },
689
+ orphans: { type: 'array' },
690
+ },
691
+ };
692
+ export const AgentContractSchema = {
693
+ $schema: 'https://json-schema.org/draft-07/schema',
694
+ $id: 'https://shrkcrft.dev/schemas/agent-contract.json',
695
+ title: 'SharkCraft Agent Contract',
696
+ type: 'object',
697
+ required: ['schema', 'task', 'role', 'mode'],
698
+ properties: {
699
+ schema: { const: 'sharkcraft.agent-contract/v1' },
700
+ task: { type: 'string' },
701
+ role: { type: 'string' },
702
+ mode: { type: 'string' },
703
+ allowedFiles: { type: 'array', items: { type: 'string' } },
704
+ forbiddenFiles: { type: 'array', items: { type: 'string' } },
705
+ allowedCommands: { type: 'array', items: { type: 'string' } },
706
+ forbiddenCommands: { type: 'array', items: { type: 'string' } },
707
+ requiredValidations: { type: 'array', items: { type: 'string' } },
708
+ requiredReviews: { type: 'array', items: { type: 'string' } },
709
+ requiredPlanReviews: { type: 'array', items: { type: 'string' } },
710
+ humanApprovalGates: { type: 'array', items: { type: 'string' } },
711
+ rollbackPlan: { type: 'array', items: { type: 'string' } },
712
+ definitionOfDone: { type: 'array', items: { type: 'string' } },
713
+ },
714
+ };
715
+ export const PlanSimulationSchema = {
716
+ $schema: 'https://json-schema.org/draft-07/schema',
717
+ $id: 'https://shrkcrft.dev/schemas/plan-simulation.json',
718
+ title: 'SharkCraft Plan Simulation Report',
719
+ type: 'object',
720
+ required: ['schema', 'source', 'planSchema', 'applyReadiness', 'files'],
721
+ properties: {
722
+ schema: { const: 'sharkcraft.plan-simulation/v1' },
723
+ source: { type: 'string' },
724
+ planSchema: { type: 'string' },
725
+ applyReadiness: { type: 'string' },
726
+ signature: { type: 'string' },
727
+ files: { type: 'array' },
728
+ potentialBoundaryConcerns: { type: 'array' },
729
+ planIntroducedBoundaryConcerns: { type: 'array' },
730
+ },
731
+ };
732
+ export const RepoMemorySchema = {
733
+ $schema: 'https://json-schema.org/draft-07/schema',
734
+ $id: 'https://shrkcrft.dev/schemas/repo-memory.json',
735
+ title: 'SharkCraft Repository Memory Index',
736
+ type: 'object',
737
+ required: ['schema', 'projectRoot', 'sourceCount'],
738
+ properties: {
739
+ schema: { const: 'sharkcraft.memory/v1' },
740
+ projectRoot: { type: 'string' },
741
+ sourceCount: { type: 'integer' },
742
+ files: { type: 'array' },
743
+ diagnostics: { type: 'array' },
744
+ },
745
+ };
746
+ export const HealingPlanSchema = {
747
+ $schema: 'https://json-schema.org/draft-07/schema',
748
+ $id: 'https://shrkcrft.dev/schemas/healing-plan.json',
749
+ title: 'SharkCraft Healing Plan',
750
+ type: 'object',
751
+ required: ['schema', 'inputKind', 'confidence', 'recommendedCommands'],
752
+ properties: {
753
+ schema: { const: 'sharkcraft.healing-plan/v1' },
754
+ inputKind: { type: 'string' },
755
+ confidence: { type: 'string' },
756
+ recommendedCommands: { type: 'array', items: { type: 'string' } },
757
+ safeRecoverySteps: { type: 'array', items: { type: 'string' } },
758
+ forbiddenQuickFixes: { type: 'array', items: { type: 'string' } },
759
+ },
760
+ };
761
+ export const ExecutionGraphSchema = {
762
+ $schema: 'https://json-schema.org/draft-07/schema',
763
+ $id: 'https://shrkcrft.dev/schemas/execution-graph.json',
764
+ title: 'SharkCraft Task Execution Graph',
765
+ type: 'object',
766
+ required: ['schema', 'task', 'nodes', 'edges'],
767
+ properties: {
768
+ schema: { const: 'sharkcraft.execution-graph/v1' },
769
+ task: { type: 'string' },
770
+ nodes: { type: 'array' },
771
+ edges: { type: 'array' },
772
+ },
773
+ };
774
+ export const ALL_SCHEMAS = Object.freeze({
775
+ 'pack-manifest': PackManifestSchema,
776
+ 'saved-plan': SavedPlanSchema,
777
+ 'action-hints': ActionHintsSchema,
778
+ 'pipeline-definition': PipelineDefinitionSchema,
779
+ 'knowledge-entry': KnowledgeEntrySchema,
780
+ 'adoption-state': AdoptionStateSchema,
781
+ 'adoption-summary': AdoptionSummarySchema,
782
+ 'adoption-merge-preview': AdoptionMergePreviewSchema,
783
+ 'adoption-report': AdoptionReportSchema,
784
+ 'scaffold-pattern': ScaffoldPatternSchema,
785
+ 'inferred-template-candidate-v2': InferredTemplateCandidateV2Schema,
786
+ 'quality-report': QualityReportSchema,
787
+ 'safety-audit': SafetyAuditSchema,
788
+ 'dev-session-state': DevSessionStateSchema,
789
+ 'dashboard-api-envelope': DashboardApiEnvelopeSchema,
790
+ 'dashboard-overview-response': DashboardOverviewResponseSchema,
791
+ 'dashboard-adoption-response': DashboardAdoptionResponseSchema,
792
+ 'dashboard-session-response': DashboardSessionResponseSchema,
793
+ 'feature-bundle': FeatureBundleSchema,
794
+ 'plan-dependency-graph': PlanDependencyGraphSchema,
795
+ 'area-map': AreaMapSchema,
796
+ 'impact-analysis': ImpactAnalysisSchema,
797
+ 'test-impact': TestImpactSchema,
798
+ 'ownership-rule': OwnershipRuleSchema,
799
+ 'policy-report': PolicyReportSchema,
800
+ 'quality-baseline': QualityBaselineSchema,
801
+ 'drift-baseline': DriftBaselineSchema,
802
+ 'review-packet-v2': ReviewPacketV2Schema,
803
+ 'pack-compatibility': PackCompatibilitySchema,
804
+ 'pack-quality-score': PackQualityScoreSchema,
805
+ 'import-graph-analysis': ImportGraphAnalysisSchema,
806
+ 'agent-contract': AgentContractSchema,
807
+ 'plan-simulation': PlanSimulationSchema,
808
+ 'repo-memory': RepoMemorySchema,
809
+ 'healing-plan': HealingPlanSchema,
810
+ 'execution-graph': ExecutionGraphSchema,
811
+ });