@planu/cli 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/config/ai-model-pricing.json +81 -0
  2. package/dist/config/framework-registry/csharp-aspnet.json +67 -0
  3. package/dist/config/framework-registry/dart-flutter.json +61 -0
  4. package/dist/config/framework-registry/go-gin.json +62 -0
  5. package/dist/config/framework-registry/index.json +164 -0
  6. package/dist/config/framework-registry/java-springboot.json +67 -0
  7. package/dist/config/framework-registry/php-laravel.json +67 -0
  8. package/dist/config/framework-registry/python-django.json +72 -0
  9. package/dist/config/framework-registry/python-fastapi.json +72 -0
  10. package/dist/config/framework-registry/ruby-rails.json +67 -0
  11. package/dist/config/framework-registry/rust-actix.json +61 -0
  12. package/dist/config/framework-registry/swift-swiftui.json +67 -0
  13. package/dist/config/framework-registry/typescript-angular.json +67 -0
  14. package/dist/config/framework-registry/typescript-astro.json +61 -0
  15. package/dist/config/framework-registry/typescript-express.json +67 -0
  16. package/dist/config/framework-registry/typescript-nestjs.json +62 -0
  17. package/dist/config/framework-registry/typescript-nextjs.json +82 -0
  18. package/dist/config/framework-registry/typescript-nuxt.json +67 -0
  19. package/dist/config/framework-registry/typescript-react.json +77 -0
  20. package/dist/config/framework-registry/typescript-remix.json +61 -0
  21. package/dist/config/framework-registry/typescript-sveltekit.json +67 -0
  22. package/dist/config/framework-registry/typescript-vue.json +72 -0
  23. package/dist/config/license-plans.json +23 -3
  24. package/dist/engine/agile-config-builder.d.ts.map +1 -1
  25. package/dist/engine/agile-config-builder.js +3 -0
  26. package/dist/engine/agile-config-builder.js.map +1 -1
  27. package/dist/engine/ai-cost-estimator/core.d.ts +8 -0
  28. package/dist/engine/ai-cost-estimator/core.d.ts.map +1 -0
  29. package/dist/engine/ai-cost-estimator/core.js +257 -0
  30. package/dist/engine/ai-cost-estimator/core.js.map +1 -0
  31. package/dist/engine/ai-cost-estimator/index.d.ts +4 -0
  32. package/dist/engine/ai-cost-estimator/index.d.ts.map +1 -0
  33. package/dist/engine/ai-cost-estimator/index.js +5 -0
  34. package/dist/engine/ai-cost-estimator/index.js.map +1 -0
  35. package/dist/engine/ai-cost-estimator/model-pricing.d.ts +31 -0
  36. package/dist/engine/ai-cost-estimator/model-pricing.d.ts.map +1 -0
  37. package/dist/engine/ai-cost-estimator/model-pricing.js +96 -0
  38. package/dist/engine/ai-cost-estimator/model-pricing.js.map +1 -0
  39. package/dist/engine/ai-cost-estimator/token-estimator.d.ts +37 -0
  40. package/dist/engine/ai-cost-estimator/token-estimator.d.ts.map +1 -0
  41. package/dist/engine/ai-cost-estimator/token-estimator.js +194 -0
  42. package/dist/engine/ai-cost-estimator/token-estimator.js.map +1 -0
  43. package/dist/engine/ci-generator/context-builders.d.ts +4 -0
  44. package/dist/engine/ci-generator/context-builders.d.ts.map +1 -0
  45. package/dist/engine/ci-generator/context-builders.js +129 -0
  46. package/dist/engine/ci-generator/context-builders.js.map +1 -0
  47. package/dist/engine/ci-generator/index.d.ts +7 -0
  48. package/dist/engine/ci-generator/index.d.ts.map +1 -0
  49. package/dist/engine/ci-generator/index.js +44 -0
  50. package/dist/engine/ci-generator/index.js.map +1 -0
  51. package/dist/engine/ci-generator/stack-detector.d.ts +21 -0
  52. package/dist/engine/ci-generator/stack-detector.d.ts.map +1 -0
  53. package/dist/engine/ci-generator/stack-detector.js +203 -0
  54. package/dist/engine/ci-generator/stack-detector.js.map +1 -0
  55. package/dist/engine/ci-generator/yaml-builder.d.ts +8 -0
  56. package/dist/engine/ci-generator/yaml-builder.d.ts.map +1 -0
  57. package/dist/engine/ci-generator/yaml-builder.js +285 -0
  58. package/dist/engine/ci-generator/yaml-builder.js.map +1 -0
  59. package/dist/engine/dashboard/data-loader.d.ts +21 -0
  60. package/dist/engine/dashboard/data-loader.d.ts.map +1 -0
  61. package/dist/engine/dashboard/data-loader.js +196 -0
  62. package/dist/engine/dashboard/data-loader.js.map +1 -0
  63. package/dist/engine/dashboard/index.d.ts +5 -0
  64. package/dist/engine/dashboard/index.d.ts.map +1 -0
  65. package/dist/engine/dashboard/index.js +6 -0
  66. package/dist/engine/dashboard/index.js.map +1 -0
  67. package/dist/engine/dashboard/routes.d.ts +4 -0
  68. package/dist/engine/dashboard/routes.d.ts.map +1 -0
  69. package/dist/engine/dashboard/routes.js +120 -0
  70. package/dist/engine/dashboard/routes.js.map +1 -0
  71. package/dist/engine/dashboard/server.d.ts +14 -0
  72. package/dist/engine/dashboard/server.d.ts.map +1 -0
  73. package/dist/engine/dashboard/server.js +88 -0
  74. package/dist/engine/dashboard/server.js.map +1 -0
  75. package/dist/engine/dashboard/templates-layout.d.ts +11 -0
  76. package/dist/engine/dashboard/templates-layout.d.ts.map +1 -0
  77. package/dist/engine/dashboard/templates-layout.js +305 -0
  78. package/dist/engine/dashboard/templates-layout.js.map +1 -0
  79. package/dist/engine/dashboard/templates-project.d.ts +10 -0
  80. package/dist/engine/dashboard/templates-project.d.ts.map +1 -0
  81. package/dist/engine/dashboard/templates-project.js +163 -0
  82. package/dist/engine/dashboard/templates-project.js.map +1 -0
  83. package/dist/engine/dashboard/templates.d.ts +3 -0
  84. package/dist/engine/dashboard/templates.d.ts.map +1 -0
  85. package/dist/engine/dashboard/templates.js +4 -0
  86. package/dist/engine/dashboard/templates.js.map +1 -0
  87. package/dist/engine/focus-tracker.d.ts.map +1 -1
  88. package/dist/engine/focus-tracker.js +1 -0
  89. package/dist/engine/focus-tracker.js.map +1 -1
  90. package/dist/engine/hooks/core.d.ts +26 -0
  91. package/dist/engine/hooks/core.d.ts.map +1 -0
  92. package/dist/engine/hooks/core.js +164 -0
  93. package/dist/engine/hooks/core.js.map +1 -0
  94. package/dist/engine/hooks/git-hook-generator.d.ts +14 -0
  95. package/dist/engine/hooks/git-hook-generator.d.ts.map +1 -0
  96. package/dist/engine/hooks/git-hook-generator.js +119 -0
  97. package/dist/engine/hooks/git-hook-generator.js.map +1 -0
  98. package/dist/engine/hooks/index.d.ts +5 -0
  99. package/dist/engine/hooks/index.d.ts.map +1 -0
  100. package/dist/engine/hooks/index.js +6 -0
  101. package/dist/engine/hooks/index.js.map +1 -0
  102. package/dist/engine/hooks/templates.d.ts +14 -0
  103. package/dist/engine/hooks/templates.d.ts.map +1 -0
  104. package/dist/engine/hooks/templates.js +138 -0
  105. package/dist/engine/hooks/templates.js.map +1 -0
  106. package/dist/engine/hooks/triggers.d.ts +27 -0
  107. package/dist/engine/hooks/triggers.d.ts.map +1 -0
  108. package/dist/engine/hooks/triggers.js +104 -0
  109. package/dist/engine/hooks/triggers.js.map +1 -0
  110. package/dist/engine/registry/core.d.ts +32 -0
  111. package/dist/engine/registry/core.d.ts.map +1 -0
  112. package/dist/engine/registry/core.js +85 -0
  113. package/dist/engine/registry/core.js.map +1 -0
  114. package/dist/engine/registry/index.d.ts +6 -0
  115. package/dist/engine/registry/index.d.ts.map +1 -0
  116. package/dist/engine/registry/index.js +8 -0
  117. package/dist/engine/registry/index.js.map +1 -0
  118. package/dist/engine/registry/loader.d.ts +18 -0
  119. package/dist/engine/registry/loader.d.ts.map +1 -0
  120. package/dist/engine/registry/loader.js +81 -0
  121. package/dist/engine/registry/loader.js.map +1 -0
  122. package/dist/engine/registry/matcher.d.ts +19 -0
  123. package/dist/engine/registry/matcher.d.ts.map +1 -0
  124. package/dist/engine/registry/matcher.js +150 -0
  125. package/dist/engine/registry/matcher.js.map +1 -0
  126. package/dist/engine/registry/reporter.d.ts +10 -0
  127. package/dist/engine/registry/reporter.d.ts.map +1 -0
  128. package/dist/engine/registry/reporter.js +132 -0
  129. package/dist/engine/registry/reporter.js.map +1 -0
  130. package/dist/engine/registry/validator.d.ts +17 -0
  131. package/dist/engine/registry/validator.d.ts.map +1 -0
  132. package/dist/engine/registry/validator.js +103 -0
  133. package/dist/engine/registry/validator.js.map +1 -0
  134. package/dist/engine/spec-changelog/core.d.ts +16 -0
  135. package/dist/engine/spec-changelog/core.d.ts.map +1 -0
  136. package/dist/engine/spec-changelog/core.js +175 -0
  137. package/dist/engine/spec-changelog/core.js.map +1 -0
  138. package/dist/engine/spec-changelog/diff.d.ts +18 -0
  139. package/dist/engine/spec-changelog/diff.d.ts.map +1 -0
  140. package/dist/engine/spec-changelog/diff.js +116 -0
  141. package/dist/engine/spec-changelog/diff.js.map +1 -0
  142. package/dist/engine/spec-changelog/index.d.ts +3 -0
  143. package/dist/engine/spec-changelog/index.d.ts.map +1 -0
  144. package/dist/engine/spec-changelog/index.js +4 -0
  145. package/dist/engine/spec-changelog/index.js.map +1 -0
  146. package/dist/engine/spec-coverage/core.d.ts +14 -0
  147. package/dist/engine/spec-coverage/core.d.ts.map +1 -0
  148. package/dist/engine/spec-coverage/core.js +132 -0
  149. package/dist/engine/spec-coverage/core.js.map +1 -0
  150. package/dist/engine/spec-coverage/criteria-mapper.d.ts +18 -0
  151. package/dist/engine/spec-coverage/criteria-mapper.d.ts.map +1 -0
  152. package/dist/engine/spec-coverage/criteria-mapper.js +306 -0
  153. package/dist/engine/spec-coverage/criteria-mapper.js.map +1 -0
  154. package/dist/engine/spec-coverage/index.d.ts +4 -0
  155. package/dist/engine/spec-coverage/index.d.ts.map +1 -0
  156. package/dist/engine/spec-coverage/index.js +5 -0
  157. package/dist/engine/spec-coverage/index.js.map +1 -0
  158. package/dist/engine/spec-coverage/test-finder.d.ts +17 -0
  159. package/dist/engine/spec-coverage/test-finder.d.ts.map +1 -0
  160. package/dist/engine/spec-coverage/test-finder.js +250 -0
  161. package/dist/engine/spec-coverage/test-finder.js.map +1 -0
  162. package/dist/engine/spec-templates/catalog-extra.d.ts +4 -0
  163. package/dist/engine/spec-templates/catalog-extra.d.ts.map +1 -0
  164. package/dist/engine/spec-templates/catalog-extra.js +367 -0
  165. package/dist/engine/spec-templates/catalog-extra.js.map +1 -0
  166. package/dist/engine/spec-templates/catalog.d.ts +4 -0
  167. package/dist/engine/spec-templates/catalog.d.ts.map +1 -0
  168. package/dist/engine/spec-templates/catalog.js +386 -0
  169. package/dist/engine/spec-templates/catalog.js.map +1 -0
  170. package/dist/engine/spec-templates/index.d.ts +4 -0
  171. package/dist/engine/spec-templates/index.d.ts.map +1 -0
  172. package/dist/engine/spec-templates/index.js +5 -0
  173. package/dist/engine/spec-templates/index.js.map +1 -0
  174. package/dist/engine/spec-templates/query.d.ts +14 -0
  175. package/dist/engine/spec-templates/query.d.ts.map +1 -0
  176. package/dist/engine/spec-templates/query.js +56 -0
  177. package/dist/engine/spec-templates/query.js.map +1 -0
  178. package/dist/engine/spec-templates/renderer.d.ts +19 -0
  179. package/dist/engine/spec-templates/renderer.d.ts.map +1 -0
  180. package/dist/engine/spec-templates/renderer.js +45 -0
  181. package/dist/engine/spec-templates/renderer.js.map +1 -0
  182. package/dist/engine/usage-tracker/trial.d.ts +4 -4
  183. package/dist/engine/usage-tracker/trial.d.ts.map +1 -1
  184. package/dist/engine/usage-tracker/trial.js +4 -4
  185. package/dist/engine/usage-tracker/trial.js.map +1 -1
  186. package/dist/engine/webhook/event-handlers.d.ts +25 -0
  187. package/dist/engine/webhook/event-handlers.d.ts.map +1 -0
  188. package/dist/engine/webhook/event-handlers.js +89 -0
  189. package/dist/engine/webhook/event-handlers.js.map +1 -0
  190. package/dist/engine/webhook/index.d.ts +4 -0
  191. package/dist/engine/webhook/index.d.ts.map +1 -0
  192. package/dist/engine/webhook/index.js +5 -0
  193. package/dist/engine/webhook/index.js.map +1 -0
  194. package/dist/engine/webhook/server.d.ts +18 -0
  195. package/dist/engine/webhook/server.d.ts.map +1 -0
  196. package/dist/engine/webhook/server.js +187 -0
  197. package/dist/engine/webhook/server.js.map +1 -0
  198. package/dist/engine/webhook/signature.d.ts +16 -0
  199. package/dist/engine/webhook/signature.d.ts.map +1 -0
  200. package/dist/engine/webhook/signature.js +49 -0
  201. package/dist/engine/webhook/signature.js.map +1 -0
  202. package/dist/index.js +18 -0
  203. package/dist/index.js.map +1 -1
  204. package/dist/storage/hooks-store.d.ts +34 -0
  205. package/dist/storage/hooks-store.d.ts.map +1 -0
  206. package/dist/storage/hooks-store.js +128 -0
  207. package/dist/storage/hooks-store.js.map +1 -0
  208. package/dist/storage/index.d.ts +1 -0
  209. package/dist/storage/index.d.ts.map +1 -1
  210. package/dist/storage/index.js +1 -0
  211. package/dist/storage/index.js.map +1 -1
  212. package/dist/tools/check-spec-accuracy.d.ts +7 -0
  213. package/dist/tools/check-spec-accuracy.d.ts.map +1 -0
  214. package/dist/tools/check-spec-accuracy.js +28 -0
  215. package/dist/tools/check-spec-accuracy.js.map +1 -0
  216. package/dist/tools/ci-generator.d.ts +7 -0
  217. package/dist/tools/ci-generator.d.ts.map +1 -0
  218. package/dist/tools/ci-generator.js +49 -0
  219. package/dist/tools/ci-generator.js.map +1 -0
  220. package/dist/tools/create-spec.d.ts.map +1 -1
  221. package/dist/tools/create-spec.js +4 -0
  222. package/dist/tools/create-spec.js.map +1 -1
  223. package/dist/tools/dashboard.d.ts +6 -0
  224. package/dist/tools/dashboard.d.ts.map +1 -0
  225. package/dist/tools/dashboard.js +48 -0
  226. package/dist/tools/dashboard.js.map +1 -0
  227. package/dist/tools/detect-drift.d.ts.map +1 -1
  228. package/dist/tools/detect-drift.js +6 -0
  229. package/dist/tools/detect-drift.js.map +1 -1
  230. package/dist/tools/estimate-ai-cost.d.ts +8 -0
  231. package/dist/tools/estimate-ai-cost.d.ts.map +1 -0
  232. package/dist/tools/estimate-ai-cost.js +29 -0
  233. package/dist/tools/estimate-ai-cost.js.map +1 -0
  234. package/dist/tools/list-specs.d.ts.map +1 -1
  235. package/dist/tools/list-specs.js +15 -0
  236. package/dist/tools/list-specs.js.map +1 -1
  237. package/dist/tools/manage-hooks.d.ts +5 -0
  238. package/dist/tools/manage-hooks.d.ts.map +1 -0
  239. package/dist/tools/manage-hooks.js +247 -0
  240. package/dist/tools/manage-hooks.js.map +1 -0
  241. package/dist/tools/reconcile-spec.d.ts.map +1 -1
  242. package/dist/tools/reconcile-spec.js +24 -0
  243. package/dist/tools/reconcile-spec.js.map +1 -1
  244. package/dist/tools/register-ai-cost-tools.d.ts +3 -0
  245. package/dist/tools/register-ai-cost-tools.d.ts.map +1 -0
  246. package/dist/tools/register-ai-cost-tools.js +25 -0
  247. package/dist/tools/register-ai-cost-tools.js.map +1 -0
  248. package/dist/tools/register-changelog-tools.d.ts +3 -0
  249. package/dist/tools/register-changelog-tools.d.ts.map +1 -0
  250. package/dist/tools/register-changelog-tools.js +23 -0
  251. package/dist/tools/register-changelog-tools.js.map +1 -0
  252. package/dist/tools/register-ci-tools.d.ts +3 -0
  253. package/dist/tools/register-ci-tools.d.ts.map +1 -0
  254. package/dist/tools/register-ci-tools.js +50 -0
  255. package/dist/tools/register-ci-tools.js.map +1 -0
  256. package/dist/tools/register-coverage-tools.d.ts +7 -0
  257. package/dist/tools/register-coverage-tools.d.ts.map +1 -0
  258. package/dist/tools/register-coverage-tools.js +27 -0
  259. package/dist/tools/register-coverage-tools.js.map +1 -0
  260. package/dist/tools/register-dashboard-tools.d.ts +3 -0
  261. package/dist/tools/register-dashboard-tools.d.ts.map +1 -0
  262. package/dist/tools/register-dashboard-tools.js +29 -0
  263. package/dist/tools/register-dashboard-tools.js.map +1 -0
  264. package/dist/tools/register-hooks-tools.d.ts +3 -0
  265. package/dist/tools/register-hooks-tools.d.ts.map +1 -0
  266. package/dist/tools/register-hooks-tools.js +107 -0
  267. package/dist/tools/register-hooks-tools.js.map +1 -0
  268. package/dist/tools/register-registry-tools.d.ts +3 -0
  269. package/dist/tools/register-registry-tools.d.ts.map +1 -0
  270. package/dist/tools/register-registry-tools.js +43 -0
  271. package/dist/tools/register-registry-tools.js.map +1 -0
  272. package/dist/tools/register-template-tools.d.ts +8 -0
  273. package/dist/tools/register-template-tools.d.ts.map +1 -0
  274. package/dist/tools/register-template-tools.js +71 -0
  275. package/dist/tools/register-template-tools.js.map +1 -0
  276. package/dist/tools/register-webhook-tools.d.ts +3 -0
  277. package/dist/tools/register-webhook-tools.d.ts.map +1 -0
  278. package/dist/tools/register-webhook-tools.js +49 -0
  279. package/dist/tools/register-webhook-tools.js.map +1 -0
  280. package/dist/tools/schemas/index.d.ts +1 -0
  281. package/dist/tools/schemas/index.d.ts.map +1 -1
  282. package/dist/tools/schemas/index.js +1 -0
  283. package/dist/tools/schemas/index.js.map +1 -1
  284. package/dist/tools/schemas/registry.d.ts +41 -0
  285. package/dist/tools/schemas/registry.d.ts.map +1 -0
  286. package/dist/tools/schemas/registry.js +62 -0
  287. package/dist/tools/schemas/registry.js.map +1 -0
  288. package/dist/tools/spec-coverage.d.ts +3 -0
  289. package/dist/tools/spec-coverage.d.ts.map +1 -0
  290. package/dist/tools/spec-coverage.js +176 -0
  291. package/dist/tools/spec-coverage.js.map +1 -0
  292. package/dist/tools/spec-history.d.ts +3 -0
  293. package/dist/tools/spec-history.d.ts.map +1 -0
  294. package/dist/tools/spec-history.js +67 -0
  295. package/dist/tools/spec-history.js.map +1 -0
  296. package/dist/tools/spec-templates.d.ts +10 -0
  297. package/dist/tools/spec-templates.d.ts.map +1 -0
  298. package/dist/tools/spec-templates.js +155 -0
  299. package/dist/tools/spec-templates.js.map +1 -0
  300. package/dist/tools/update-registry.d.ts +8 -0
  301. package/dist/tools/update-registry.d.ts.map +1 -0
  302. package/dist/tools/update-registry.js +53 -0
  303. package/dist/tools/update-registry.js.map +1 -0
  304. package/dist/tools/update-status.d.ts.map +1 -1
  305. package/dist/tools/update-status.js +24 -0
  306. package/dist/tools/update-status.js.map +1 -1
  307. package/dist/tools/webhook.d.ts +6 -0
  308. package/dist/tools/webhook.d.ts.map +1 -0
  309. package/dist/tools/webhook.js +150 -0
  310. package/dist/tools/webhook.js.map +1 -0
  311. package/dist/types/ai-cost.d.ts +98 -0
  312. package/dist/types/ai-cost.d.ts.map +1 -0
  313. package/dist/types/ai-cost.js +4 -0
  314. package/dist/types/ai-cost.js.map +1 -0
  315. package/dist/types/analysis.d.ts +64 -0
  316. package/dist/types/analysis.d.ts.map +1 -1
  317. package/dist/types/changelog.d.ts +49 -0
  318. package/dist/types/changelog.d.ts.map +1 -0
  319. package/dist/types/changelog.js +3 -0
  320. package/dist/types/changelog.js.map +1 -0
  321. package/dist/types/ci.d.ts +105 -0
  322. package/dist/types/ci.d.ts.map +1 -0
  323. package/dist/types/ci.js +3 -0
  324. package/dist/types/ci.js.map +1 -0
  325. package/dist/types/coverage.d.ts +95 -0
  326. package/dist/types/coverage.d.ts.map +1 -0
  327. package/dist/types/coverage.js +4 -0
  328. package/dist/types/coverage.js.map +1 -0
  329. package/dist/types/hooks.d.ts +139 -0
  330. package/dist/types/hooks.d.ts.map +1 -0
  331. package/dist/types/hooks.js +3 -0
  332. package/dist/types/hooks.js.map +1 -0
  333. package/dist/types/index.d.ts +8 -0
  334. package/dist/types/index.d.ts.map +1 -1
  335. package/dist/types/index.js +8 -0
  336. package/dist/types/index.js.map +1 -1
  337. package/dist/types/registry.d.ts +90 -0
  338. package/dist/types/registry.d.ts.map +1 -0
  339. package/dist/types/registry.js +5 -0
  340. package/dist/types/registry.js.map +1 -0
  341. package/dist/types/spec-templates.d.ts +87 -0
  342. package/dist/types/spec-templates.d.ts.map +1 -0
  343. package/dist/types/spec-templates.js +3 -0
  344. package/dist/types/spec-templates.js.map +1 -0
  345. package/dist/types/ui.d.ts +76 -0
  346. package/dist/types/ui.d.ts.map +1 -1
  347. package/dist/types/webhook.d.ts +62 -0
  348. package/dist/types/webhook.d.ts.map +1 -0
  349. package/dist/types/webhook.js +4 -0
  350. package/dist/types/webhook.js.map +1 -0
  351. package/package.json +1 -1
  352. package/src/config/ai-model-pricing.json +81 -0
  353. package/src/config/framework-registry/csharp-aspnet.json +67 -0
  354. package/src/config/framework-registry/dart-flutter.json +61 -0
  355. package/src/config/framework-registry/go-gin.json +62 -0
  356. package/src/config/framework-registry/index.json +164 -0
  357. package/src/config/framework-registry/java-springboot.json +67 -0
  358. package/src/config/framework-registry/php-laravel.json +67 -0
  359. package/src/config/framework-registry/python-django.json +72 -0
  360. package/src/config/framework-registry/python-fastapi.json +72 -0
  361. package/src/config/framework-registry/ruby-rails.json +67 -0
  362. package/src/config/framework-registry/rust-actix.json +61 -0
  363. package/src/config/framework-registry/swift-swiftui.json +67 -0
  364. package/src/config/framework-registry/typescript-angular.json +67 -0
  365. package/src/config/framework-registry/typescript-astro.json +61 -0
  366. package/src/config/framework-registry/typescript-express.json +67 -0
  367. package/src/config/framework-registry/typescript-nestjs.json +62 -0
  368. package/src/config/framework-registry/typescript-nextjs.json +82 -0
  369. package/src/config/framework-registry/typescript-nuxt.json +67 -0
  370. package/src/config/framework-registry/typescript-react.json +77 -0
  371. package/src/config/framework-registry/typescript-remix.json +61 -0
  372. package/src/config/framework-registry/typescript-sveltekit.json +67 -0
  373. package/src/config/framework-registry/typescript-vue.json +72 -0
  374. package/src/config/license-plans.json +23 -3
