@devtrack-solution/codesdd 1.2.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 (433) hide show
  1. package/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +2751 -0
  2. package/.sdd/skills/curated/devtrack-api/SKILL.md +137 -0
  3. package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +4 -0
  4. package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +381 -0
  5. package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +219 -0
  6. package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +359 -0
  7. package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +127 -0
  8. package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +207 -0
  9. package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +167 -0
  10. package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +334 -0
  11. package/LICENSE +21 -0
  12. package/README.md +842 -0
  13. package/bin/codesdd.js +10 -0
  14. package/dist/cli/index.d.ts +3 -0
  15. package/dist/cli/index.js +560 -0
  16. package/dist/commands/change.d.ts +35 -0
  17. package/dist/commands/change.js +296 -0
  18. package/dist/commands/completion.d.ts +72 -0
  19. package/dist/commands/completion.js +258 -0
  20. package/dist/commands/config.d.ts +36 -0
  21. package/dist/commands/config.js +552 -0
  22. package/dist/commands/feedback.d.ts +9 -0
  23. package/dist/commands/feedback.js +184 -0
  24. package/dist/commands/schema.d.ts +6 -0
  25. package/dist/commands/schema.js +870 -0
  26. package/dist/commands/sdd/execution.d.ts +3 -0
  27. package/dist/commands/sdd/execution.js +409 -0
  28. package/dist/commands/sdd/shared.d.ts +9 -0
  29. package/dist/commands/sdd/shared.js +84 -0
  30. package/dist/commands/sdd/skills.d.ts +3 -0
  31. package/dist/commands/sdd/skills.js +154 -0
  32. package/dist/commands/sdd.d.ts +3 -0
  33. package/dist/commands/sdd.js +769 -0
  34. package/dist/commands/show.d.ts +14 -0
  35. package/dist/commands/show.js +133 -0
  36. package/dist/commands/spec.d.ts +15 -0
  37. package/dist/commands/spec.js +228 -0
  38. package/dist/commands/validate.d.ts +24 -0
  39. package/dist/commands/validate.js +295 -0
  40. package/dist/commands/workflow/index.d.ts +17 -0
  41. package/dist/commands/workflow/index.js +12 -0
  42. package/dist/commands/workflow/instructions.d.ts +29 -0
  43. package/dist/commands/workflow/instructions.js +383 -0
  44. package/dist/commands/workflow/new-change.d.ts +11 -0
  45. package/dist/commands/workflow/new-change.js +45 -0
  46. package/dist/commands/workflow/schemas.d.ts +10 -0
  47. package/dist/commands/workflow/schemas.js +34 -0
  48. package/dist/commands/workflow/shared.d.ts +57 -0
  49. package/dist/commands/workflow/shared.js +117 -0
  50. package/dist/commands/workflow/status.d.ts +14 -0
  51. package/dist/commands/workflow/status.js +76 -0
  52. package/dist/commands/workflow/templates.d.ts +16 -0
  53. package/dist/commands/workflow/templates.js +68 -0
  54. package/dist/core/archive.d.ts +16 -0
  55. package/dist/core/archive.js +487 -0
  56. package/dist/core/artifact-graph/graph.d.ts +56 -0
  57. package/dist/core/artifact-graph/graph.js +141 -0
  58. package/dist/core/artifact-graph/index.d.ts +7 -0
  59. package/dist/core/artifact-graph/index.js +13 -0
  60. package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
  61. package/dist/core/artifact-graph/instruction-loader.js +215 -0
  62. package/dist/core/artifact-graph/resolver.d.ts +81 -0
  63. package/dist/core/artifact-graph/resolver.js +258 -0
  64. package/dist/core/artifact-graph/schema.d.ts +13 -0
  65. package/dist/core/artifact-graph/schema.js +108 -0
  66. package/dist/core/artifact-graph/state.d.ts +12 -0
  67. package/dist/core/artifact-graph/state.js +54 -0
  68. package/dist/core/artifact-graph/types.d.ts +45 -0
  69. package/dist/core/artifact-graph/types.js +43 -0
  70. package/dist/core/available-tools.d.ts +16 -0
  71. package/dist/core/available-tools.js +30 -0
  72. package/dist/core/branding.d.ts +8 -0
  73. package/dist/core/branding.js +12 -0
  74. package/dist/core/cli/command-matrix.d.ts +23 -0
  75. package/dist/core/cli/command-matrix.js +123 -0
  76. package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
  77. package/dist/core/command-generation/adapters/amazon-q.js +26 -0
  78. package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
  79. package/dist/core/command-generation/adapters/antigravity.js +26 -0
  80. package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
  81. package/dist/core/command-generation/adapters/auggie.js +27 -0
  82. package/dist/core/command-generation/adapters/claude.d.ts +13 -0
  83. package/dist/core/command-generation/adapters/claude.js +50 -0
  84. package/dist/core/command-generation/adapters/cline.d.ts +14 -0
  85. package/dist/core/command-generation/adapters/cline.js +27 -0
  86. package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
  87. package/dist/core/command-generation/adapters/codebuddy.js +28 -0
  88. package/dist/core/command-generation/adapters/codex.d.ts +16 -0
  89. package/dist/core/command-generation/adapters/codex.js +39 -0
  90. package/dist/core/command-generation/adapters/continue.d.ts +13 -0
  91. package/dist/core/command-generation/adapters/continue.js +28 -0
  92. package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
  93. package/dist/core/command-generation/adapters/costrict.js +27 -0
  94. package/dist/core/command-generation/adapters/crush.d.ts +13 -0
  95. package/dist/core/command-generation/adapters/crush.js +30 -0
  96. package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
  97. package/dist/core/command-generation/adapters/cursor.js +44 -0
  98. package/dist/core/command-generation/adapters/factory.d.ts +13 -0
  99. package/dist/core/command-generation/adapters/factory.js +27 -0
  100. package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
  101. package/dist/core/command-generation/adapters/gemini.js +26 -0
  102. package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
  103. package/dist/core/command-generation/adapters/github-copilot.js +26 -0
  104. package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
  105. package/dist/core/command-generation/adapters/iflow.js +29 -0
  106. package/dist/core/command-generation/adapters/index.d.ts +29 -0
  107. package/dist/core/command-generation/adapters/index.js +29 -0
  108. package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
  109. package/dist/core/command-generation/adapters/kilocode.js +23 -0
  110. package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
  111. package/dist/core/command-generation/adapters/kiro.js +26 -0
  112. package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
  113. package/dist/core/command-generation/adapters/opencode.js +29 -0
  114. package/dist/core/command-generation/adapters/pi.d.ts +14 -0
  115. package/dist/core/command-generation/adapters/pi.js +41 -0
  116. package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
  117. package/dist/core/command-generation/adapters/qoder.js +30 -0
  118. package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
  119. package/dist/core/command-generation/adapters/qwen.js +26 -0
  120. package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
  121. package/dist/core/command-generation/adapters/roocode.js +27 -0
  122. package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
  123. package/dist/core/command-generation/adapters/windsurf.js +51 -0
  124. package/dist/core/command-generation/generator.d.ts +21 -0
  125. package/dist/core/command-generation/generator.js +27 -0
  126. package/dist/core/command-generation/index.d.ts +22 -0
  127. package/dist/core/command-generation/index.js +24 -0
  128. package/dist/core/command-generation/registry.d.ts +36 -0
  129. package/dist/core/command-generation/registry.js +92 -0
  130. package/dist/core/command-generation/types.d.ts +56 -0
  131. package/dist/core/command-generation/types.js +8 -0
  132. package/dist/core/completions/command-registry.d.ts +7 -0
  133. package/dist/core/completions/command-registry.js +461 -0
  134. package/dist/core/completions/completion-provider.d.ts +60 -0
  135. package/dist/core/completions/completion-provider.js +102 -0
  136. package/dist/core/completions/factory.d.ts +64 -0
  137. package/dist/core/completions/factory.js +75 -0
  138. package/dist/core/completions/generators/bash-generator.d.ts +32 -0
  139. package/dist/core/completions/generators/bash-generator.js +174 -0
  140. package/dist/core/completions/generators/fish-generator.d.ts +32 -0
  141. package/dist/core/completions/generators/fish-generator.js +157 -0
  142. package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
  143. package/dist/core/completions/generators/powershell-generator.js +207 -0
  144. package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
  145. package/dist/core/completions/generators/zsh-generator.js +250 -0
  146. package/dist/core/completions/installers/bash-installer.d.ts +87 -0
  147. package/dist/core/completions/installers/bash-installer.js +318 -0
  148. package/dist/core/completions/installers/fish-installer.d.ts +43 -0
  149. package/dist/core/completions/installers/fish-installer.js +143 -0
  150. package/dist/core/completions/installers/powershell-installer.d.ts +88 -0
  151. package/dist/core/completions/installers/powershell-installer.js +327 -0
  152. package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
  153. package/dist/core/completions/installers/zsh-installer.js +452 -0
  154. package/dist/core/completions/templates/bash-templates.d.ts +6 -0
  155. package/dist/core/completions/templates/bash-templates.js +24 -0
  156. package/dist/core/completions/templates/fish-templates.d.ts +7 -0
  157. package/dist/core/completions/templates/fish-templates.js +39 -0
  158. package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
  159. package/dist/core/completions/templates/powershell-templates.js +25 -0
  160. package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
  161. package/dist/core/completions/templates/zsh-templates.js +36 -0
  162. package/dist/core/completions/types.d.ts +79 -0
  163. package/dist/core/completions/types.js +2 -0
  164. package/dist/core/config-prompts.d.ts +9 -0
  165. package/dist/core/config-prompts.js +34 -0
  166. package/dist/core/config-schema.d.ts +86 -0
  167. package/dist/core/config-schema.js +213 -0
  168. package/dist/core/config.d.ts +17 -0
  169. package/dist/core/config.js +33 -0
  170. package/dist/core/converters/json-converter.d.ts +6 -0
  171. package/dist/core/converters/json-converter.js +51 -0
  172. package/dist/core/global-config.d.ts +44 -0
  173. package/dist/core/global-config.js +125 -0
  174. package/dist/core/index.d.ts +2 -0
  175. package/dist/core/index.js +3 -0
  176. package/dist/core/init.d.ts +36 -0
  177. package/dist/core/init.js +576 -0
  178. package/dist/core/legacy-cleanup.d.ts +162 -0
  179. package/dist/core/legacy-cleanup.js +512 -0
  180. package/dist/core/list.d.ts +9 -0
  181. package/dist/core/list.js +173 -0
  182. package/dist/core/migration.d.ts +23 -0
  183. package/dist/core/migration.js +108 -0
  184. package/dist/core/parsers/change-parser.d.ts +13 -0
  185. package/dist/core/parsers/change-parser.js +193 -0
  186. package/dist/core/parsers/markdown-parser.d.ts +22 -0
  187. package/dist/core/parsers/markdown-parser.js +187 -0
  188. package/dist/core/parsers/requirement-blocks.d.ts +37 -0
  189. package/dist/core/parsers/requirement-blocks.js +201 -0
  190. package/dist/core/profile-sync-drift.d.ts +38 -0
  191. package/dist/core/profile-sync-drift.js +201 -0
  192. package/dist/core/profiles.d.ts +26 -0
  193. package/dist/core/profiles.js +41 -0
  194. package/dist/core/project-config.d.ts +64 -0
  195. package/dist/core/project-config.js +223 -0
  196. package/dist/core/schemas/base.schema.d.ts +13 -0
  197. package/dist/core/schemas/base.schema.js +13 -0
  198. package/dist/core/schemas/change.schema.d.ts +73 -0
  199. package/dist/core/schemas/change.schema.js +31 -0
  200. package/dist/core/schemas/index.d.ts +4 -0
  201. package/dist/core/schemas/index.js +4 -0
  202. package/dist/core/schemas/spec.schema.d.ts +18 -0
  203. package/dist/core/schemas/spec.schema.js +15 -0
  204. package/dist/core/sdd/adr-policy.d.ts +7 -0
  205. package/dist/core/sdd/adr-policy.js +47 -0
  206. package/dist/core/sdd/adr.d.ts +4 -0
  207. package/dist/core/sdd/adr.js +27 -0
  208. package/dist/core/sdd/bootstrap.d.ts +28 -0
  209. package/dist/core/sdd/bootstrap.js +353 -0
  210. package/dist/core/sdd/check.d.ts +51 -0
  211. package/dist/core/sdd/check.js +831 -0
  212. package/dist/core/sdd/coordination/coordination-adapters.d.ts +73 -0
  213. package/dist/core/sdd/coordination/coordination-adapters.js +87 -0
  214. package/dist/core/sdd/coordination/index.d.ts +2 -0
  215. package/dist/core/sdd/coordination/index.js +2 -0
  216. package/dist/core/sdd/dedup.d.ts +23 -0
  217. package/dist/core/sdd/dedup.js +62 -0
  218. package/dist/core/sdd/default-bootstrap-files.d.ts +23 -0
  219. package/dist/core/sdd/default-bootstrap-files.js +385 -0
  220. package/dist/core/sdd/default-skills.d.ts +16 -0
  221. package/dist/core/sdd/default-skills.js +427 -0
  222. package/dist/core/sdd/diagnose.d.ts +25 -0
  223. package/dist/core/sdd/diagnose.js +1312 -0
  224. package/dist/core/sdd/docs-sync.d.ts +21 -0
  225. package/dist/core/sdd/docs-sync.js +231 -0
  226. package/dist/core/sdd/domain/helpers.d.ts +6 -0
  227. package/dist/core/sdd/domain/helpers.js +37 -0
  228. package/dist/core/sdd/domain/lifecycle-guardrails.d.ts +22 -0
  229. package/dist/core/sdd/domain/lifecycle-guardrails.js +31 -0
  230. package/dist/core/sdd/domain/lifecycle-hooks.d.ts +16 -0
  231. package/dist/core/sdd/domain/lifecycle-hooks.js +27 -0
  232. package/dist/core/sdd/domain/post-active-validation.d.ts +15 -0
  233. package/dist/core/sdd/domain/post-active-validation.js +71 -0
  234. package/dist/core/sdd/domain/traceability.d.ts +8 -0
  235. package/dist/core/sdd/domain/traceability.js +83 -0
  236. package/dist/core/sdd/domain/transition-engine.d.ts +49 -0
  237. package/dist/core/sdd/domain/transition-engine.js +120 -0
  238. package/dist/core/sdd/fingerprint.d.ts +23 -0
  239. package/dist/core/sdd/fingerprint.js +146 -0
  240. package/dist/core/sdd/import-openspec.d.ts +31 -0
  241. package/dist/core/sdd/import-openspec.js +232 -0
  242. package/dist/core/sdd/init.d.ts +36 -0
  243. package/dist/core/sdd/init.js +65 -0
  244. package/dist/core/sdd/json-schema.d.ts +6 -0
  245. package/dist/core/sdd/json-schema.js +59 -0
  246. package/dist/core/sdd/legacy-operations.d.ts +286 -0
  247. package/dist/core/sdd/legacy-operations.js +2175 -0
  248. package/dist/core/sdd/lenses.d.ts +14 -0
  249. package/dist/core/sdd/lenses.js +97 -0
  250. package/dist/core/sdd/merge-catalog.d.ts +9 -0
  251. package/dist/core/sdd/merge-catalog.js +70 -0
  252. package/dist/core/sdd/migrate-workspace.d.ts +36 -0
  253. package/dist/core/sdd/migrate-workspace.js +344 -0
  254. package/dist/core/sdd/migrate.d.ts +24 -0
  255. package/dist/core/sdd/migrate.js +385 -0
  256. package/dist/core/sdd/resolve-project-root.d.ts +15 -0
  257. package/dist/core/sdd/resolve-project-root.js +46 -0
  258. package/dist/core/sdd/root-resolver.d.ts +16 -0
  259. package/dist/core/sdd/root-resolver.js +62 -0
  260. package/dist/core/sdd/sanitize.d.ts +35 -0
  261. package/dist/core/sdd/sanitize.js +750 -0
  262. package/dist/core/sdd/services/approve.service.d.ts +20 -0
  263. package/dist/core/sdd/services/approve.service.js +82 -0
  264. package/dist/core/sdd/services/audit.service.d.ts +53 -0
  265. package/dist/core/sdd/services/audit.service.js +136 -0
  266. package/dist/core/sdd/services/breakdown.service.d.ts +35 -0
  267. package/dist/core/sdd/services/breakdown.service.js +185 -0
  268. package/dist/core/sdd/services/context.service.d.ts +346 -0
  269. package/dist/core/sdd/services/context.service.js +278 -0
  270. package/dist/core/sdd/services/debate.service.d.ts +16 -0
  271. package/dist/core/sdd/services/debate.service.js +73 -0
  272. package/dist/core/sdd/services/decide.service.d.ts +23 -0
  273. package/dist/core/sdd/services/decide.service.js +81 -0
  274. package/dist/core/sdd/services/dedup-apply.service.d.ts +39 -0
  275. package/dist/core/sdd/services/dedup-apply.service.js +259 -0
  276. package/dist/core/sdd/services/feature-lint.service.d.ts +29 -0
  277. package/dist/core/sdd/services/feature-lint.service.js +146 -0
  278. package/dist/core/sdd/services/finalize.service.d.ts +33 -0
  279. package/dist/core/sdd/services/finalize.service.js +707 -0
  280. package/dist/core/sdd/services/frontend-gap.service.d.ts +23 -0
  281. package/dist/core/sdd/services/frontend-gap.service.js +117 -0
  282. package/dist/core/sdd/services/frontend-impact.service.d.ts +19 -0
  283. package/dist/core/sdd/services/frontend-impact.service.js +46 -0
  284. package/dist/core/sdd/services/ingest-deposito.service.d.ts +32 -0
  285. package/dist/core/sdd/services/ingest-deposito.service.js +231 -0
  286. package/dist/core/sdd/services/insight.service.d.ts +21 -0
  287. package/dist/core/sdd/services/insight.service.js +81 -0
  288. package/dist/core/sdd/services/legacy-capability.service.d.ts +24 -0
  289. package/dist/core/sdd/services/legacy-capability.service.js +59 -0
  290. package/dist/core/sdd/services/mcp-runtime.service.d.ts +42 -0
  291. package/dist/core/sdd/services/mcp-runtime.service.js +144 -0
  292. package/dist/core/sdd/services/metrics.service.d.ts +49 -0
  293. package/dist/core/sdd/services/metrics.service.js +181 -0
  294. package/dist/core/sdd/services/next.service.d.ts +35 -0
  295. package/dist/core/sdd/services/next.service.js +54 -0
  296. package/dist/core/sdd/services/onboard.service.d.ts +9 -0
  297. package/dist/core/sdd/services/onboard.service.js +165 -0
  298. package/dist/core/sdd/services/rebuild.service.d.ts +31 -0
  299. package/dist/core/sdd/services/rebuild.service.js +482 -0
  300. package/dist/core/sdd/services/scan-naming.service.d.ts +43 -0
  301. package/dist/core/sdd/services/scan-naming.service.js +246 -0
  302. package/dist/core/sdd/services/skills-invoke.service.d.ts +24 -0
  303. package/dist/core/sdd/services/skills-invoke.service.js +63 -0
  304. package/dist/core/sdd/services/skills-sync.service.d.ts +15 -0
  305. package/dist/core/sdd/services/skills-sync.service.js +117 -0
  306. package/dist/core/sdd/services/start.service.d.ts +26 -0
  307. package/dist/core/sdd/services/start.service.js +237 -0
  308. package/dist/core/sdd/skills.d.ts +15 -0
  309. package/dist/core/sdd/skills.js +46 -0
  310. package/dist/core/sdd/state-lock.d.ts +19 -0
  311. package/dist/core/sdd/state-lock.js +144 -0
  312. package/dist/core/sdd/state.d.ts +155 -0
  313. package/dist/core/sdd/state.js +1000 -0
  314. package/dist/core/sdd/store/in-memory-adapter.d.ts +12 -0
  315. package/dist/core/sdd/store/in-memory-adapter.js +27 -0
  316. package/dist/core/sdd/store/index.d.ts +5 -0
  317. package/dist/core/sdd/store/index.js +5 -0
  318. package/dist/core/sdd/store/sdd-stores.d.ts +25 -0
  319. package/dist/core/sdd/store/sdd-stores.js +59 -0
  320. package/dist/core/sdd/store/state-store.d.ts +32 -0
  321. package/dist/core/sdd/store/state-store.js +2 -0
  322. package/dist/core/sdd/store/yaml-file-adapter.d.ts +12 -0
  323. package/dist/core/sdd/store/yaml-file-adapter.js +43 -0
  324. package/dist/core/sdd/structural-health.d.ts +557 -0
  325. package/dist/core/sdd/structural-health.js +187 -0
  326. package/dist/core/sdd/transaction.d.ts +14 -0
  327. package/dist/core/sdd/transaction.js +100 -0
  328. package/dist/core/sdd/types.d.ts +1570 -0
  329. package/dist/core/sdd/types.js +617 -0
  330. package/dist/core/sdd/views.d.ts +3 -0
  331. package/dist/core/sdd/views.js +560 -0
  332. package/dist/core/sdd/workspace-schemas.d.ts +620 -0
  333. package/dist/core/sdd/workspace-schemas.js +254 -0
  334. package/dist/core/sdd/write-manifest.d.ts +25 -0
  335. package/dist/core/sdd/write-manifest.js +353 -0
  336. package/dist/core/shared/index.d.ts +8 -0
  337. package/dist/core/shared/index.js +8 -0
  338. package/dist/core/shared/skill-generation.d.ts +49 -0
  339. package/dist/core/shared/skill-generation.js +106 -0
  340. package/dist/core/shared/tool-detection.d.ts +71 -0
  341. package/dist/core/shared/tool-detection.js +158 -0
  342. package/dist/core/specs-apply.d.ts +73 -0
  343. package/dist/core/specs-apply.js +385 -0
  344. package/dist/core/styles/palette.d.ts +7 -0
  345. package/dist/core/styles/palette.js +8 -0
  346. package/dist/core/templates/index.d.ts +8 -0
  347. package/dist/core/templates/index.js +9 -0
  348. package/dist/core/templates/skill-templates.d.ts +20 -0
  349. package/dist/core/templates/skill-templates.js +19 -0
  350. package/dist/core/templates/types.d.ts +19 -0
  351. package/dist/core/templates/types.js +5 -0
  352. package/dist/core/templates/workflows/apply-change.d.ts +10 -0
  353. package/dist/core/templates/workflows/apply-change.js +308 -0
  354. package/dist/core/templates/workflows/archive-change.d.ts +10 -0
  355. package/dist/core/templates/workflows/archive-change.js +277 -0
  356. package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
  357. package/dist/core/templates/workflows/bulk-archive-change.js +502 -0
  358. package/dist/core/templates/workflows/continue-change.d.ts +10 -0
  359. package/dist/core/templates/workflows/continue-change.js +232 -0
  360. package/dist/core/templates/workflows/explore.d.ts +10 -0
  361. package/dist/core/templates/workflows/explore.js +475 -0
  362. package/dist/core/templates/workflows/feedback.d.ts +9 -0
  363. package/dist/core/templates/workflows/feedback.js +108 -0
  364. package/dist/core/templates/workflows/ff-change.d.ts +10 -0
  365. package/dist/core/templates/workflows/ff-change.js +206 -0
  366. package/dist/core/templates/workflows/new-change.d.ts +10 -0
  367. package/dist/core/templates/workflows/new-change.js +151 -0
  368. package/dist/core/templates/workflows/onboard.d.ts +10 -0
  369. package/dist/core/templates/workflows/onboard.js +573 -0
  370. package/dist/core/templates/workflows/propose.d.ts +10 -0
  371. package/dist/core/templates/workflows/propose.js +224 -0
  372. package/dist/core/templates/workflows/sdd.d.ts +10 -0
  373. package/dist/core/templates/workflows/sdd.js +107 -0
  374. package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
  375. package/dist/core/templates/workflows/sync-specs.js +286 -0
  376. package/dist/core/templates/workflows/verify-change.d.ts +10 -0
  377. package/dist/core/templates/workflows/verify-change.js +346 -0
  378. package/dist/core/update.d.ts +77 -0
  379. package/dist/core/update.js +538 -0
  380. package/dist/core/validation/constants.d.ts +34 -0
  381. package/dist/core/validation/constants.js +40 -0
  382. package/dist/core/validation/types.d.ts +18 -0
  383. package/dist/core/validation/types.js +2 -0
  384. package/dist/core/validation/validator.d.ts +33 -0
  385. package/dist/core/validation/validator.js +409 -0
  386. package/dist/core/view.d.ts +8 -0
  387. package/dist/core/view.js +170 -0
  388. package/dist/index.d.ts +3 -0
  389. package/dist/index.js +3 -0
  390. package/dist/prompts/searchable-multi-select.d.ts +28 -0
  391. package/dist/prompts/searchable-multi-select.js +159 -0
  392. package/dist/telemetry/config.d.ts +32 -0
  393. package/dist/telemetry/config.js +68 -0
  394. package/dist/telemetry/index.d.ts +44 -0
  395. package/dist/telemetry/index.js +207 -0
  396. package/dist/ui/ascii-patterns.d.ts +16 -0
  397. package/dist/ui/ascii-patterns.js +133 -0
  398. package/dist/ui/welcome-screen.d.ts +10 -0
  399. package/dist/ui/welcome-screen.js +146 -0
  400. package/dist/utils/change-metadata.d.ts +51 -0
  401. package/dist/utils/change-metadata.js +147 -0
  402. package/dist/utils/change-utils.d.ts +62 -0
  403. package/dist/utils/change-utils.js +121 -0
  404. package/dist/utils/command-references.d.ts +18 -0
  405. package/dist/utils/command-references.js +20 -0
  406. package/dist/utils/file-system.d.ts +36 -0
  407. package/dist/utils/file-system.js +281 -0
  408. package/dist/utils/index.d.ts +6 -0
  409. package/dist/utils/index.js +9 -0
  410. package/dist/utils/interactive.d.ts +18 -0
  411. package/dist/utils/interactive.js +21 -0
  412. package/dist/utils/item-discovery.d.ts +4 -0
  413. package/dist/utils/item-discovery.js +73 -0
  414. package/dist/utils/match.d.ts +3 -0
  415. package/dist/utils/match.js +22 -0
  416. package/dist/utils/openspec-compat.d.ts +2 -0
  417. package/dist/utils/openspec-compat.js +2 -0
  418. package/dist/utils/shell-detection.d.ts +20 -0
  419. package/dist/utils/shell-detection.js +41 -0
  420. package/dist/utils/task-progress.d.ts +8 -0
  421. package/dist/utils/task-progress.js +36 -0
  422. package/package.json +111 -0
  423. package/schemas/sdd/1-spec.schema.json +221 -0
  424. package/schemas/sdd/2-plan.schema.json +199 -0
  425. package/schemas/sdd/3-tasks.schema.json +102 -0
  426. package/schemas/sdd/4-changelog.schema.json +55 -0
  427. package/schemas/sdd/5-quality.schema.json +427 -0
  428. package/schemas/sdd/workspace-catalog.schema.json +1012 -0
  429. package/schemas/spec-driven/schema.yaml +153 -0
  430. package/schemas/spec-driven/templates/design.md +19 -0
  431. package/schemas/spec-driven/templates/proposal.md +23 -0
  432. package/schemas/spec-driven/templates/spec.md +8 -0
  433. package/schemas/spec-driven/templates/tasks.md +9 -0
