@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,327 @@
1
+ # Validation Rules
2
+
3
+ This document details what gets validated by `lean-spec validate` and the specific rules for each validation type.
4
+
5
+ **Note:** This spec originally proposed expanding `lean-spec check`, but the implementation created `lean-spec validate` as a separate command.
6
+
7
+ ## Implementation Status
8
+
9
+ - ✅ **Line Count Validation** - Phase 1a Complete
10
+ - ✅ **Frontmatter Validation** - Phase 1b Complete
11
+ - ⏳ **Structure Validation** - Phase 2 (Planned)
12
+ - ⏳ **Corruption Detection** - Phase 3 (High Priority)
13
+ - ⏳ **Sub-Spec Validation** - Phase 3.5 (High Priority)
14
+ - ⏳ **Content Validation** - Phase 4 (Optional)
15
+ - ⏳ **Staleness Detection** - Phase 5 (Optional)
16
+
17
+ ---
18
+
19
+ ## Line Count Validation ✅
20
+
21
+ **Status:** Implemented in Phase 1a
22
+
23
+ **Thresholds:**
24
+ - **Warning**: 300-400 lines (approaching limit)
25
+ - **Error**: >400 lines (exceeds limit)
26
+ - **Configurable**: `--max-lines` flag to customize limit
27
+
28
+ **Rationale:**
29
+ Enforces **Context Economy** principle - specs must fit in working memory (human and AI). Files >400 lines become difficult to read, edit, and maintain.
30
+
31
+ **Suggestions:**
32
+ - Warns: "Consider simplification or splitting"
33
+ - Errors: "Consider splitting into sub-specs using spec 012 pattern"
34
+
35
+ ---
36
+
37
+ ## Frontmatter Validation ✅
38
+
39
+ **Status:** Implemented in Phase 1b (27 tests passing)
40
+
41
+ **Required Fields:**
42
+ - `status` - Must be present
43
+ - `created` - Must be present
44
+
45
+ **Status Values:**
46
+ - Valid: `planned`, `in-progress`, `complete`, `archived`
47
+ - Invalid: Any other value (e.g., `wip`, `draft`, `done`)
48
+
49
+ **Priority Values:**
50
+ - Valid: `low`, `medium`, `high`, `critical`
51
+ - Optional field, but if present must be valid
52
+
53
+ **Date Formats:**
54
+ - ISO 8601 format (YYYY-MM-DD or full ISO timestamp)
55
+ - `created` field must be valid date
56
+ - Other date fields (if present) must be valid
57
+
58
+ **Tags:**
59
+ - Must be array of strings
60
+ - Example: `["quality", "validation", "cli"]`
61
+
62
+ **Custom Fields:**
63
+ - If config schema defined, custom fields must match
64
+ - Type validation based on config
65
+
66
+ ## Structure Validation
67
+
68
+ **File Requirements:**
69
+ - `README.md` must exist in spec directory
70
+ - Frontmatter must be valid YAML
71
+ - Must have title (H1 heading: `# Title`)
72
+
73
+ **Section Requirements:**
74
+ - Required sections based on template
75
+ - Typically: Overview, Design, Plan, Test
76
+ - No empty required sections (content beyond just comment)
77
+ - No duplicate section headers at same level
78
+
79
+ ## Sub-Spec Validation
80
+
81
+ **File Naming Conventions (from spec 012):**
82
+ - Sub-spec files should follow recommended naming patterns
83
+ - Standard names: `DESIGN.md`, `IMPLEMENTATION.md`, `TESTING.md`, `API.md`, `ARCHITECTURE.md`, `MIGRATION.md`, `CONFIGURATION.md`, etc.
84
+ - Custom names allowed but should be descriptive (e.g., `PHASE1.md`, `RESEARCH.md`)
85
+ - Assets should be in `assets/` subdirectory
86
+
87
+ **README.md Integration:**
88
+ - Main `README.md` should reference all sub-spec files
89
+ - Links can be in any section (Overview, Design, etc.)
90
+ - Missing links to sub-specs generate warnings
91
+ - Example: `[Testing Strategy](TESTING.md)` or `See [DESIGN.md](DESIGN.md)`
92
+
93
+ **Line Count Per Sub-Spec (Context Economy):**
94
+ - Each sub-spec file should be < 400 lines (error threshold)
95
+ - Warning at 300 lines (same as main spec)
96
+ - Rationale: Context Economy applies to each file independently
97
+ - Sub-specs exist to split complexity - they shouldn't become bloated
98
+
99
+ **Orphan Detection:**
100
+ - Detect sub-spec markdown files not referenced from README.md
101
+ - Warn about orphaned sub-specs (may be deprecated)
102
+ - Exception: README.md itself is never orphaned
103
+ - Assets (.png, .svg, etc.) are checked separately
104
+
105
+ **Cross-Document Validation:**
106
+ - Validate internal links between sub-specs work correctly
107
+ - Check relative paths are correct
108
+ - Detect circular references (if spec A links to B, B to C, C to A)
109
+
110
+ **Sub-Spec Structure:**
111
+ - Each sub-spec should have clear heading structure
112
+ - Should include backlink to main spec (recommended)
113
+ - Example: `> Part of spec: [018-spec-validation](README.md)`
114
+
115
+ ## Content Validation
116
+
117
+ **Minimum Requirements:**
118
+ - Spec must have minimum content length (avoid stub specs)
119
+ - Default: 100 characters (configurable)
120
+
121
+ **Quality Checks:**
122
+ - No TODO/FIXME in complete specs
123
+ - Internal links should be valid (no broken references)
124
+ - No placeholder text in complete specs
125
+
126
+ ## Corruption Detection
127
+
128
+ **Duplicate Content:**
129
+ - No duplicate section headers at same level
130
+ - Detect sections appearing multiple times
131
+ - Example: "## Plan" appearing twice in same spec
132
+
133
+ **Code Block Validation:**
134
+ - All code blocks properly closed (unclosed blocks break syntax highlighting)
135
+ - Matching number of opening ``` and closing ```
136
+ - This is the #1 indicator of corruption humans notice visually
137
+
138
+ **Formatting Validation:**
139
+ - Unclosed bold formatting (**) in actual content
140
+ - Unclosed italic formatting (*) in actual content
141
+ - Excludes code blocks, inline code, and list markers from checks
142
+ - Only validates markdown content outside code fences
143
+
144
+ **Duplicate Content Detection:**
145
+ - Detects duplicated content blocks (5+ consecutive lines, 100+ chars)
146
+ - Excludes code blocks to prevent false positives from code examples
147
+ - Tuned to reduce noise: was 3 lines/50 chars (too sensitive)
148
+ - Helps find merge artifacts and failed edits
149
+ - Warnings only (not errors) as some duplication is intentional
150
+
151
+ **Intentionally Excluded:**
152
+ - ❌ JSON/YAML validation in code blocks (examples often show invalid syntax)
153
+ - ❌ Table and list structure validation (too noisy, not actual corruption)
154
+
155
+ **Sub-Spec Duplication:**
156
+ - Detect if same content appears in multiple sub-specs
157
+ - Warn about significant content overlap between files
158
+ - Helps identify when content should be consolidated
159
+
160
+ ### Corruption Detection Philosophy
161
+
162
+ **Focus on visually apparent corruption:**
163
+ - What breaks rendering (unclosed code blocks, unclosed formatting)
164
+ - What humans actually notice when reading specs
165
+ - Not semantic issues or style preferences
166
+
167
+ **Why we exclude certain checks:**
168
+ - JSON/YAML in code blocks: Examples intentionally show invalid syntax
169
+ - Duplicate content detection: Many false positives from boilerplate/templates
170
+ - Table/list validation: Too noisy, rarely indicates actual corruption
171
+
172
+ **Tuning for signal-to-noise:**
173
+ - Originally: 3 lines, 50 chars → 13 duplicate warnings across all specs
174
+ - Improved: 5 lines, 100 chars, exclude code blocks → More targeted detection
175
+ - Goal: Only flag genuine corruption, not common patterns
176
+
177
+ ## Staleness Detection
178
+
179
+ **In-Progress Specs:**
180
+ - Warn if status is `in-progress` for > 30 days
181
+ - Suggests spec might be stalled
182
+
183
+ **No Updates:**
184
+ - Warn if no updates in > 90 days
185
+ - Based on git history or file mtime
186
+ - Suggests spec might be abandoned
187
+
188
+ **Planned Specs:**
189
+ - Warn if status is `planned` for > 60 days
190
+ - Suggests planning without execution
191
+
192
+ **Archived Specs:**
193
+ - No staleness warnings for archived specs
194
+ - Archived specs are expected to be static
195
+
196
+ ## Auto-Fix Capabilities
197
+
198
+ ### Fixable Issues
199
+
200
+ **Frontmatter:**
201
+ - Add missing required fields (use defaults)
202
+ - Format dates to ISO 8601 standard
203
+ - Sort frontmatter fields alphabetically
204
+ - Update visual badges to match frontmatter
205
+
206
+ **Structure:**
207
+ - Add missing required sections (as comments)
208
+ - Remove duplicate sections (keep first occurrence)
209
+ - Close unclosed code blocks (where unambiguous)
210
+
211
+ **Sub-Specs:**
212
+ - Add missing links to sub-specs in README.md
213
+ - Generate suggested backlinks for sub-specs
214
+ - Create "Documentation Structure" section if missing (when sub-specs exist)
215
+
216
+ ### Non-Fixable Issues
217
+
218
+ These require manual intervention:
219
+ - Invalid status/priority values (requires decision)
220
+ - Empty required sections (requires content)
221
+ - Broken links (requires investigation)
222
+ - Stale specs (requires status update or work)
223
+ - Complex corruption (requires human judgment)
224
+
225
+ ## Error Severity Levels
226
+
227
+ **Error (blocks passing):**
228
+ - Missing required fields
229
+ - Invalid status/priority values
230
+ - Duplicate sections
231
+ - Corrupted code blocks
232
+ - Invalid JSON/YAML syntax
233
+ - Malformed markdown structure
234
+
235
+ **Warning (passes with warning):**
236
+ - Stale specs
237
+ - Suggested improvements
238
+ - Minor formatting issues
239
+ - Empty optional sections
240
+
241
+ **Info (informational):**
242
+ - Best practice suggestions
243
+ - Style recommendations
244
+ - Optimization hints
245
+
246
+ ## Validation Rules Configuration
247
+
248
+ Rules can be customized in `.lean-spec/config.json`:
249
+
250
+ ```json
251
+ {
252
+ "check": {
253
+ "rules": {
254
+ "frontmatter": {
255
+ "required": ["status", "created"],
256
+ "allowedStatus": ["planned", "in-progress", "complete", "archived"],
257
+ "allowedPriority": ["low", "medium", "high", "critical"]
258
+ },
259
+ "structure": {
260
+ "requireReadme": true,
261
+ "requiredSections": ["Overview", "Design", "Plan"],
262
+ "forbidEmptySections": true
263
+ },
264
+ "content": {
265
+ "minLength": 100,
266
+ "forbidTodoInComplete": true,
267
+ "validateLinks": true
268
+ },
269
+ "corruption": {
270
+ "detectDuplicateSections": true,
271
+ "validateCodeBlocks": true,
272
+ "validateJsonYaml": true,
273
+ "detectFragments": true
274
+ },
275
+ "staleness": {
276
+ "inProgressMaxDays": 30,
277
+ "noUpdateMaxDays": 90,
278
+ "plannedMaxDays": 60
279
+ },
280
+ "subSpecs": {
281
+ "validateNaming": true,
282
+ "requireReferences": true,
283
+ "detectOrphans": true,
284
+ "maxLinesPerFile": 400,
285
+ "warnLinesPerFile": 300,
286
+ "validateCrossReferences": true,
287
+ "standardNames": [
288
+ "DESIGN.md",
289
+ "IMPLEMENTATION.md",
290
+ "TESTING.md",
291
+ "API.md",
292
+ "ARCHITECTURE.md",
293
+ "MIGRATION.md",
294
+ "CONFIGURATION.md"
295
+ ]
296
+ }
297
+ }
298
+ }
299
+ }
300
+ ```
301
+
302
+ ## Why These Rules?
303
+
304
+ **Frontmatter:**
305
+ - Ensures specs are trackable and categorizable
306
+ - Required fields enable automation and reporting
307
+ - Valid values prevent typos and inconsistencies
308
+
309
+ **Structure:**
310
+ - Maintains consistency across team
311
+ - Makes specs easier to navigate
312
+ - Enables automated processing
313
+
314
+ **Content:**
315
+ - Prevents stub specs from cluttering project
316
+ - Ensures specs are complete before marking done
317
+ - Maintains quality standards
318
+
319
+ **Corruption:**
320
+ - Catches errors from failed AI edits
321
+ - Prevents shipping broken specs
322
+ - Early detection saves debugging time
323
+
324
+ **Staleness:**
325
+ - Identifies abandoned work
326
+ - Prompts status updates
327
+ - Keeps project health visible
@@ -0,0 +1,117 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-03'
4
+ tags:
5
+ - ux
6
+ - polish
7
+ - v0.2.0
8
+ priority: high
9
+ related:
10
+ - 043-official-launch-02
11
+ created_at: '2025-11-03T00:00:00Z'
12
+ updated_at: '2025-11-05T05:43:43.501Z'
13
+ completed_at: '2025-11-05T05:43:43.501Z'
14
+ completed: '2025-11-05'
15
+ transitions:
16
+ - status: complete
17
+ at: '2025-11-05T05:43:43.501Z'
18
+ ---
19
+
20
+ # Pattern-Aware List Grouping
21
+
22
+ > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-03 · **Tags**: ux, polish, v0.2.0
23
+
24
+
25
+ > Make `lean-spec list` adapt to flat vs date-grouped folder patterns
26
+
27
+ ## Overview
28
+
29
+ Currently `list.ts` has hardcoded date grouping logic that assumes the `{YYYYMMDD}/{NNN}-{name}/` pattern. When users configure flat patterns like `{NNN}-{name}/` or custom patterns, the list command still tries to group by date, which doesn't make sense.
30
+
31
+ **Issue:** List command doesn't adapt to configured folder pattern.
32
+
33
+ **Solution:** Detect pattern type and adjust grouping accordingly.
34
+
35
+ ## Design
36
+
37
+ Make `lean-spec list` respect the configured folder pattern:
38
+
39
+ 1. **For date-grouped patterns** (contains `{YYYYMMDD}/`):
40
+ - Group by date as it does now
41
+ - Show date headers
42
+
43
+ 2. **For flat patterns**:
44
+ - Show flat list, no date grouping
45
+ - Or group by prefix if present
46
+
47
+ 3. **For custom patterns**:
48
+ - Adapt based on pattern structure
49
+ - Default to flat list if unclear
50
+
51
+ **Implementation:**
52
+ - Read `folderPattern` from config
53
+ - Detect if pattern includes date component
54
+ - Adjust grouping logic in `list.ts` accordingly
55
+
56
+ ## Plan
57
+
58
+ **Status (2025-11-05):** ✅ Complete - Implemented pattern detection utility and updated list command
59
+
60
+ - [x] Extract grouping logic from `list.ts`
61
+ - [x] Add pattern detection utility
62
+ - [x] Implement adaptive grouping
63
+ - [x] Add tests for flat/date/custom patterns
64
+ - [x] Update documentation
65
+
66
+ **Implementation Notes:**
67
+ - Makes list command respect configured folder patterns
68
+ - Fixes hardcoded date grouping assumption
69
+ - Improves UX for users with flat or custom patterns
70
+ - Part of spec 043 launch preparation
71
+ - Estimated: 2-3 hours implementation
72
+ - Works with spec 026 (pattern selection during init)
73
+
74
+ **Technical Approach:**
75
+ 1. Read `folderPattern` from `.lean-spec/config.json`
76
+ 2. Detect if pattern contains `{YYYYMMDD}/` for date grouping
77
+ 3. Apply appropriate grouping strategy in list output
78
+ 4. Maintain backward compatibility
79
+
80
+ ## Implementation (2025-11-05)
81
+
82
+ **Created new utility module:** `src/utils/pattern-detection.ts`
83
+ - Exports `detectPatternType()` function that returns explicit pattern type
84
+ - Pattern types: `flat`, `date-grouped`, or `custom-grouped`
85
+ - Helper functions: `isDateGroupedPattern()`, `shouldGroupSpecs()`
86
+ - Makes the logic testable and reusable
87
+
88
+ **Updated list command:** `src/commands/list.ts`
89
+ - Replaced inline pattern detection with utility function
90
+ - Clearer intent: detect pattern type, then decide rendering strategy
91
+ - Maintains full backward compatibility
92
+
93
+ **Test coverage:**
94
+ - 14 unit tests for pattern-detection utility
95
+ - 4 integration tests for list command:
96
+ - Flat pattern → flat list
97
+ - Date-grouped pattern → grouped by date
98
+ - Custom-grouped pattern → grouped by custom field (e.g., milestone)
99
+ - Flat with date prefix → flat list (prefix in name, not folder)
100
+ - All 261 tests pass
101
+
102
+ **Files changed:**
103
+ - `src/utils/pattern-detection.ts` (new)
104
+ - `src/utils/pattern-detection.test.ts` (new)
105
+ - `src/list-integration.test.ts` (new)
106
+ - `src/commands/list.ts` (updated)
107
+
108
+ ## Test
109
+
110
+ - [x] List command adapts to configured pattern
111
+ - [x] Date grouping works for date-grouped patterns
112
+ - [x] Flat list works for flat patterns
113
+ - [x] No breaking changes to existing behavior
114
+
115
+ ## Notes
116
+
117
+ Related to spec 20251103/002-folder-structure-improvements - this is a polish issue split out for focused tracking.
@@ -0,0 +1,73 @@
1
+ ---
2
+ status: planned
3
+ created: 2025-11-03
4
+ tags: [templates, polish]
5
+ priority: low
6
+ ---
7
+
8
+ # Template Config Updates
9
+
10
+ > Update all template configs to use new format consistently
11
+
12
+ ## Overview
13
+
14
+ The built-in templates (minimal, standard, enterprise) in `templates/` still use the legacy config format. They work fine but are inconsistent with the new flexible folder structure config format introduced in spec 20251103/001.
15
+
16
+ **Issue:** Templates use old config format.
17
+
18
+ **Solution:** Update all template `config.json` files to new format with `folderPattern`.
19
+
20
+ ## Design
21
+
22
+ Update templates to use new config format:
23
+
24
+ **Current format (legacy):**
25
+ ```json
26
+ {
27
+ "specDir": "specs"
28
+ }
29
+ ```
30
+
31
+ **New format:**
32
+ ```json
33
+ {
34
+ "specDir": "specs",
35
+ "folderPattern": "{YYYYMMDD}/{NNN}-{name}/",
36
+ "prefix": "",
37
+ "frontmatter": {
38
+ "required": ["status", "created"],
39
+ "custom": {}
40
+ }
41
+ }
42
+ ```
43
+
44
+ **Templates to update:**
45
+ - `templates/minimal/config.json`
46
+ - `templates/standard/config.json`
47
+ - `templates/enterprise/config.json`
48
+
49
+ Each template should have a sensible default `folderPattern`:
50
+ - **Minimal**: Flat pattern `{NNN}-{name}/` (simplest)
51
+ - **Standard**: Date-grouped `{YYYYMMDD}/{NNN}-{name}/` (prevents conflicts)
52
+ - **Enterprise**: Date-grouped `{YYYYMMDD}/{NNN}-{name}/` (team workflows)
53
+
54
+ ## Plan
55
+
56
+ - [ ] Update `templates/minimal/config.json`
57
+ - [ ] Update `templates/standard/config.json`
58
+ - [ ] Update `templates/enterprise/config.json`
59
+ - [ ] Test template creation with new configs
60
+ - [ ] Update template README files if needed
61
+
62
+ ## Test
63
+
64
+ - [ ] All templates use new config format
65
+ - [ ] `lean-spec init` works with each template
66
+ - [ ] Config merging works correctly
67
+ - [ ] Backward compatibility maintained
68
+
69
+ ## Notes
70
+
71
+ Related to spec 20251103/002-folder-structure-improvements - this is a polish issue split out for focused tracking.
72
+
73
+ Low priority since legacy format still works, but good for consistency.
@@ -0,0 +1,109 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-03'
4
+ tags:
5
+ - ux
6
+ - init
7
+ - v0.2.0
8
+ priority: high
9
+ related:
10
+ - 043-official-launch-02
11
+ created_at: '2025-11-03T00:00:00Z'
12
+ updated_at: '2025-11-05T05:44:40.533Z'
13
+ completed_at: '2025-11-05T05:44:40.533Z'
14
+ completed: '2025-11-05'
15
+ transitions:
16
+ - status: complete
17
+ at: '2025-11-05T05:44:40.533Z'
18
+ ---
19
+
20
+ # Init Pattern Selection
21
+
22
+ > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-03 · **Tags**: ux, init, v0.2.0
23
+
24
+
25
+ > Let users choose folder pattern during `lean-spec init`
26
+
27
+ ## Overview
28
+
29
+ Currently when running `lean-spec init`, users can only choose a template (minimal/standard/enterprise). The folder pattern is set by the template and users must manually edit `.lean-spec/config.json` to change it.
30
+
31
+ **Issue:** No way to choose folder pattern during initialization.
32
+
33
+ **Solution:** Add pattern selection step to init wizard.
34
+
35
+ ## Design
36
+
37
+ Enhance the `lean-spec init` wizard to offer pattern choices:
38
+
39
+ **Current flow:**
40
+ 1. Choose template (minimal/standard/enterprise)
41
+ 2. Confirm → Done
42
+
43
+ **New flow:**
44
+ 1. Choose template (minimal/standard/enterprise)
45
+ 2. Choose folder pattern:
46
+ - `{YYYYMMDD}/{NNN}-{name}/` (Date-grouped - recommended for teams)
47
+ - `{YYYYMMDD}-{NNN}-{name}/` (Flat with date prefix)
48
+ - `{NNN}-{name}/` (Simple sequential)
49
+ - Custom (enter your own)
50
+ 3. Confirm → Done
51
+
52
+ **UI mockup:**
53
+ ```bash
54
+ $ lean-spec init
55
+
56
+ ? Select a template:
57
+ ❯ standard
58
+ minimal
59
+ enterprise
60
+
61
+ ? Select folder pattern:
62
+ ❯ Date-grouped: 20251103/001-my-spec/ (recommended for teams)
63
+ Flat with date: 20251103-001-my-spec/
64
+ Simple: 001-my-spec/
65
+ Custom pattern
66
+ ```
67
+
68
+ **Implementation:**
69
+ - Add pattern selection prompt to `init.ts`
70
+ - Override template's `folderPattern` in generated config
71
+ - Provide sensible descriptions for each pattern
72
+ - Default to date-grouped (current best practice)
73
+
74
+ ## Plan
75
+
76
+ **Status (2025-11-04):** Ready to implement - part of Phase 2 UX improvements for v0.2.0
77
+
78
+ - [ ] Add pattern selection to init wizard
79
+ - [ ] Update init command to handle pattern choice
80
+ - [ ] Add pattern override logic
81
+ - [ ] Update documentation
82
+ - [ ] Add tests for pattern selection
83
+
84
+ **Implementation Notes:**
85
+ - Straightforward UX enhancement to init flow
86
+ - Improves onboarding by eliminating manual config edits
87
+ - Part of spec 043 launch preparation
88
+ - Estimated: 3-4 hours implementation
89
+ - No blocking dependencies
90
+
91
+ **Testing Priority:**
92
+ - Pattern selection UI is intuitive
93
+ - Selected pattern correctly overrides template default
94
+ - Custom pattern validation works
95
+ - Backward compatibility maintained
96
+
97
+ ## Test
98
+
99
+ - [ ] Init wizard offers pattern choices
100
+ - [ ] Selected pattern overrides template default
101
+ - [ ] Custom pattern option works
102
+ - [ ] Default pattern is date-grouped
103
+ - [ ] Backward compatibility (skip pattern selection if not needed)
104
+
105
+ ## Notes
106
+
107
+ Related to spec 20251103/002-folder-structure-improvements - this is a polish issue split out for focused tracking.
108
+
109
+ This improves onboarding by letting users choose the right pattern upfront instead of requiring manual config edits.