@@ -0,0 +1,367 @@
1
+ // engine/spec-templates/catalog-extra.ts — Additional built-in templates (data, security, performance).
2
+ // Split from catalog.ts to keep file size within the 500-line limit.
3
+ /** Extra built-in spec templates (data, security, performance). */
4
+ export const EXTRA_TEMPLATES = [
5
+ {
6
+ id: 'data-migration',
7
+ name: 'Data Migration',
8
+ category: 'data',
9
+ description: 'Safe, reversible database or data migration with rollback support.',
10
+ tags: ['migration', 'database', 'schema', 'data'],
11
+ variables: [
12
+ {
13
+ key: 'MigrationName',
14
+ label: 'Migration name',
15
+ description: 'Short descriptive name for this migration',
16
+ example: 'Add email_verified column to users',
17
+ required: true,
18
+ },
19
+ ],
20
+ huTemplate: `# HU: Data Migration — {{MigrationName}}
21
+
22
+ ## User Story
23
+ As a developer, I want to apply the migration "{{MigrationName}}" safely so that production data is not at risk.
24
+
25
+ ## Acceptance Criteria
26
+
27
+ ### AC-1: Migration script
28
+ - [ ] Migration has an "up" (apply) and "down" (rollback) operation
29
+ - [ ] Script is idempotent (safe to run multiple times)
30
+ - [ ] Each step is transactional where supported by the database
31
+
32
+ ### AC-2: Data safety
33
+ - [ ] Pre-migration backup documented in runbook
34
+ - [ ] No destructive operation without a confirmed backup
35
+ - [ ] Migration tested on a staging copy of production data
36
+
37
+ ### AC-3: Zero-downtime strategy
38
+ - [ ] Migration can be applied while the application is running
39
+ - [ ] Backward-compatible schema changes first (expand), then cleanup (contract)
40
+ - [ ] Feature flag used if application code needs to switch behavior
41
+
42
+ ### AC-4: Rollback
43
+ - [ ] Rollback procedure documented and tested
44
+ - [ ] Rollback does not cause data loss
45
+ - [ ] Time to rollback < 15 minutes
46
+
47
+ ### AC-5: Observability
48
+ - [ ] Migration duration logged
49
+ - [ ] Row counts before/after logged for verification
50
+ - [ ] Anomalies (unexpected row counts) trigger alerts
51
+ `,
52
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Data Migration — {{MigrationName}}
53
+
54
+ ## Affected Files
55
+ - migrations/{{MigrationName}}/up
56
+ - migrations/{{MigrationName}}/down
57
+ - runbooks/{{MigrationName}}-rollback
58
+
59
+ ## Types / Entities
60
+ - Migration metadata: id, name, appliedAt, duration, rolledBack
61
+
62
+ ## Risks
63
+ - Data loss on rollback → mandatory backup before apply
64
+ - Long-running migration → table locks in production
65
+ - Missing idempotency → partial application leaves DB in bad state
66
+
67
+ ## Estimation (rough)
68
+ - Dev: 4–12 hours
69
+ - Review: 2–4 hours
70
+ - Difficulty: 3/5
71
+ `,
72
+ progressTemplate: `# PROGRESS: Data Migration — {{MigrationName}}
73
+
74
+ ## Status: draft
75
+
76
+ ## Criteria
77
+ - [ ] AC-1: Migration script
78
+ - [ ] AC-2: Data safety
79
+ - [ ] AC-3: Zero-downtime strategy
80
+ - [ ] AC-4: Rollback
81
+ - [ ] AC-5: Observability
82
+ `,
83
+ },
84
+ {
85
+ id: 'security-feature',
86
+ name: 'Security Feature',
87
+ category: 'security',
88
+ description: 'Security hardening: rate limiting, input sanitization, audit logging, etc.',
89
+ tags: ['security', 'hardening', 'audit', 'rate-limiting'],
90
+ variables: [
91
+ {
92
+ key: 'FeatureName',
93
+ label: 'Security feature name',
94
+ description: 'Name of the security feature being implemented',
95
+ example: 'Rate Limiting',
96
+ required: true,
97
+ },
98
+ {
99
+ key: 'ProtectedResource',
100
+ label: 'Protected resource or area',
101
+ description: 'What is being protected by this feature',
102
+ example: 'authentication endpoints',
103
+ required: true,
104
+ },
105
+ ],
106
+ huTemplate: `# HU: Security Feature — {{FeatureName}}
107
+
108
+ ## User Story
109
+ As a security engineer, I want {{FeatureName}} applied to {{ProtectedResource}} so that attack vectors are reduced.
110
+
111
+ ## Acceptance Criteria
112
+
113
+ ### AC-1: Implementation
114
+ - [ ] {{FeatureName}} implemented at the correct layer (edge, gateway, application)
115
+ - [ ] Configuration externalized (not hardcoded)
116
+ - [ ] Enabled in production, configurable in development
117
+
118
+ ### AC-2: Bypass prevention
119
+ - [ ] Cannot be bypassed by manipulating headers or query parameters
120
+ - [ ] Handles IPv4, IPv6, and forwarded IP headers correctly
121
+ - [ ] Works behind reverse proxies and CDNs
122
+
123
+ ### AC-3: Observability
124
+ - [ ] Blocked/throttled requests logged with reason
125
+ - [ ] Metrics exported: blocked count, block rate, top blocked IPs
126
+ - [ ] Alert triggers when block rate exceeds threshold
127
+
128
+ ### AC-4: Testing
129
+ - [ ] Unit tests cover allowed and blocked cases
130
+ - [ ] Integration tests simulate attack patterns
131
+ - [ ] Penetration test checklist updated
132
+
133
+ ### AC-5: Documentation
134
+ - [ ] Security runbook updated with new feature
135
+ - [ ] Limits and thresholds documented with rationale
136
+ - [ ] On-call playbook updated for incident response
137
+ `,
138
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Security Feature — {{FeatureName}}
139
+
140
+ ## Affected Files
141
+ - middleware/{{FeatureName}}
142
+ - config/security-config
143
+ - monitoring/security-alerts
144
+ - runbooks/security-incident
145
+
146
+ ## Types / Entities
147
+ - \`{{FeatureName}}Config\`: thresholds, enabled, dryRun
148
+ - \`SecurityEvent\`: type, resource, ip, timestamp, blocked
149
+
150
+ ## Risks
151
+ - False positives blocking legitimate users → dry-run mode first
152
+ - Missing coverage for all entry points → security audit required
153
+ - Misconfiguration under proxy → test in staging with proxy enabled
154
+
155
+ ## Estimation (rough)
156
+ - Dev: 4–12 hours
157
+ - Review: 2–4 hours
158
+ - Difficulty: 3/5
159
+ `,
160
+ progressTemplate: `# PROGRESS: Security Feature — {{FeatureName}}
161
+
162
+ ## Status: draft
163
+
164
+ ## Criteria
165
+ - [ ] AC-1: Implementation
166
+ - [ ] AC-2: Bypass prevention
167
+ - [ ] AC-3: Observability
168
+ - [ ] AC-4: Testing
169
+ - [ ] AC-5: Documentation
170
+ `,
171
+ },
172
+ {
173
+ id: 'performance-optimization',
174
+ name: 'Performance Optimization',
175
+ category: 'performance',
176
+ description: 'Measurable performance improvements with before/after benchmarks.',
177
+ tags: ['performance', 'optimization', 'caching', 'benchmarks'],
178
+ variables: [
179
+ {
180
+ key: 'TargetArea',
181
+ label: 'Target area',
182
+ description: 'The specific area to optimize (e.g. API response time, DB queries)',
183
+ example: 'API response time',
184
+ required: true,
185
+ },
186
+ {
187
+ key: 'CurrentBaseline',
188
+ label: 'Current baseline',
189
+ description: 'Current measured performance metric',
190
+ example: 'P95 latency: 800ms',
191
+ required: false,
192
+ defaultValue: 'TBD — measure before starting',
193
+ },
194
+ {
195
+ key: 'TargetGoal',
196
+ label: 'Target goal',
197
+ description: 'Desired performance metric after optimization',
198
+ example: 'P95 latency: < 200ms',
199
+ required: false,
200
+ defaultValue: 'TBD — define after baseline measurement',
201
+ },
202
+ ],
203
+ huTemplate: `# HU: Performance Optimization — {{TargetArea}}
204
+
205
+ ## User Story
206
+ As a user, I want {{TargetArea}} to be faster so that the application feels responsive.
207
+
208
+ ## Baseline
209
+ - Current: {{CurrentBaseline}}
210
+ - Target: {{TargetGoal}}
211
+
212
+ ## Acceptance Criteria
213
+
214
+ ### AC-1: Baseline measurement
215
+ - [ ] Benchmark suite established before any changes
216
+ - [ ] Metrics captured: P50, P95, P99 latency, throughput, error rate
217
+ - [ ] Benchmark results stored for comparison
218
+
219
+ ### AC-2: Optimization implementation
220
+ - [ ] Root cause of performance issue identified and documented
221
+ - [ ] Optimization applied at the correct layer
222
+ - [ ] No correctness regression introduced by optimization
223
+
224
+ ### AC-3: Cache strategy (if applicable)
225
+ - [ ] Cache invalidation strategy defined
226
+ - [ ] Cache hit rate monitored
227
+ - [ ] Cache warm-up procedure documented
228
+
229
+ ### AC-4: Validation
230
+ - [ ] Post-optimization benchmark shows improvement vs baseline
231
+ - [ ] Target goal reached or documented with explanation if not
232
+ - [ ] Load test confirms improvement holds under concurrent traffic
233
+
234
+ ### AC-5: Observability
235
+ - [ ] Performance metrics added to dashboard
236
+ - [ ] Regression alert configured (auto-detect if P95 degrades)
237
+ `,
238
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Performance Optimization — {{TargetArea}}
239
+
240
+ ## Affected Files
241
+ - (determined during root-cause analysis)
242
+ - monitoring/dashboards/{{TargetArea}}
243
+ - benchmarks/{{TargetArea}}
244
+
245
+ ## Types / Entities
246
+ - \`BenchmarkResult\`: timestamp, p50, p95, p99, throughput, errorRate
247
+ - \`CacheEntry\` (if caching): key, value, ttl, hitCount
248
+
249
+ ## Risks
250
+ - Optimization that breaks correctness → benchmark must include correctness tests
251
+ - Cache inconsistency → strong consistency tests required
252
+ - Performance regression after unrelated change → regression alert required
253
+
254
+ ## Estimation (rough)
255
+ - Dev: 4–20 hours (highly variable by root cause)
256
+ - Review: 2–4 hours
257
+ - Difficulty: 3–4/5
258
+ `,
259
+ progressTemplate: `# PROGRESS: Performance Optimization — {{TargetArea}}
260
+
261
+ ## Status: draft
262
+
263
+ ## Criteria
264
+ - [ ] AC-1: Baseline measurement
265
+ - [ ] AC-2: Optimization implementation
266
+ - [ ] AC-3: Cache strategy
267
+ - [ ] AC-4: Validation
268
+ - [ ] AC-5: Observability
269
+ `,
270
+ },
271
+ {
272
+ id: 'third-party-integration',
273
+ name: 'Third-Party Integration',
274
+ category: 'integration',
275
+ description: 'Integrating with an external service (payment, email, SMS, CRM, etc.).',
276
+ tags: ['integration', 'external', 'api', 'webhook'],
277
+ variables: [
278
+ {
279
+ key: 'ServiceName',
280
+ label: 'Service name',
281
+ description: 'Name of the external service to integrate',
282
+ example: 'Stripe',
283
+ required: true,
284
+ },
285
+ {
286
+ key: 'IntegrationPurpose',
287
+ label: 'Purpose',
288
+ description: 'What the integration enables',
289
+ example: 'payment processing',
290
+ required: true,
291
+ },
292
+ ],
293
+ huTemplate: `# HU: {{ServiceName}} Integration
294
+
295
+ ## User Story
296
+ As a developer, I want to integrate {{ServiceName}} so that the platform can handle {{IntegrationPurpose}} reliably.
297
+
298
+ ## Acceptance Criteria
299
+
300
+ ### AC-1: Credentials management
301
+ - [ ] API keys and secrets stored in environment variables (never hardcoded)
302
+ - [ ] Separate credentials for development, staging, and production
303
+ - [ ] Credential rotation documented in runbook
304
+
305
+ ### AC-2: Core integration
306
+ - [ ] {{ServiceName}} SDK or HTTP client initialized with proper config
307
+ - [ ] All calls wrapped in retry logic with exponential backoff
308
+ - [ ] Timeouts configured (no infinite waits)
309
+
310
+ ### AC-3: Error handling
311
+ - [ ] {{ServiceName}} API errors mapped to internal error types
312
+ - [ ] Network failures do not crash the application
313
+ - [ ] Errors logged with enough context for debugging
314
+
315
+ ### AC-4: Webhooks (if applicable)
316
+ - [ ] Webhook endpoint validates signature before processing
317
+ - [ ] Events processed idempotently (replay-safe)
318
+ - [ ] Failed event processing alerts the on-call team
319
+
320
+ ### AC-5: Observability
321
+ - [ ] All outbound calls logged (method, status, latency)
322
+ - [ ] Circuit breaker implemented for high-traffic paths
323
+
324
+ ### AC-6: Testing
325
+ - [ ] Unit tests mock {{ServiceName}} client
326
+ - [ ] Integration tests use sandbox/test environment
327
+ - [ ] Webhook tests replay recorded payloads
328
+ `,
329
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: {{ServiceName}} Integration
330
+
331
+ ## Affected Files
332
+ - integrations/{{ServiceName}}/client
333
+ - integrations/{{ServiceName}}/webhook-handler
334
+ - integrations/{{ServiceName}}/error-mapper
335
+ - config/{{ServiceName}}-config
336
+ - tests/integrations/{{ServiceName}}
337
+
338
+ ## Types / Entities
339
+ - \`{{ServiceName}}Config\`: apiKey, baseUrl, timeout, retries
340
+ - \`{{ServiceName}}Error\`: code, message, retryable
341
+ - \`WebhookEvent\`: id, type, payload, receivedAt
342
+
343
+ ## Risks
344
+ - Vendor API changes without notice → pin SDK version, monitor changelogs
345
+ - Rate limits exceeded → implement request queuing
346
+ - Credentials leaked → secrets manager mandatory
347
+
348
+ ## Estimation (rough)
349
+ - Dev: 8–20 hours
350
+ - Review: 2–4 hours
351
+ - Difficulty: 3/5
352
+ `,
353
+ progressTemplate: `# PROGRESS: {{ServiceName}} Integration
354
+
355
+ ## Status: draft
356
+
357
+ ## Criteria
358
+ - [ ] AC-1: Credentials management
359
+ - [ ] AC-2: Core integration
360
+ - [ ] AC-3: Error handling
361
+ - [ ] AC-4: Webhooks
362
+ - [ ] AC-5: Observability
363
+ - [ ] AC-6: Testing
364
+ `,
365
+ },
366
+ ];
367
+ //# sourceMappingURL=catalog-extra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-extra.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/catalog-extra.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** Full catalog of built-in spec templates (core + extra). */
3
+ export declare const BUILT_IN_TEMPLATES: SpecTemplateEntry[];
4
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/catalog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AA+XvE,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EAA4C,CAAC"}