@@ -0,0 +1,73 @@
1
+ import { type AcquireOptions } from '../state-lock.js';
2
+ export interface CoordinationLockAdapter {
3
+ withLock<T>(scope: string, fn: () => Promise<T>, options?: AcquireOptions): Promise<T>;
4
+ }
5
+ export interface CoordinationCacheAdapter {
6
+ get<T>(key: string): Promise<T | undefined>;
7
+ set<T>(key: string, value: T, options?: {
8
+ ttlMs?: number;
9
+ }): Promise<void>;
10
+ delete(key: string): Promise<void>;
11
+ clear(): Promise<void>;
12
+ }
13
+ export interface CoordinationQueueAdapter<T = unknown> {
14
+ enqueue(topic: string, item: T): Promise<void>;
15
+ dequeue(topic: string): Promise<T | undefined>;
16
+ size(topic: string): Promise<number>;
17
+ }
18
+ export interface CoordinationEvent {
19
+ type: string;
20
+ payload?: unknown;
21
+ created_at: string;
22
+ }
23
+ export interface CoordinationEventBusAdapter {
24
+ publish(event: CoordinationEvent): Promise<void>;
25
+ drain(): Promise<CoordinationEvent[]>;
26
+ }
27
+ export interface RedisBoundaryConfig {
28
+ requested: boolean;
29
+ namespace: string;
30
+ url?: string;
31
+ }
32
+ export interface SddCoordinationAdapters {
33
+ mode: 'filesystem';
34
+ redis: RedisBoundaryConfig & {
35
+ status: 'disabled' | 'requested-unavailable';
36
+ reason: string;
37
+ };
38
+ locks: CoordinationLockAdapter;
39
+ cache: CoordinationCacheAdapter;
40
+ queues: CoordinationQueueAdapter;
41
+ events: CoordinationEventBusAdapter;
42
+ }
43
+ export declare class FileSystemLockAdapter implements CoordinationLockAdapter {
44
+ private readonly stateDir;
45
+ constructor(stateDir: string);
46
+ withLock<T>(_scope: string, fn: () => Promise<T>, options?: AcquireOptions): Promise<T>;
47
+ }
48
+ export declare class InMemoryCoordinationCache implements CoordinationCacheAdapter {
49
+ private readonly entries;
50
+ get<T>(key: string): Promise<T | undefined>;
51
+ set<T>(key: string, value: T, options?: {
52
+ ttlMs?: number;
53
+ }): Promise<void>;
54
+ delete(key: string): Promise<void>;
55
+ clear(): Promise<void>;
56
+ }
57
+ export declare class InMemoryCoordinationQueue<T = unknown> implements CoordinationQueueAdapter<T> {
58
+ private readonly topics;
59
+ enqueue(topic: string, item: T): Promise<void>;
60
+ dequeue(topic: string): Promise<T | undefined>;
61
+ size(topic: string): Promise<number>;
62
+ }
63
+ export declare class InMemoryCoordinationEventBus implements CoordinationEventBusAdapter {
64
+ private readonly events;
65
+ publish(event: CoordinationEvent): Promise<void>;
66
+ drain(): Promise<CoordinationEvent[]>;
67
+ }
68
+ export declare function resolveRedisBoundaryConfig(env?: NodeJS.ProcessEnv): RedisBoundaryConfig;
69
+ export declare function createFilesystemFirstCoordinationAdapters(options: {
70
+ stateDir: string;
71
+ env?: NodeJS.ProcessEnv;
72
+ }): SddCoordinationAdapters;
73
+ //# sourceMappingURL=coordination-adapters.d.ts.map
@@ -0,0 +1,87 @@
1
+ import { withStateLock } from '../state-lock.js';
2
+ export class FileSystemLockAdapter {
3
+ stateDir;
4
+ constructor(stateDir) {
5
+ this.stateDir = stateDir;
6
+ }
7
+ async withLock(_scope, fn, options) {
8
+ return withStateLock(this.stateDir, fn, options);
9
+ }
10
+ }
11
+ export class InMemoryCoordinationCache {
12
+ entries = new Map();
13
+ async get(key) {
14
+ const entry = this.entries.get(key);
15
+ if (!entry)
16
+ return undefined;
17
+ if (entry.expiresAt && Date.now() >= entry.expiresAt) {
18
+ this.entries.delete(key);
19
+ return undefined;
20
+ }
21
+ return entry.value;
22
+ }
23
+ async set(key, value, options = {}) {
24
+ const expiresAt = options.ttlMs ? Date.now() + options.ttlMs : undefined;
25
+ this.entries.set(key, { value, expiresAt });
26
+ }
27
+ async delete(key) {
28
+ this.entries.delete(key);
29
+ }
30
+ async clear() {
31
+ this.entries.clear();
32
+ }
33
+ }
34
+ export class InMemoryCoordinationQueue {
35
+ topics = new Map();
36
+ async enqueue(topic, item) {
37
+ const queue = this.topics.get(topic) ?? [];
38
+ queue.push(item);
39
+ this.topics.set(topic, queue);
40
+ }
41
+ async dequeue(topic) {
42
+ const queue = this.topics.get(topic);
43
+ if (!queue || queue.length === 0)
44
+ return undefined;
45
+ return queue.shift();
46
+ }
47
+ async size(topic) {
48
+ return this.topics.get(topic)?.length ?? 0;
49
+ }
50
+ }
51
+ export class InMemoryCoordinationEventBus {
52
+ events = [];
53
+ async publish(event) {
54
+ this.events.push(event);
55
+ }
56
+ async drain() {
57
+ return this.events.splice(0, this.events.length);
58
+ }
59
+ }
60
+ export function resolveRedisBoundaryConfig(env = process.env) {
61
+ const url = env.CODESDD_REDIS_URL?.trim() || env.REDIS_URL?.trim() || undefined;
62
+ const requestedByFlag = env.CODESDD_REDIS_ENABLED === 'true';
63
+ const namespace = env.CODESDD_REDIS_NAMESPACE?.trim() || 'codesdd';
64
+ return {
65
+ requested: Boolean(url || requestedByFlag),
66
+ namespace,
67
+ url,
68
+ };
69
+ }
70
+ export function createFilesystemFirstCoordinationAdapters(options) {
71
+ const redis = resolveRedisBoundaryConfig(options.env);
72
+ return {
73
+ mode: 'filesystem',
74
+ redis: {
75
+ ...redis,
76
+ status: redis.requested ? 'requested-unavailable' : 'disabled',
77
+ reason: redis.requested
78
+ ? 'Redis adapter boundary is configured but no Redis client adapter is installed; filesystem-first defaults remain authoritative.'
79
+ : 'Redis is optional and disabled; filesystem-first defaults are authoritative.',
80
+ },
81
+ locks: new FileSystemLockAdapter(options.stateDir),
82
+ cache: new InMemoryCoordinationCache(),
83
+ queues: new InMemoryCoordinationQueue(),
84
+ events: new InMemoryCoordinationEventBus(),
85
+ };
86
+ }
87
+ //# sourceMappingURL=coordination-adapters.js.map
@@ -0,0 +1,2 @@
1
+ export * from './coordination-adapters.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './coordination-adapters.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,23 @@
1
+ export interface SimilarityCandidate {
2
+ id: string;
3
+ title: string;
4
+ score: number;
5
+ }
6
+ export interface WarnAndLinkResult {
7
+ severity: 'none' | 'warning';
8
+ candidates: SimilarityCandidate[];
9
+ warningLinks: string[];
10
+ }
11
+ export interface WarnAndLinkOptions {
12
+ maxCandidates?: number;
13
+ minScore?: number;
14
+ }
15
+ export declare function normalizeSemanticText(value: string): string;
16
+ export declare function extractNGrams(value: string, size: number): Set<string>;
17
+ export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
18
+ export declare function semanticSimilarity(a: string, b: string): number;
19
+ export declare function warnAndLink(entityType: string, title: string, candidates: Array<{
20
+ id: string;
21
+ title: string;
22
+ }>, options?: WarnAndLinkOptions): WarnAndLinkResult;
23
+ //# sourceMappingURL=dedup.d.ts.map
@@ -0,0 +1,62 @@
1
+ const DEFAULT_THRESHOLDS = {
2
+ INS: 0.58,
3
+ DEB: 0.62,
4
+ FEAT: 0.6,
5
+ };
6
+ export function normalizeSemanticText(value) {
7
+ return value
8
+ .normalize('NFD')
9
+ .replace(/[\u0300-\u036f]/g, '')
10
+ .toLowerCase()
11
+ .replace(/[^a-z0-9\s]/g, ' ')
12
+ .replace(/\s+/g, ' ')
13
+ .trim();
14
+ }
15
+ export function extractNGrams(value, size) {
16
+ const normalized = normalizeSemanticText(value).replace(/\s/g, '');
17
+ if (!normalized)
18
+ return new Set();
19
+ if (normalized.length <= size)
20
+ return new Set([normalized]);
21
+ const grams = new Set();
22
+ for (let index = 0; index <= normalized.length - size; index += 1) {
23
+ grams.add(normalized.slice(index, index + size));
24
+ }
25
+ return grams;
26
+ }
27
+ export function jaccardSimilarity(a, b) {
28
+ if (a.size === 0 || b.size === 0)
29
+ return 0;
30
+ const intersection = [...a].filter((token) => b.has(token)).length;
31
+ const union = new Set([...a, ...b]).size;
32
+ return union === 0 ? 0 : intersection / union;
33
+ }
34
+ export function semanticSimilarity(a, b) {
35
+ const normalizedA = normalizeSemanticText(a);
36
+ const normalizedB = normalizeSemanticText(b);
37
+ if (!normalizedA || !normalizedB)
38
+ return 0;
39
+ if (normalizedA === normalizedB)
40
+ return 1;
41
+ const bigrams = jaccardSimilarity(extractNGrams(normalizedA, 2), extractNGrams(normalizedB, 2));
42
+ const trigrams = jaccardSimilarity(extractNGrams(normalizedA, 3), extractNGrams(normalizedB, 3));
43
+ return Number((bigrams * 0.45 + trigrams * 0.55).toFixed(4));
44
+ }
45
+ export function warnAndLink(entityType, title, candidates, options) {
46
+ const threshold = options?.minScore ?? DEFAULT_THRESHOLDS[entityType] ?? 0.65;
47
+ const ranked = candidates
48
+ .map((candidate) => ({
49
+ id: candidate.id,
50
+ title: candidate.title,
51
+ score: semanticSimilarity(title, candidate.title),
52
+ }))
53
+ .filter((candidate) => candidate.score >= threshold)
54
+ .sort((left, right) => right.score - left.score)
55
+ .slice(0, options?.maxCandidates ?? 3);
56
+ return {
57
+ severity: ranked.length > 0 ? 'warning' : 'none',
58
+ candidates: ranked,
59
+ warningLinks: ranked.map((candidate) => candidate.id),
60
+ };
61
+ }
62
+ //# sourceMappingURL=dedup.js.map
@@ -0,0 +1,23 @@
1
+ export interface SddReadmeFolders {
2
+ discovery?: string;
3
+ planning?: string;
4
+ skills?: string;
5
+ templates?: string;
6
+ active?: string;
7
+ archived?: string;
8
+ deposito?: string;
9
+ prompts?: string;
10
+ }
11
+ export declare function buildSddInternalReadme(memoryDir?: string, folders?: SddReadmeFolders): string;
12
+ export declare const PROMPTS_README_MD = "# Recommended SDD Prompts\n\nUse these prompts to speed up agent workflows without losing the SDD standard.\n\n## Recommended Order For Raw Material\n1. `00-start-here.md`\n2. `01-source-intake.md`\n3. `02-normalize-planning.md`\n4. `03-feature-execution.md`\n5. `04-finalize-consolidation.md`\n\nRule: prompts guide the agent, but the canonical state remains in `.sdd/state/*.yaml`.\nDo not persist project memory, workflow state, backlog, or handoff in external context stores.\n";
13
+ export declare const PROMPT_00_COMECE_POR_AQUI_MD = "# Start Here (First Use)\n\nIf you have never used CodeSDD, follow this order.\n\n## 1) Install And Initialize The Project\n\nIn the terminal, from your project directory:\n\n```bash\ncodesdd install --tools none --lang en-US --layout en-US\ncodesdd sdd init --frontend --lang en-US --layout en-US\ncodesdd sdd init-context\ncodesdd sdd check --render\ncodesdd sdd rebuild --from-disk --dry-run\ncodesdd sdd dedup --apply --dry-run\ncodesdd sdd onboard system\n```\n\n## 2) Understand The Main Folders\n\n- `.sdd/sources/`: raw material such as PRDs, wireframes, stories, and references.\n- `.sdd/state/`: canonical YAML source of truth.\n- `.sdd/core/`: generated human-readable system overview.\n- `.sdd/planning/`: backlog, progress, and finalize queue.\n- `.sdd/active/`: active FEAT workspaces.\n- `.sdd/archived/`: finalized workspaces.\n\nCodeSDD is the only operational memory for the project. Do not use external context, memory, workflow, backlog, scratchpad, or handoff stores as active project state.\n\n## 3) I Have PRDs, Wireframes, Or Stories. What Now?\n\n1. Place the files under `.sdd/sources/` in the appropriate subfolders.\n2. Run:\n\n```bash\ncodesdd sdd ingest-deposito --source-dir .sdd/sources --title \"Initial system planning\"\n```\n\n3. Review:\n\n```bash\ncodesdd sdd check --render\ncodesdd sdd next\n```\n\nExpected result:\n- sources indexed in `.sdd/state/source-index.yaml`\n- EPIC created or reused\n- FEATs generated in the backlog\n- first ready FEAT started automatically when possible\n\n## 4) Execute A Feature\n\n```bash\ncodesdd sdd start FEAT-0001 --flow-mode standard\ncodesdd sdd context FEAT-0001\ncodesdd sdd frontend-impact FEAT-0001 --status required --reason \"New route and UI components\"\n```\n\nImplement and update the FEAT package:\n- `1-spec.yaml`\n- `2-plan.yaml`\n- `5-quality.yaml`\n- `3-tasks.yaml`\n- `4-changelog.yaml`\n\n## 5) Finalize Without Losing Context\n\n```bash\ncodesdd sdd finalize --ref FEAT-0001\ncodesdd sdd check --render\ncodesdd sdd onboard system\n```\n\nGolden rule:\n- A FEAT is only truly complete after documentation consolidation.\n\n## 6) Short Usage Story\n\nThe team placed a PRD and a wireframe in `.sdd/sources/`.\nThey ran `codesdd sdd ingest-deposito --source-dir .sdd/sources` and got an EPIC plus ready FEATs.\nThey started the priority FEAT with `codesdd sdd start FEAT-0001`.\nBefore coding, they ran `codesdd sdd context FEAT-0001`.\nAfter implementation, they ran `codesdd sdd finalize --ref FEAT-0001`.\nResult: backlog updated, docs synchronized, and the next FEAT released without guesswork.\n\n## 7) Essential Commands\n\n- `codesdd sdd onboard system`: understand the current state.\n- `codesdd sdd ingest-deposito --source-dir .sdd/sources`: turn raw material into an executable trail.\n- `codesdd sdd rebuild --from-disk --dry-run`: preview state reconciliation from disk artifacts.\n- `codesdd sdd audit --json`: persist an audit snapshot in `.sdd/state/audit-history.yaml`.\n- `codesdd sdd metrics --since 7d`: inspect lead time, aging, and throughput.\n- `codesdd sdd dedup --apply --dry-run`: preview historical warning_links reconciliation.\n- `codesdd sdd lint feature FEAT-0001`: inspect feature scope before execution.\n- `codesdd sdd next`: see what can start now.\n- `codesdd sdd start FEAT-0001`: open feature execution.\n- `codesdd sdd context FEAT-0001`: generate focused context.\n- `codesdd sdd frontend-impact FEAT-0001 --status required|none --reason \"...\"`: declare frontend impact.\n- `codesdd sdd finalize --ref FEAT-0001`: consolidate memory and close.\n";
14
+ export declare const PROMPT_01_INGESTAO_DEPOSITO_MD = "# Prompt: Source Intake\n\nUse the skills:\n- source-intake-sdd\n- business-extractor-sdd\n- frontend-extractor-sdd\n- planning-normalizer-sdd\n\nObjective:\n1. Scan `.sdd/sources/`.\n2. Update `.sdd/state/source-index.yaml`.\n3. Consolidate canonical context (`architecture`, `service-catalog`, `tech-stack`, `integration-contracts`, and frontend when enabled).\n4. Generate an executable trail (EPIC plus FEATs) with source traceability.\n\nRequired output:\n- summary of sources read;\n- IDs created or updated (EPIC/FEAT/FGAP/INS when ambiguity exists);\n- recommended next CLI commands.\n";
15
+ export declare const PROMPT_02_NORMALIZAR_PLANEJAMENTO_MD = "# Prompt: Normalize Planning\n\nObjective:\nTurn consolidated material into an executable plan with clear dependencies.\n\nInstructions:\n1. Start from `.sdd/state/source-index.yaml` and `.sdd/core/*.md`.\n2. Propose EPICs and FEATs with clear English names.\n3. Define dependencies (`blocked_by`) and conflicts (`lock_domains`).\n4. List what can run in parallel.\n5. End with a documentation consolidation checklist per feature.\n";
16
+ export declare const PROMPT_03_EXECUCAO_FEATURE_MD = "# Prompt: Feature Execution\n\nObjective:\nExecute a FEAT without losing traceability.\n\nInstructions:\n1. Run `codesdd sdd context FEAT-0001`.\n2. Update `.sdd/active/FEAT-0001/` (spec, plan, tasks, changelog).\n3. Implement.\n4. Update `.sdd/active/FEAT-0001/5-quality.yaml` with evidence or a formal exception; quality contracts are blocking by default.\n5. Update affected canonical docs.\n6. Declare frontend impact with `codesdd sdd frontend-impact FEAT-0001 ...`.\n7. Ensure architectural-impact FEATs have an ADR before finalize.\n8. Finish with `codesdd sdd finalize --ref FEAT-0001`.\n";
17
+ export declare const PROMPT_04_CONSOLIDACAO_FINALIZE_MD = "# Prompt: Consolidation And Finalize\n\nObjective:\nClose a feature with complete operational memory.\n\nChecklist:\n1. Review the FEAT technical diff.\n2. Update central documentation (`README.md`, `.sdd/AGENT.md`, `.sdd/core/*.md`, `AGENTS.md`, `AGENT.md`).\n3. Ensure frontend gaps or decisions are recorded when applicable.\n4. Declare frontend impact with `codesdd sdd frontend-impact FEAT-0001 --status required|none --reason \"...\"`.\n5. Run `codesdd sdd check --render`.\n6. Run `codesdd sdd finalize --ref FEAT-0001` and report updated docs.\n";
18
+ export declare const TEMPLATE_1_SPEC_MD = "schema_version: 1\nfeature_id: FEAT-0001\ntitle: Example workspace specification\norigin:\n type: direct\n ref: FEAT-0001\nobjective: This YAML specification records the feature objective with enough detail for agents to understand the expected implementation scope, user or system value, dependencies, and validation intent before source changes begin.\nexpected_outcome: The feature reaches a verifiable done state with its implementation, documentation, and quality evidence synchronized in CodeSDD.\nsystem_impact: The workspace keeps canonical state, generated views, and operational handoff aligned with the implementation.\nacceptance_refs:\n - FEAT-0001\ngates:\n proposta:\n status: rascunho\n planejamento:\n status: rascunho\n tarefas:\n status: rascunho\ncompliance_context:\n jurisdictions:\n - BR-LGPD\n data_classes:\n - personal_data\n source_refs:\n - SRC-0001\n legal_review_required: false\n legal_review_notes: \"\"\ncreated_at: 2026-01-01T00:00:00.000Z\nupdated_at: 2026-01-01T00:00:00.000Z\n";
19
+ export declare const TEMPLATE_2_PLAN_MD: string;
20
+ export declare const TEMPLATE_QUALITY_MD = "schema_version: 1\nfeature_id: FEAT-0001\ncoverage_targets:\n unit: 95\n integration: 95\nvalidation_strategies:\n - name: Targeted tests\n command: pnpm test\n expected: Tests pass for the touched scope.\nevidence_log: []\nskill_evidence:\n required_skill_ids: []\n evidence: []\n verification_rule: No skill evidence required for this feature.\nacceptance_matrix:\n - criterion: requirements\n status: not_met\n evidence: Add validation evidence before finalize.\nexceptions: []\nremediation_policy:\n on_coverage_miss: block\n max_rounds: 3\ntraceability:\n spec_anchor:\n spec_updated_at: \"\"\n changelog_refs: []\n requirements: []\nsecurity_integrity:\n endpoint_auth_review: pending\n sensitive_data_exposure_review: pending\n incident_response_review: pending\n notes: Record endpoint/data exposure evidence before finalize when privacy impact exists.\n";
21
+ export declare const TEMPLATE_3_TASKS_MD: string;
22
+ export declare const TEMPLATE_4_CHANGELOG_MD = "schema_version: 1\nfeature_id: FEAT-0001\nentries:\n - timestamp: 2026-01-01T00:00:00.000Z\n action: created\n details: Workspace changelog initialized.\n";
23
+ //# sourceMappingURL=default-bootstrap-files.d.ts.map
@@ -0,0 +1,385 @@
1
+ import { CLI_NAME } from '../branding.js';
2
+ export function buildSddInternalReadme(memoryDir = '.sdd', folders = {}) {
3
+ const discovery = folders.discovery || 'discovery';
4
+ const planning = folders.planning || 'planning';
5
+ const skills = folders.skills || 'skills';
6
+ const templates = folders.templates || 'templates';
7
+ const active = folders.active || 'active';
8
+ const archived = folders.archived || 'archived';
9
+ const deposito = folders.deposito || 'sources';
10
+ const prompts = folders.prompts || 'prompts';
11
+ return `# SDD README
12
+
13
+ This directory stores the project's operational memory.
14
+
15
+ ## Read First
16
+ 1. \`README.md\`
17
+ 2. \`${memoryDir}/AGENT.md\`
18
+ 3. \`${memoryDir}/core/index.md\`
19
+ 4. \`${memoryDir}/core/arquitetura.md\`
20
+ 5. \`${memoryDir}/core/servicos.md\`
21
+ 6. \`${memoryDir}/core/spec-tecnologica.md\`
22
+ 7. \`${memoryDir}/core/repo-map.md\`
23
+ 8. \`${memoryDir}/core/fontes.md\`
24
+ 9. \`${memoryDir}/core/frontend-sitemap.md\` (when frontend is enabled)
25
+ 10. \`${memoryDir}/core/frontend-decisions.md\` (when frontend is enabled)
26
+
27
+ ## How To Operate
28
+ 1. Run \`${CLI_NAME} sdd onboard system\` to understand current state.
29
+ 2. Run \`${CLI_NAME} sdd next\` to see what can start now.
30
+ 3. Run \`${CLI_NAME} sdd start <FEAT-ID>\` only when the item is not already active.
31
+ 4. Run \`${CLI_NAME} sdd context <FEAT-ID>\` before implementation.
32
+ 5. Record validation evidence in \`${active}/<FEAT-ID>/5-quality.yaml\`.
33
+ 6. Declare frontend impact with \`${CLI_NAME} sdd frontend-impact <FEAT-ID> --status required|none --reason "..."\`.
34
+ 7. Run \`${CLI_NAME} sdd finalize --ref <FEAT-ID>\` when consolidating the feature.
35
+
36
+ ## Main Folders
37
+ - \`core/\`: current system overview.
38
+ - \`${discovery}/\`: insights, debates, epics, and discarded items.
39
+ - \`${planning}/\`: backlog, progress, gaps, and finalize queue.
40
+ - \`${planning}/frontend-auditoria.md\`: frontend coverage audit by FEAT.
41
+ - \`state/\`: canonical YAML source of truth.
42
+ - \`${skills}/\`: local curation and bundles.
43
+ - \`${templates}/\`: base templates for spec, plan, quality, tasks, and changelog.
44
+ - \`${prompts}/\`: recommended prompts for common workflows.
45
+ - \`${active}/\`: active FEAT workspaces.
46
+ - \`${archived}/\`: finalized frozen workspaces.
47
+ - \`${deposito}/\`: raw documents, PRDs, wireframes, and external references.
48
+
49
+ ## Operational Authority
50
+ - \`state/*.yaml\` is the only canonical operational state for planning, dependencies, blockers, progress, quality, and handoff.
51
+ - \`core/*.md\` and \`${planning}/*.md\` are operational views derived from canonical state.
52
+ - External context, memory, workflow, backlog, scratchpad, or handoff stores are not authoritative.
53
+
54
+ ## Operational Rule
55
+ Every completed feature must update relevant documentation before \`finalize\`.
56
+ `;
57
+ }
58
+ export const PROMPTS_README_MD = `# Recommended SDD Prompts
59
+
60
+ Use these prompts to speed up agent workflows without losing the SDD standard.
61
+
62
+ ## Recommended Order For Raw Material
63
+ 1. \`00-start-here.md\`
64
+ 2. \`01-source-intake.md\`
65
+ 3. \`02-normalize-planning.md\`
66
+ 4. \`03-feature-execution.md\`
67
+ 5. \`04-finalize-consolidation.md\`
68
+
69
+ Rule: prompts guide the agent, but the canonical state remains in \`.sdd/state/*.yaml\`.
70
+ Do not persist project memory, workflow state, backlog, or handoff in external context stores.
71
+ `;
72
+ export const PROMPT_00_COMECE_POR_AQUI_MD = `# Start Here (First Use)
73
+
74
+ If you have never used CodeSDD, follow this order.
75
+
76
+ ## 1) Install And Initialize The Project
77
+
78
+ In the terminal, from your project directory:
79
+
80
+ \`\`\`bash
81
+ codesdd install --tools none --lang en-US --layout en-US
82
+ codesdd sdd init --frontend --lang en-US --layout en-US
83
+ codesdd sdd init-context
84
+ codesdd sdd check --render
85
+ codesdd sdd rebuild --from-disk --dry-run
86
+ codesdd sdd dedup --apply --dry-run
87
+ codesdd sdd onboard system
88
+ \`\`\`
89
+
90
+ ## 2) Understand The Main Folders
91
+
92
+ - \`.sdd/sources/\`: raw material such as PRDs, wireframes, stories, and references.
93
+ - \`.sdd/state/\`: canonical YAML source of truth.
94
+ - \`.sdd/core/\`: generated human-readable system overview.
95
+ - \`.sdd/planning/\`: backlog, progress, and finalize queue.
96
+ - \`.sdd/active/\`: active FEAT workspaces.
97
+ - \`.sdd/archived/\`: finalized workspaces.
98
+
99
+ CodeSDD is the only operational memory for the project. Do not use external context, memory, workflow, backlog, scratchpad, or handoff stores as active project state.
100
+
101
+ ## 3) I Have PRDs, Wireframes, Or Stories. What Now?
102
+
103
+ 1. Place the files under \`.sdd/sources/\` in the appropriate subfolders.
104
+ 2. Run:
105
+
106
+ \`\`\`bash
107
+ codesdd sdd ingest-deposito --source-dir .sdd/sources --title "Initial system planning"
108
+ \`\`\`
109
+
110
+ 3. Review:
111
+
112
+ \`\`\`bash
113
+ codesdd sdd check --render
114
+ codesdd sdd next
115
+ \`\`\`
116
+
117
+ Expected result:
118
+ - sources indexed in \`.sdd/state/source-index.yaml\`
119
+ - EPIC created or reused
120
+ - FEATs generated in the backlog
121
+ - first ready FEAT started automatically when possible
122
+
123
+ ## 4) Execute A Feature
124
+
125
+ \`\`\`bash
126
+ codesdd sdd start FEAT-0001 --flow-mode standard
127
+ codesdd sdd context FEAT-0001
128
+ codesdd sdd frontend-impact FEAT-0001 --status required --reason "New route and UI components"
129
+ \`\`\`
130
+
131
+ Implement and update the FEAT package:
132
+ - \`1-spec.yaml\`
133
+ - \`2-plan.yaml\`
134
+ - \`5-quality.yaml\`
135
+ - \`3-tasks.yaml\`
136
+ - \`4-changelog.yaml\`
137
+
138
+ ## 5) Finalize Without Losing Context
139
+
140
+ \`\`\`bash
141
+ codesdd sdd finalize --ref FEAT-0001
142
+ codesdd sdd check --render
143
+ codesdd sdd onboard system
144
+ \`\`\`
145
+
146
+ Golden rule:
147
+ - A FEAT is only truly complete after documentation consolidation.
148
+
149
+ ## 6) Short Usage Story
150
+
151
+ The team placed a PRD and a wireframe in \`.sdd/sources/\`.
152
+ They ran \`codesdd sdd ingest-deposito --source-dir .sdd/sources\` and got an EPIC plus ready FEATs.
153
+ They started the priority FEAT with \`codesdd sdd start FEAT-0001\`.
154
+ Before coding, they ran \`codesdd sdd context FEAT-0001\`.
155
+ After implementation, they ran \`codesdd sdd finalize --ref FEAT-0001\`.
156
+ Result: backlog updated, docs synchronized, and the next FEAT released without guesswork.
157
+
158
+ ## 7) Essential Commands
159
+
160
+ - \`codesdd sdd onboard system\`: understand the current state.
161
+ - \`codesdd sdd ingest-deposito --source-dir .sdd/sources\`: turn raw material into an executable trail.
162
+ - \`codesdd sdd rebuild --from-disk --dry-run\`: preview state reconciliation from disk artifacts.
163
+ - \`codesdd sdd audit --json\`: persist an audit snapshot in \`.sdd/state/audit-history.yaml\`.
164
+ - \`codesdd sdd metrics --since 7d\`: inspect lead time, aging, and throughput.
165
+ - \`codesdd sdd dedup --apply --dry-run\`: preview historical warning_links reconciliation.
166
+ - \`codesdd sdd lint feature FEAT-0001\`: inspect feature scope before execution.
167
+ - \`codesdd sdd next\`: see what can start now.
168
+ - \`codesdd sdd start FEAT-0001\`: open feature execution.
169
+ - \`codesdd sdd context FEAT-0001\`: generate focused context.
170
+ - \`codesdd sdd frontend-impact FEAT-0001 --status required|none --reason "..."\`: declare frontend impact.
171
+ - \`codesdd sdd finalize --ref FEAT-0001\`: consolidate memory and close.
172
+ `;
173
+ export const PROMPT_01_INGESTAO_DEPOSITO_MD = `# Prompt: Source Intake
174
+
175
+ Use the skills:
176
+ - source-intake-sdd
177
+ - business-extractor-sdd
178
+ - frontend-extractor-sdd
179
+ - planning-normalizer-sdd
180
+
181
+ Objective:
182
+ 1. Scan \`.sdd/sources/\`.
183
+ 2. Update \`.sdd/state/source-index.yaml\`.
184
+ 3. Consolidate canonical context (\`architecture\`, \`service-catalog\`, \`tech-stack\`, \`integration-contracts\`, and frontend when enabled).
185
+ 4. Generate an executable trail (EPIC plus FEATs) with source traceability.
186
+
187
+ Required output:
188
+ - summary of sources read;
189
+ - IDs created or updated (EPIC/FEAT/FGAP/INS when ambiguity exists);
190
+ - recommended next CLI commands.
191
+ `;
192
+ export const PROMPT_02_NORMALIZAR_PLANEJAMENTO_MD = `# Prompt: Normalize Planning
193
+
194
+ Objective:
195
+ Turn consolidated material into an executable plan with clear dependencies.
196
+
197
+ Instructions:
198
+ 1. Start from \`.sdd/state/source-index.yaml\` and \`.sdd/core/*.md\`.
199
+ 2. Propose EPICs and FEATs with clear English names.
200
+ 3. Define dependencies (\`blocked_by\`) and conflicts (\`lock_domains\`).
201
+ 4. List what can run in parallel.
202
+ 5. End with a documentation consolidation checklist per feature.
203
+ `;
204
+ export const PROMPT_03_EXECUCAO_FEATURE_MD = `# Prompt: Feature Execution
205
+
206
+ Objective:
207
+ Execute a FEAT without losing traceability.
208
+
209
+ Instructions:
210
+ 1. Run \`codesdd sdd context FEAT-0001\`.
211
+ 2. Update \`.sdd/active/FEAT-0001/\` (spec, plan, tasks, changelog).
212
+ 3. Implement.
213
+ 4. Update \`.sdd/active/FEAT-0001/5-quality.yaml\` with evidence or a formal exception; quality contracts are blocking by default.
214
+ 5. Update affected canonical docs.
215
+ 6. Declare frontend impact with \`codesdd sdd frontend-impact FEAT-0001 ...\`.
216
+ 7. Ensure architectural-impact FEATs have an ADR before finalize.
217
+ 8. Finish with \`codesdd sdd finalize --ref FEAT-0001\`.
218
+ `;
219
+ export const PROMPT_04_CONSOLIDACAO_FINALIZE_MD = `# Prompt: Consolidation And Finalize
220
+
221
+ Objective:
222
+ Close a feature with complete operational memory.
223
+
224
+ Checklist:
225
+ 1. Review the FEAT technical diff.
226
+ 2. Update central documentation (\`README.md\`, \`.sdd/AGENT.md\`, \`.sdd/core/*.md\`, \`AGENTS.md\`, \`AGENT.md\`).
227
+ 3. Ensure frontend gaps or decisions are recorded when applicable.
228
+ 4. Declare frontend impact with \`codesdd sdd frontend-impact FEAT-0001 --status required|none --reason "..."\`.
229
+ 5. Run \`codesdd sdd check --render\`.
230
+ 6. Run \`codesdd sdd finalize --ref FEAT-0001\` and report updated docs.
231
+ `;
232
+ export const TEMPLATE_1_SPEC_MD = `schema_version: 1
233
+ feature_id: FEAT-0001
234
+ title: Example workspace specification
235
+ origin:
236
+ type: direct
237
+ ref: FEAT-0001
238
+ objective: This YAML specification records the feature objective with enough detail for agents to understand the expected implementation scope, user or system value, dependencies, and validation intent before source changes begin.
239
+ expected_outcome: The feature reaches a verifiable done state with its implementation, documentation, and quality evidence synchronized in CodeSDD.
240
+ system_impact: The workspace keeps canonical state, generated views, and operational handoff aligned with the implementation.
241
+ acceptance_refs:
242
+ - FEAT-0001
243
+ gates:
244
+ proposta:
245
+ status: rascunho
246
+ planejamento:
247
+ status: rascunho
248
+ tarefas:
249
+ status: rascunho
250
+ compliance_context:
251
+ jurisdictions:
252
+ - BR-LGPD
253
+ data_classes:
254
+ - personal_data
255
+ source_refs:
256
+ - SRC-0001
257
+ legal_review_required: false
258
+ legal_review_notes: ""
259
+ created_at: 2026-01-01T00:00:00.000Z
260
+ updated_at: 2026-01-01T00:00:00.000Z
261
+ `;
262
+ export const TEMPLATE_2_PLAN_MD = `schema_version: 1
263
+ feature_id: FEAT-0001
264
+ architectural_impact:
265
+ description: This plan describes the implementation approach, affected modules, and integration boundaries for the feature.
266
+ affected_modules:
267
+ - src
268
+ frontend_impact:
269
+ status: unknown
270
+ description: Declare none or required before finalize with ${CLI_NAME} sdd frontend-impact.
271
+ affected_contracts:
272
+ - name: workspace-documents
273
+ change_type: example
274
+ quality_strategy:
275
+ unit_target: 95
276
+ integration_target: 95
277
+ approach: hybrid
278
+ suggested_skills:
279
+ - architecture
280
+ privacy_controls:
281
+ source_registry_refs:
282
+ - SRC-0001
283
+ jurisdiction_profiles:
284
+ - JP-BR-LGPD
285
+ control_ids:
286
+ - CTRL-TRANSPARENCY-001
287
+ legal_review_gate: conditional
288
+ unresolved_legal_questions: []
289
+ `;
290
+ export const TEMPLATE_QUALITY_MD = `schema_version: 1
291
+ feature_id: FEAT-0001
292
+ coverage_targets:
293
+ unit: 95
294
+ integration: 95
295
+ validation_strategies:
296
+ - name: Targeted tests
297
+ command: pnpm test
298
+ expected: Tests pass for the touched scope.
299
+ evidence_log: []
300
+ skill_evidence:
301
+ required_skill_ids: []
302
+ evidence: []
303
+ verification_rule: No skill evidence required for this feature.
304
+ acceptance_matrix:
305
+ - criterion: requirements
306
+ status: not_met
307
+ evidence: Add validation evidence before finalize.
308
+ exceptions: []
309
+ remediation_policy:
310
+ on_coverage_miss: block
311
+ max_rounds: 3
312
+ traceability:
313
+ spec_anchor:
314
+ spec_updated_at: ""
315
+ changelog_refs: []
316
+ requirements: []
317
+ security_integrity:
318
+ endpoint_auth_review: pending
319
+ sensitive_data_exposure_review: pending
320
+ incident_response_review: pending
321
+ notes: Record endpoint/data exposure evidence before finalize when privacy impact exists.
322
+ `;
323
+ export const TEMPLATE_3_TASKS_MD = `schema_version: 1
324
+ feature_id: FEAT-0001
325
+ tasks:
326
+ - id: FEAT-0001-T1
327
+ phase: preparation
328
+ title: Load feature context
329
+ description: Run ${CLI_NAME} sdd context FEAT-0001 and review YAML workspace fields before editing.
330
+ files_touched: []
331
+ test_scripts: []
332
+ acceptance: Context and constraints are understood.
333
+ status: pending
334
+ - id: FEAT-0001-T2
335
+ phase: implementation
336
+ title: Implement scoped change
337
+ description: Apply the implementation while preserving CodeSDD state and workspace YAML contracts.
338
+ files_touched: []
339
+ test_scripts: []
340
+ acceptance: The implementation is limited to feature scope.
341
+ status: pending
342
+ - id: FEAT-0001-T3
343
+ phase: testing
344
+ title: Validate behavior
345
+ description: Run targeted validation and record results in 5-quality.yaml.
346
+ files_touched:
347
+ - .sdd/active/FEAT-0001/5-quality.yaml
348
+ test_scripts:
349
+ - command: pnpm test
350
+ type: unit
351
+ expected: Tests pass.
352
+ acceptance: Validation evidence is recorded.
353
+ status: pending
354
+ - id: FEAT-0001-T4
355
+ phase: documentation
356
+ title: Synchronize documentation
357
+ description: Update README.md, AGENTS.md, .sdd/AGENT.md, and affected .sdd/core docs when behavior changes.
358
+ files_touched:
359
+ - README.md
360
+ - AGENTS.md
361
+ - .sdd/AGENT.md
362
+ test_scripts: []
363
+ acceptance: Documentation reflects the change or records no-doc-impact.
364
+ status: pending
365
+ - id: FEAT-0001-T5
366
+ phase: finalization
367
+ title: Finalize feature
368
+ description: Declare frontend impact, complete 5-quality.yaml evidence, and run ${CLI_NAME} sdd finalize --ref FEAT-0001.
369
+ files_touched:
370
+ - .sdd/active/FEAT-0001/5-quality.yaml
371
+ test_scripts:
372
+ - command: pnpm run build
373
+ type: build
374
+ expected: Build completes successfully.
375
+ acceptance: The feature finalizes cleanly.
376
+ status: pending
377
+ `;
378
+ export const TEMPLATE_4_CHANGELOG_MD = `schema_version: 1
379
+ feature_id: FEAT-0001
380
+ entries:
381
+ - timestamp: 2026-01-01T00:00:00.000Z
382
+ action: created
383
+ details: Workspace changelog initialized.
384
+ `;
385
+ //# sourceMappingURL=default-bootstrap-files.js.map