@leanspec/ui 0.2.6-dev.20251125010539 → 0.2.6

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 (278) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  4. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  15. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  22. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  23. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  24. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  25. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  36. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  39. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  43. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  48. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  49. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  52. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  53. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  54. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  55. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  56. package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
  57. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
  58. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  59. package/.next/standalone/packages/ui/dist/public/file.svg +1 -0
  60. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +1 -0
  61. package/.next/standalone/packages/ui/dist/public/github-mark.svg +1 -0
  62. package/.next/standalone/packages/ui/dist/public/globe.svg +1 -0
  63. package/.next/standalone/packages/ui/dist/public/icon.svg +7 -0
  64. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +17 -0
  65. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +17 -0
  66. package/.next/standalone/packages/ui/dist/public/logo.svg +17 -0
  67. package/.next/standalone/packages/ui/dist/public/next.svg +1 -0
  68. package/.next/standalone/packages/ui/dist/public/vercel.svg +1 -0
  69. package/.next/standalone/packages/ui/dist/public/window.svg +1 -0
  70. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +196 -0
  71. package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
  72. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +75 -0
  73. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
  74. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
  75. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
  76. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
  77. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
  78. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
  79. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
  80. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
  81. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
  82. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
  83. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
  84. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
  85. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
  86. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
  87. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
  88. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
  89. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
  90. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +302 -0
  91. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
  92. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
  93. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
  94. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
  95. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
  96. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
  97. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
  98. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
  99. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
  100. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
  101. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
  102. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
  103. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
  104. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
  105. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
  106. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
  107. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
  108. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
  109. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
  110. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
  111. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
  112. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
  113. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
  114. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
  115. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
  116. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
  117. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
  118. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
  119. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
  120. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
  121. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
  122. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
  123. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
  124. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
  125. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
  126. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
  127. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
  128. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
  129. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
  130. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
  131. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
  132. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
  133. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
  134. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
  135. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
  136. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
  137. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
  138. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
  139. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
  140. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
  141. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
  142. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
  143. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
  144. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
  145. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
  146. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
  147. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
  148. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
  149. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
  150. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
  151. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
  152. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
  153. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
  154. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
  155. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
  156. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
  157. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
  158. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
  159. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
  160. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
  161. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
  162. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
  163. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
  164. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
  165. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
  166. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
  167. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
  168. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
  169. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
  170. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
  171. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +285 -0
  172. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
  173. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
  174. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
  175. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
  176. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
  177. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
  178. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
  179. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
  180. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +824 -0
  181. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
  182. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
  183. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
  184. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
  185. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +496 -0
  186. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
  187. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
  188. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
  189. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
  190. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +607 -0
  191. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +104 -0
  192. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +124 -0
  193. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +129 -0
  194. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +244 -0
  195. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +148 -0
  196. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +54 -0
  197. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
  198. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
  199. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
  200. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
  201. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
  202. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
  203. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
  204. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
  205. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
  206. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
  207. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
  208. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
  209. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
  210. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
  211. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
  212. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
  213. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
  214. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
  215. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
  216. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
  217. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
  218. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
  219. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
  220. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
  221. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
  222. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
  223. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
  224. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
  225. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
  226. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
  227. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
  228. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
  229. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
  230. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
  231. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
  232. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
  233. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
  234. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
  235. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
  236. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
  237. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
  238. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
  239. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
  240. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
  241. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
  242. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
  243. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
  244. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
  245. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
  246. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
  247. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
  248. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
  249. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
  250. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
  251. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
  252. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
  253. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
  254. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
  255. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
  256. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
  257. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
  258. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
  259. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
  260. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
  261. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
  262. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
  263. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
  264. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
  265. package/.next/standalone/packages/ui/leanspec.db +0 -0
  266. package/.next/standalone/packages/ui/package.json +1 -1
  267. package/.next/standalone/packages/ui/server.js +1 -1
  268. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  269. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +11 -0
  270. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +1 -0
  271. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +1 -0
  272. package/package.json +2 -2
  273. /package/.next/standalone/packages/ui/.next/static/{WJi9opx4ShY8zt8yBFo4r → T_KGFP0pHt_xSaaYUJa3L}/_buildManifest.js +0 -0
  274. /package/.next/standalone/packages/ui/.next/static/{WJi9opx4ShY8zt8yBFo4r → T_KGFP0pHt_xSaaYUJa3L}/_clientMiddlewareManifest.json +0 -0
  275. /package/.next/standalone/packages/ui/.next/static/{WJi9opx4ShY8zt8yBFo4r → T_KGFP0pHt_xSaaYUJa3L}/_ssgManifest.js +0 -0
  276. /package/.next/{static/WJi9opx4ShY8zt8yBFo4r → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
  277. /package/.next/{static/WJi9opx4ShY8zt8yBFo4r → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
  278. /package/.next/{static/WJi9opx4ShY8zt8yBFo4r → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
@@ -0,0 +1,303 @@
1
+ ---
2
+ status: planned
3
+ created: '2025-11-13'
4
+ tags:
5
+ - templates
6
+ - cli
7
+ - dx
8
+ - ai-first
9
+ - sub-specs
10
+ priority: medium
11
+ created_at: '2025-11-13T13:31:48.324Z'
12
+ related:
13
+ - 073-template-engine-agents-md
14
+ - 012-sub-spec-files
15
+ updated_at: '2025-11-13T13:35:14.763Z'
16
+ ---
17
+
18
+ # sub-spec-template-system
19
+
20
+ > **Status**: 🗓️ Planned · **Priority**: Medium · **Created**: 2025-11-13 · **Tags**: templates, cli, dx, ai-first, sub-specs
21
+
22
+ **Project**: lean-spec
23
+ **Team**: Core Development
24
+
25
+ ## Overview
26
+
27
+ **Problem**: Current `.lean-spec/templates/` system only generates main spec file (README.md), but specs often need sub-files like DESIGN.md, TESTING.md, IMPLEMENTATION.md, etc.
28
+
29
+ **Current Limitations**:
30
+ - Template system generates only README.md
31
+ - Users manually create sub-spec files after initial creation
32
+ - No support for optional vs required sub-specs
33
+ - AI agents and automation tools need programmatic sub-spec creation
34
+
35
+ **Goal**: Enable template system to generate optional sub-spec files using:
36
+ - Declarative flags (`--design`, `--testing`) for AI/automation
37
+ - File conventions (`.opt`, `.req`) for template authors
38
+ - Interactive mode (`--with-subs`) for human users (opt-in)
39
+
40
+ **Origin**: Split from spec 073 Phase 2 (AGENTS.md template engine complete, sub-spec system separate concern)
41
+
42
+ ## Design
43
+
44
+ ### Proposed Template Structure
45
+
46
+ ```
47
+ .lean-spec/
48
+ └── templates/
49
+ ├── default/
50
+ │ ├── README.md # Main spec template (always generated)
51
+ │ ├── DESIGN.md.opt # Optional sub-spec
52
+ │ └── TESTING.md.opt # Optional sub-spec
53
+ └── api/
54
+ ├── README.md
55
+ ├── API.md.req # Required sub-spec (always included)
56
+ └── SCHEMAS.md.opt # Optional sub-spec
57
+ ```
58
+
59
+ ### File Conventions
60
+
61
+ - **`{name}.md`** - Always generated (main spec)
62
+ - **`{name}.md.opt`** - Optional, generated only if requested via flag or prompt
63
+ - **`{name}.md.req`** - Required, always generated for this template
64
+
65
+ ### Usage Patterns (AI-First Design)
66
+
67
+ **Primary Interface: Explicit Flags** (optimized for AI agents)
68
+ ```bash
69
+ # Generate with specific sub-specs
70
+ lean-spec create my-feature --design --testing
71
+ # → Creates README.md + DESIGN.md + TESTING.md
72
+
73
+ # No flags = README.md only (default)
74
+ lean-spec create simple-fix
75
+ ```
76
+
77
+ **Secondary Interface: Interactive Mode** (opt-in for humans)
78
+ ```bash
79
+ lean-spec create my-feature --with-subs
80
+ # Prompts user to select which optional sub-specs to include
81
+ ? Include optional sub-specs? (space to select)
82
+ [ ] DESIGN.md
83
+ [x] TESTING.md
84
+ [ ] IMPLEMENTATION.md
85
+ ```
86
+
87
+ **Rationale**: AI agents use CLI programmatically and can't handle interactive prompts. Flags provide declarative, non-blocking interface.
88
+
89
+ ### Config Schema Enhancement
90
+
91
+ ```json
92
+ {
93
+ "templates": {
94
+ "default": {
95
+ "main": "README.md",
96
+ "optional": ["DESIGN.md", "TESTING.md", "IMPLEMENTATION.md"],
97
+ "required": [],
98
+ "flags": {
99
+ "--design": "DESIGN.md",
100
+ "--testing": "TESTING.md",
101
+ "--implementation": "IMPLEMENTATION.md"
102
+ }
103
+ },
104
+ "api": {
105
+ "main": "README.md",
106
+ "optional": ["SCHEMAS.md"],
107
+ "required": ["API.md"],
108
+ "flags": {
109
+ "--schemas": "SCHEMAS.md"
110
+ }
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ ### Technical Implementation
117
+
118
+ **Extend `packages/cli/src/commands/creator.ts`**:
119
+ 1. Parse sub-spec flags from command line
120
+ 2. Detect `.opt` and `.req` files in template directory
121
+ 3. Filter files based on flags and conventions
122
+ 4. Apply variable substitution to all generated files
123
+ 5. Fall back to interactive mode if `--with-subs` flag present
124
+
125
+ **Template Resolution Logic**:
126
+ ```typescript
127
+ // Pseudo-code
128
+ function resolveTemplateFiles(templateDir, flags, interactive) {
129
+ const files = [];
130
+
131
+ // Always include main file
132
+ files.push('README.md');
133
+
134
+ // Add required sub-specs
135
+ files.push(...glob('*.req').map(f => f.replace('.req', '')));
136
+
137
+ // Add optional sub-specs based on flags
138
+ if (flags.design) files.push('DESIGN.md');
139
+ if (flags.testing) files.push('TESTING.md');
140
+
141
+ // Or prompt if interactive mode
142
+ if (interactive) {
143
+ const selected = await promptForSubSpecs(glob('*.opt'));
144
+ files.push(...selected);
145
+ }
146
+
147
+ return files;
148
+ }
149
+ ```
150
+
151
+ ## Plan
152
+
153
+ ### Phase 1: Design & Planning
154
+ - [ ] Define `.opt` / `.req` file convention spec
155
+ - [ ] Design config schema for template metadata and flag mappings
156
+ - [ ] Design flag-based interface (primary) + interactive mode (opt-in)
157
+ - [ ] Document sub-spec template authoring guide
158
+
159
+ ### Phase 2: Core Implementation
160
+ - [ ] Extend `creator.ts` to handle sub-spec templates
161
+ - [ ] Implement file discovery (`.opt`, `.req` conventions)
162
+ - [ ] Add explicit sub-spec flags (`--design`, `--testing`, `--implementation`)
163
+ - [ ] Implement file filtering logic based on flags
164
+ - [ ] Update template resolution and variable substitution
165
+
166
+ ### Phase 3: Interactive Mode
167
+ - [ ] Add `--with-subs` flag for interactive mode
168
+ - [ ] Implement interactive prompt for sub-spec selection
169
+ - [ ] Handle multi-select UI for optional sub-specs
170
+
171
+ ### Phase 4: Template Updates
172
+ - [ ] Create example templates with sub-specs
173
+ - [ ] Update existing templates with `.opt` convention
174
+ - [ ] Add template metadata to config.json files
175
+ - [ ] Update default template with common sub-specs
176
+
177
+ ### Phase 5: Documentation & Testing
178
+ - [ ] Update CLI documentation for sub-spec flags
179
+ - [ ] Create sub-spec template authoring guide
180
+ - [ ] Update AGENTS.md with new commands
181
+ - [ ] Add integration tests for all scenarios
182
+ - [ ] Test AI agent workflows
183
+
184
+ ## Test
185
+
186
+ ### Test Scenarios
187
+
188
+ **Basic Sub-Spec Generation**:
189
+ - [ ] `lean-spec create feat --design` generates README.md + DESIGN.md
190
+ - [ ] `lean-spec create feat --design --testing` generates README.md + DESIGN.md + TESTING.md
191
+ - [ ] `lean-spec create feat` (no flags) generates only README.md
192
+
193
+ **Interactive Mode**:
194
+ - [ ] `lean-spec create feat --with-subs` shows interactive prompt
195
+ - [ ] Multi-select allows choosing multiple optional sub-specs
196
+ - [ ] Selected sub-specs are generated correctly
197
+
198
+ **Required Sub-Specs**:
199
+ - [ ] Templates with `.req` files always generate those files
200
+ - [ ] Required files included even without flags
201
+ - [ ] Example: API template always includes API.md
202
+
203
+ **Variable Substitution**:
204
+ - [ ] Variables work correctly in sub-spec templates
205
+ - [ ] Spec name, date, and custom variables populated
206
+ - [ ] Frontmatter generated correctly in sub-specs
207
+
208
+ **Edge Cases**:
209
+ - [ ] Invalid flag ignored gracefully
210
+ - [ ] Template without sub-specs works as before
211
+ - [ ] Mixed `.opt` and `.req` files handled correctly
212
+
213
+ ### AI Agent Test Protocol
214
+
215
+ ```bash
216
+ # AI agent determines feature needs DESIGN + TESTING
217
+ # Should invoke:
218
+ lean-spec create feature --design --testing
219
+
220
+ # Not this (requires interaction):
221
+ lean-spec create feature --with-subs
222
+ ```
223
+
224
+ ### Success Criteria
225
+ - [ ] AI agents can create specs with sub-specs programmatically
226
+ - [ ] No breaking changes to existing `lean-spec create` behavior
227
+ - [ ] Interactive mode provides good UX for human users
228
+ - [ ] Template authors can easily add sub-spec support
229
+
230
+ ## Notes
231
+
232
+ ### Why AI-First Design?
233
+
234
+ In AI-human co-op spec writing mode:
235
+ - **AI agents primarily use the CLI**, not humans
236
+ - **Interactive prompts block automation** - AI can't respond to prompts effectively
237
+ - **Flags are declarative** - AI can determine needed sub-specs and invoke with explicit flags
238
+ - **Humans can opt-in** - `--with-subs` flag preserves interactive experience when desired
239
+
240
+ Example AI workflow:
241
+ ```
242
+ AI analyzes task → determines needs DESIGN + TESTING sub-specs
243
+ → runs: lean-spec create feature --design --testing
244
+ → no interaction needed, continues working
245
+ ```
246
+
247
+ This aligns with 072-ai-agent-first-use-workflow principles: optimize for AI, accommodate humans.
248
+
249
+ ### Related Specs
250
+
251
+ - **073-template-engine-agents-md**: Completed Phase 1 (AGENTS.md template engine), Phase 2 split into this spec
252
+ - **012-sub-spec-files**: Original sub-spec design and conventions (archived)
253
+ - **072-ai-agent-first-use-workflow**: AI-first design principles
254
+ - **074-content-at-creation**: Related but different - passing content at creation vs sub-file generation
255
+
256
+ ### Split from Spec 073
257
+
258
+ Originally planned as Phase 2 of spec 073, split into separate spec because:
259
+ - Phase 1 (AGENTS.md template engine) is complete and independent
260
+ - Phase 2 (sub-spec template system) is a different feature with different scope
261
+ - Cleaner separation allows independent planning and archiving
262
+ - Phase 1 can be archived when appropriate while Phase 2 continues
263
+
264
+ ### Open Questions
265
+
266
+ - Should we support nested sub-specs (e.g., `design/architecture.md`)?
267
+ - How to handle conflicts if sub-spec file already exists?
268
+ - Should flags be cumulative or last-wins?
269
+ - Should we add `--all-subs` flag to include all optional sub-specs?
270
+ - How to discover available sub-specs for a template?
271
+
272
+ ### Alternative Approaches Considered
273
+
274
+ **1. Single `--subs` flag with comma-separated list**
275
+ ```bash
276
+ lean-spec create feat --subs=design,testing
277
+ ```
278
+ - ✅ More concise
279
+ - ❌ Less discoverable (need to know names)
280
+ - ❌ Less idiomatic (most CLIs use separate flags)
281
+
282
+ **2. Always prompt for sub-specs**
283
+ ```bash
284
+ lean-spec create feat
285
+ ? Include sub-specs? (Y/n)
286
+ ```
287
+ - ❌ Blocks automation
288
+ - ❌ Annoying for quick creates
289
+ - ❌ Not AI-friendly
290
+
291
+ **3. Config file to specify defaults**
292
+ ```json
293
+ {
294
+ "defaults": {
295
+ "subSpecs": ["DESIGN.md", "TESTING.md"]
296
+ }
297
+ }
298
+ ```
299
+ - ✅ Could work for power users
300
+ - ⚠️ Adds complexity
301
+ - 🤔 Could be added later as enhancement
302
+
303
+ **Decision**: Explicit flags as primary interface, interactive as opt-in secondary.
@@ -0,0 +1,196 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-13'
4
+ tags: []
5
+ priority: medium
6
+ created_at: '2025-11-13T13:58:57.973Z'
7
+ updated_at: '2025-11-13T14:14:29.048Z'
8
+ transitions:
9
+ - status: in-progress
10
+ at: '2025-11-13T13:59:02.939Z'
11
+ - status: complete
12
+ at: '2025-11-13T14:14:29.048Z'
13
+ completed_at: '2025-11-13T14:14:29.048Z'
14
+ completed: '2025-11-13'
15
+ ---
16
+
17
+ # CLI Alphabetical Organization
18
+
19
+ > **Status**: ✅ Complete · **Priority**: Medium · **Created**: 2025-11-13
20
+
21
+ **Project**: lean-spec
22
+ **Team**: Core Development
23
+
24
+ ## Overview
25
+
26
+ The `cli.ts` file has grown to **702 lines** with 20+ commands, making it difficult to maintain and locate commands. Commands are registered in implementation order (not alphabetical), and the help text groupings are incomplete.
27
+
28
+ **Goal**: Refactor CLI architecture to be maintainable at scale with clear organization patterns.
29
+
30
+ ## Problems
31
+
32
+ 1. **Size**: 702 lines in single file
33
+ 2. **Order**: Commands not alphabetically sorted (hard to find)
34
+ 3. **Inconsistency**: Help text missing `analyze`, `split`, `compact`, `tokens`
35
+ 4. **Duplication**: Command logic mixed with registration
36
+ 5. **Maintainability**: Adding commands requires editing massive file
37
+
38
+ ## Design
39
+
40
+ ### Pattern: Command Definition Files
41
+
42
+ Move each command's CLI definition to its own command file, following commander.js patterns used by tools like `pnpm`, `turbo`, `nx`:
43
+
44
+ ```
45
+ commands/
46
+ archive.ts - export archiveSpec() AND archiveCommand()
47
+ backfill.ts - export backfillTimestamps() AND backfillCommand()
48
+ create.ts - export createSpec() AND createCommand()
49
+ ...
50
+ ```
51
+
52
+ Each command file exports TWO things:
53
+ 1. **Business logic function** (already exists): e.g., `archiveSpec()`
54
+ 2. **NEW: Command definition function**: e.g., `archiveCommand()` that returns Commander `Command` object
55
+
56
+ ### Architecture
57
+
58
+ **Before (current)**:
59
+ ```typescript
60
+ // cli.ts (702 lines)
61
+ program
62
+ .command('archive <spec>')
63
+ .description('...')
64
+ .action(async (spec) => {
65
+ await archiveSpec(spec);
66
+ });
67
+ // ... 20+ more commands
68
+ ```
69
+
70
+ **After (proposed)**:
71
+ ```typescript
72
+ // cli.ts (~150 lines)
73
+ import { registerCommands } from './commands/registry.js';
74
+ const program = new Command();
75
+ registerCommands(program);
76
+ program.parse();
77
+
78
+ // commands/registry.ts
79
+ export function registerCommands(program: Command) {
80
+ // Alphabetically sorted
81
+ program.addCommand(analyzeCommand());
82
+ program.addCommand(archiveCommand());
83
+ program.addCommand(backfillCommand());
84
+ // ... etc
85
+ }
86
+
87
+ // commands/archive.ts
88
+ export function archiveCommand(): Command {
89
+ return new Command('archive')
90
+ .description('Move spec to archived/')
91
+ .argument('<spec>', 'Spec to archive')
92
+ .action(async (spec) => {
93
+ await archiveSpec(spec);
94
+ });
95
+ }
96
+
97
+ export async function archiveSpec(specPath: string) {
98
+ // existing logic
99
+ }
100
+ ```
101
+
102
+ ### Benefits
103
+
104
+ 1. **Alphabetical by default**: Registry enforces order
105
+ 2. **Single responsibility**: Each file = one command
106
+ 3. **Easier to add commands**: Create file, export command, add to registry
107
+ 4. **Testable**: Can test command definitions separately
108
+ 5. **Smaller files**: ~50 lines per command vs 702-line monolith
109
+ 6. **Clear structure**: Command definition co-located with logic
110
+
111
+ ### Command Groups in Help
112
+
113
+ Update help text to use **functional grouping** with complete command list:
114
+
115
+ ```
116
+ Command Groups:
117
+
118
+ Core Workflow:
119
+ init, create, update, archive, migrate
120
+
121
+ Discovery & Search:
122
+ list, view, open, search, files
123
+
124
+ Project Analytics:
125
+ board, stats, timeline, gantt, deps
126
+
127
+ Quality & Optimization:
128
+ analyze, tokens, validate, check
129
+
130
+ Advanced Editing:
131
+ split, compact
132
+
133
+ Configuration:
134
+ templates
135
+
136
+ Integration:
137
+ mcp (MCP server)
138
+ ```
139
+
140
+ ## Plan
141
+
142
+ ### Phase 1: Extract Command Definitions
143
+ - [ ] Create `commands/registry.ts` with `registerCommands()` function
144
+ - [ ] Update each command file (e.g., `archive.ts`) to export command definition function
145
+ - [ ] Verify each command still exports business logic for backward compatibility
146
+
147
+ ### Phase 2: Refactor cli.ts
148
+ - [ ] Import and call `registerCommands()` in `cli.ts`
149
+ - [ ] Remove individual command registrations (keep only program setup + help text)
150
+ - [ ] Update help text with complete alphabetical command list
151
+ - [ ] Reduce `cli.ts` from 702 to ~150 lines
152
+
153
+ ### Phase 3: Validation
154
+ - [ ] Run `pnpm build` - ensure TypeScript compiles
155
+ - [ ] Run `node bin/lean-spec.js --help` - verify alphabetical order
156
+ - [ ] Test sample commands: `create`, `list`, `view`, `validate`, `tokens`
157
+ - [ ] Run existing test suite: `pnpm test:run`
158
+ - [ ] Check command count matches (currently 20+ commands)
159
+
160
+ ## Test
161
+
162
+ **Validation criteria**:
163
+ - ✅ Commands appear alphabetically in `--help` output
164
+ - ✅ Help text includes ALL commands (analyze, split, compact, tokens)
165
+ - ✅ `cli.ts` reduced to <200 lines
166
+ - ✅ All existing tests pass
167
+ - ✅ No breaking changes to command behavior
168
+
169
+ **Manual testing**:
170
+ ```bash
171
+ node bin/lean-spec.js --help # alphabetical order
172
+ node bin/lean-spec.js create test-spec # works
173
+ node bin/lean-spec.js tokens 059 # works
174
+ node bin/lean-spec.js validate # works
175
+ ```
176
+
177
+ ## Notes
178
+
179
+ ### Alternatives Considered
180
+
181
+ 1. **Keep monolithic cli.ts, just alphabetize**: Doesn't solve scalability
182
+ 2. **Subcommand grouping** (e.g., `lean-spec analytics board`): Breaking change
183
+ 3. **Plugin architecture**: Over-engineering for current scale
184
+
185
+ ### Migration Safety
186
+
187
+ - Commands already have separate files in `commands/`
188
+ - Business logic stays unchanged
189
+ - Only CLI registration moves
190
+ - Backward compatible (same command syntax)
191
+
192
+ ### Future Enhancements
193
+
194
+ - Auto-generate help text from command metadata
195
+ - Command aliases (e.g., `ls` → `list`)
196
+ - Plugin system for custom commands