@leanspec/ui 0.2.7-dev.20251126100750 → 0.2.7

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 (364) hide show
  1. package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  2. package/.next/standalone/node_modules/.pnpm/{@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64 → @img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64}/package.json +7 -13
  3. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/README.md +2 -2
  4. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
  5. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
  6. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/package.json +5 -11
  7. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  8. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  9. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  10. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  11. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +2 -2
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  39. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  49. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +2 -2
  50. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  51. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +1 -1
  52. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
  53. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  56. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  58. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  59. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  60. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  61. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  62. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +196 -0
  63. package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +20 -0
  64. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +59 -0
  65. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +1 -0
  66. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +427 -0
  67. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +436 -0
  68. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +20 -0
  69. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +10 -0
  70. package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +18 -0
  71. package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +7 -0
  72. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +83 -0
  73. package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +8 -0
  74. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
  75. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/favicon.ico +0 -0
  76. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/file.svg +1 -0
  77. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark-white.svg +1 -0
  78. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark.svg +1 -0
  79. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/globe.svg +1 -0
  80. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/icon.svg +7 -0
  81. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-dark-bg.svg +17 -0
  82. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-with-bg.svg +17 -0
  83. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo.svg +17 -0
  84. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/next.svg +1 -0
  85. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/vercel.svg +1 -0
  86. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/window.svg +1 -0
  87. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
  88. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +23 -0
  89. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +19 -0
  90. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +63 -0
  91. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +51 -0
  92. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +171 -0
  93. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +36 -0
  94. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +46 -0
  95. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +19 -0
  96. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +162 -0
  97. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +43 -0
  98. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +18 -0
  99. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +364 -0
  100. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +43 -0
  101. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +531 -0
  102. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +277 -0
  103. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +70 -0
  104. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +87 -0
  105. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +27 -0
  106. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +18 -0
  107. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +5 -0
  108. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +43 -0
  109. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +18 -0
  110. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +425 -0
  111. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +18 -0
  112. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +283 -0
  113. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +46 -0
  114. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +52 -0
  115. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +175 -0
  116. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +96 -0
  117. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +95 -0
  118. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +210 -0
  119. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +53 -0
  120. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +180 -0
  121. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +119 -0
  122. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +369 -0
  123. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +372 -0
  124. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +42 -0
  125. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +70 -0
  126. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +136 -0
  127. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +127 -0
  128. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +186 -0
  129. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +561 -0
  130. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +53 -0
  131. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +143 -0
  132. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +130 -0
  133. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +11 -0
  134. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +37 -0
  135. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +50 -0
  136. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +36 -0
  137. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +110 -0
  138. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +57 -0
  139. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +76 -0
  140. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +153 -0
  141. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +122 -0
  142. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +24 -0
  143. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +159 -0
  144. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +31 -0
  145. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +15 -0
  146. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +55 -0
  147. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +30 -0
  148. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +32 -0
  149. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +76 -0
  150. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +42 -0
  151. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +18 -0
  152. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +114 -0
  153. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +123 -0
  154. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +156 -0
  155. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +216 -0
  156. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +105 -0
  157. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +120 -0
  158. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +94 -0
  159. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +249 -0
  160. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +55 -0
  161. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +152 -0
  162. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +171 -0
  163. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +17 -0
  164. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +18 -0
  165. package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +58 -0
  166. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +34 -0
  167. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +1 -0
  168. package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +14 -0
  169. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
  170. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
  171. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
  172. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
  173. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
  174. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
  175. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
  176. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
  177. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
  178. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
  179. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
  180. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
  181. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
  182. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
  183. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
  184. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
  185. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +306 -0
  186. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
  187. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
  188. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
  189. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
  190. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
  191. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
  192. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
  193. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
  194. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
  195. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
  196. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
  197. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
  198. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
  199. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
  200. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
  201. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
  202. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
  203. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
  204. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
  205. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
  206. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
  207. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
  208. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
  209. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
  210. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
  211. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
  212. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
  213. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
  214. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
  215. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
  216. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
  217. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
  218. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
  219. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
  220. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
  221. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
  222. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
  223. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
  224. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
  225. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
  226. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
  227. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
  228. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
  229. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
  230. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
  231. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
  232. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
  233. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
  234. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
  235. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
  236. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
  237. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
  238. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
  239. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
  240. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
  241. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
  242. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
  243. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
  244. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
  245. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
  246. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
  247. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
  248. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
  249. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
  250. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
  251. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
  252. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
  253. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
  254. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
  255. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
  256. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
  257. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
  258. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
  259. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
  260. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
  261. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
  262. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
  263. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
  264. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
  265. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
  266. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +287 -0
  267. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
  268. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
  269. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
  270. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
  271. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
  272. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
  273. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
  274. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
  275. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +825 -0
  276. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
  277. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
  278. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
  279. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
  280. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +501 -0
  281. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
  282. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
  283. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
  284. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
  285. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +421 -0
  286. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +106 -0
  287. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +126 -0
  288. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +131 -0
  289. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +254 -0
  290. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +152 -0
  291. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +65 -0
  292. package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +332 -0
  293. package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +339 -0
  294. package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +399 -0
  295. package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +525 -0
  296. package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +387 -0
  297. package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +613 -0
  298. package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +266 -0
  299. package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +100 -0
  300. package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +172 -0
  301. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
  302. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
  303. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
  304. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
  305. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
  306. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
  307. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
  308. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
  309. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
  310. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
  311. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
  312. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
  313. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
  314. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
  315. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
  316. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
  317. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
  318. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
  319. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
  320. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
  321. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
  322. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
  323. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
  324. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
  325. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
  326. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
  327. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
  328. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
  329. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
  330. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
  331. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
  332. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
  333. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
  334. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
  335. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
  336. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
  337. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
  338. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
  339. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
  340. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
  341. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
  342. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
  343. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
  344. package/.next/standalone/packages/ui/package.json +1 -1
  345. package/.next/standalone/packages/ui/server.js +1 -1
  346. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  347. package/package.json +2 -2
  348. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  349. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  350. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  351. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  352. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  353. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  354. package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  355. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  356. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  357. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/index.js +0 -0
  358. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/versions.json +0 -0
  359. /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_buildManifest.js +0 -0
  360. /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_clientMiddlewareManifest.json +0 -0
  361. /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_ssgManifest.js +0 -0
  362. /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_buildManifest.js +0 -0
  363. /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_clientMiddlewareManifest.json +0 -0
  364. /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_ssgManifest.js +0 -0
@@ -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.
@@ -0,0 +1,107 @@
1
+ ---
2
+ status: planned
3
+ created: '2025-11-03'
4
+ tags:
5
+ - vscode
6
+ - copilot
7
+ - ai
8
+ - ux
9
+ - v0.2.0-optional
10
+ priority: medium
11
+ created_at: '2025-11-03T00:00:00Z'
12
+ updated_at: '2025-11-05T05:03:54.950Z'
13
+ depends_on:
14
+ - 067-monorepo-core-extraction
15
+ - 017-vscode-extension
16
+ ---
17
+
18
+ # GitHub Copilot Chat Slash Commands & Prompts
19
+
20
+ > **Status**: 🗓️ Planned · **Priority**: Medium · **Created**: 2025-11-03 · **Tags**: vscode, copilot, ai, ux, v0.2.0-optional
21
+
22
+ **Project**: lean-spec
23
+ **Team**: Core Development
24
+
25
+ ## Overview
26
+
27
+ Add LeanSpec integration directly into VS Code via GitHub Copilot Chat using slash commands and chat participants. This enables developers to interact with specs naturally through Copilot chat without leaving their coding context.
28
+
29
+ **Why now?** Copilot Chat is where developers already ask questions and get guidance. Integrating LeanSpec here makes specs discoverable and actionable at the exact moment they're needed—when writing code.
30
+
31
+ ## Design
32
+
33
+ **Implementation Options:**
34
+
35
+ **Option A: Chat Participant** (Recommended)
36
+ - Register `@lean-spec` chat participant via VS Code extension
37
+ - Natural language interactions: `@lean-spec what's the status of auth system?`
38
+ - Context-aware: can reference open files, workspace, current work
39
+
40
+ **Option B: Slash Commands**
41
+ - Register commands like `/lspec-search`, `/lspec-create`, `/lspec-status`
42
+ - More structured but less conversational
43
+ - Fallback if participant API has limitations
44
+
45
+ **Key Features:**
46
+ - `/lean-spec search <query>` or `@lean-spec search for authentication specs`
47
+ - `/lean-spec status` or `@lean-spec show me what's in progress`
48
+ - `/lean-spec create` or `@lean-spec help me create a spec for this feature`
49
+ - `/lean-spec read <spec>` or `@lean-spec show me the API redesign spec`
50
+ - `/lean-spec update <spec> --status <status>` or `@lean-spec mark auth-system as complete`
51
+
52
+ **Context Integration:**
53
+ - Automatically detect related specs based on open files
54
+ - Suggest creating specs when Copilot detects new feature work
55
+ - Link spec references in code comments to full specs
56
+
57
+ **Architecture:**
58
+ - Extend existing VS Code extension (spec 006)
59
+ - Use VS Code Chat Participant API or Slash Command API
60
+ - Reuse LeanSpec CLI logic via TypeScript imports
61
+ - Return formatted markdown with links to specs
62
+
63
+ ## Plan
64
+
65
+ - [ ] Research VS Code Chat Participant API vs Slash Command API
66
+ - [ ] Choose implementation approach (likely Chat Participant)
67
+ - [ ] Extend VS Code extension package
68
+ - [ ] Implement spec search with Copilot Chat
69
+ - [ ] Add spec status queries and visualization
70
+ - [ ] Enable spec creation through conversational flow
71
+ - [ ] Add spec reading/preview in chat
72
+ - [ ] Implement status updates
73
+ - [ ] Add context-aware spec suggestions
74
+ - [ ] Test with real development workflows
75
+ - [ ] Document in extension README and docs
76
+
77
+ ## Test
78
+
79
+ - [ ] Chat participant/commands register successfully
80
+ - [ ] Search returns relevant results with correct formatting
81
+ - [ ] Status queries show accurate current state
82
+ - [ ] Create flow guides user through spec creation
83
+ - [ ] Read command displays spec content clearly
84
+ - [ ] Update commands modify specs correctly
85
+ - [ ] Context awareness suggests relevant specs
86
+ - [ ] Works alongside other Copilot features
87
+ - [ ] Handles workspaces without LeanSpec gracefully
88
+
89
+ ## Notes
90
+
91
+ **GitHub Copilot Chat APIs:**
92
+ - Chat Participants: https://code.visualstudio.com/api/extension-guides/chat
93
+ - Language Model API for context
94
+
95
+ **Design Principles:**
96
+ - Conversational over command-line syntax
97
+ - Smart defaults based on workspace context
98
+ - Clear feedback and error messages
99
+ - Don't interrupt flow—augment it
100
+
101
+ **Related:**
102
+ - VS Code extension (spec 006) - base extension to extend
103
+ - MCP server (spec 019) - similar capabilities, different context (Claude Desktop vs VS Code)
104
+
105
+ **Open Questions:**
106
+ - Should this replace or complement the VS Code extension sidebar?
107
+ - Can we auto-generate spec suggestions from PR descriptions?
@@ -0,0 +1,244 @@
1
+ # Architecture & Technical Design
2
+
3
+ Technical architecture, technology stack, database schema, and GitHub integration strategy for LeanSpec Web.
4
+
5
+ ## System Architecture
6
+
7
+ **Three-Tier Architecture:**
8
+ ```
9
+ Frontend (Next.js + React)
10
+
11
+ API Layer (Next.js API Routes)
12
+
13
+ Database (PostgreSQL/SQLite) + GitHub API
14
+ ```
15
+
16
+ **Data Flow:**
17
+ 1. Frontend requests data from API
18
+ 2. API checks database cache
19
+ 3. If cache miss/stale, fetch from GitHub
20
+ 4. Parse and store in database
21
+ 5. Return to frontend
22
+
23
+ **Storage Strategy:**
24
+ - **GitHub**: Source of truth (authoritative, versioned)
25
+ - **Database**: Performance layer (fast queries, caching)
26
+ - Best of both: Reliability + Speed + Decoupled from API limits
27
+
28
+ ## Technology Stack
29
+
30
+ ### Frontend
31
+ - **Framework**: Next.js 16+ (App Router, Server Components)
32
+ - **Styling**: Tailwind CSS v3 + shadcn/ui
33
+ - **Markdown**: react-markdown + rehype-highlight + remark-gfm
34
+ - **State**: React Query (TanStack Query)
35
+ - **Theme**: next-themes (dark/light/system)
36
+
37
+ ### Backend
38
+ - **API**: Next.js API Routes (serverless)
39
+ - **Database**: PostgreSQL (prod) / SQLite (dev)
40
+ - **ORM**: Drizzle ORM with type-safe queries
41
+ - **GitHub**: Octokit.js (official client)
42
+ - **Cache**: Redis (optional, for rate limiting)
43
+
44
+ ### Infrastructure
45
+ - **Hosting**: Vercel (recommended) or Railway/Fly.io
46
+ - **Database**: Neon (PostgreSQL) or Turso (SQLite on edge)
47
+ - **Deployment**: Zero-config CI/CD via Vercel
48
+
49
+ ## Database Schema
50
+
51
+ ### Projects
52
+ ```sql
53
+ CREATE TABLE projects (
54
+ id UUID PRIMARY KEY,
55
+ github_owner TEXT NOT NULL,
56
+ github_repo TEXT NOT NULL,
57
+ display_name TEXT,
58
+ description TEXT,
59
+ stars INTEGER DEFAULT 0,
60
+ is_public BOOLEAN DEFAULT true,
61
+ is_featured BOOLEAN DEFAULT false,
62
+ last_synced_at TIMESTAMP,
63
+ created_at TIMESTAMP DEFAULT NOW(),
64
+ UNIQUE(github_owner, github_repo)
65
+ );
66
+ ```
67
+
68
+ ### Specs
69
+ ```sql
70
+ CREATE TABLE specs (
71
+ id UUID PRIMARY KEY,
72
+ project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
73
+ spec_number INTEGER,
74
+ spec_name TEXT NOT NULL,
75
+ title TEXT,
76
+ status TEXT CHECK(status IN ('planned', 'in-progress', 'complete', 'archived')),
77
+ priority TEXT CHECK(priority IN ('low', 'medium', 'high', 'critical')),
78
+ tags TEXT[],
79
+ assignee TEXT,
80
+ content_md TEXT NOT NULL,
81
+ created_at TIMESTAMP,
82
+ updated_at TIMESTAMP,
83
+ completed_at TIMESTAMP,
84
+ file_path TEXT NOT NULL,
85
+ github_url TEXT,
86
+ synced_at TIMESTAMP DEFAULT NOW(),
87
+ UNIQUE(project_id, spec_number)
88
+ );
89
+
90
+ CREATE INDEX idx_specs_project ON specs(project_id);
91
+ CREATE INDEX idx_specs_status ON specs(status);
92
+ ```
93
+
94
+ ### Spec Relationships
95
+ ```sql
96
+ CREATE TABLE spec_relationships (
97
+ id UUID PRIMARY KEY,
98
+ spec_id UUID REFERENCES specs(id) ON DELETE CASCADE,
99
+ related_spec_id UUID REFERENCES specs(id) ON DELETE CASCADE,
100
+ relationship_type TEXT CHECK(relationship_type IN ('depends_on', 'related')),
101
+ UNIQUE(spec_id, related_spec_id, relationship_type)
102
+ );
103
+ ```
104
+
105
+ ### Sync Logs
106
+ ```sql
107
+ CREATE TABLE sync_logs (
108
+ id UUID PRIMARY KEY,
109
+ project_id UUID REFERENCES projects(id) ON DELETE CASCADE,
110
+ status TEXT CHECK(status IN ('pending', 'running', 'success', 'failed')),
111
+ specs_added INTEGER DEFAULT 0,
112
+ specs_updated INTEGER DEFAULT 0,
113
+ specs_deleted INTEGER DEFAULT 0,
114
+ error_message TEXT,
115
+ started_at TIMESTAMP DEFAULT NOW(),
116
+ completed_at TIMESTAMP
117
+ );
118
+ ```
119
+
120
+ ## API Design
121
+
122
+ ### Endpoints
123
+ ```
124
+ GET /api/projects - List all projects
125
+ GET /api/projects/:id - Get project details
126
+ POST /api/projects - Add new project
127
+ GET /api/projects/:id/specs - List project specs
128
+ GET /api/specs/:id - Get spec details
129
+ GET /api/stats - Global statistics
130
+ GET /api/search?q=query - Full-text search
131
+ POST /api/projects/:id/sync - Trigger sync
132
+ ```
133
+
134
+ ### Response Format
135
+ ```json
136
+ {
137
+ "data": { /* resource */ },
138
+ "meta": { "total": 42, "page": 1 }
139
+ }
140
+ ```
141
+
142
+ ## GitHub Integration
143
+
144
+ ### Sync Mechanisms
145
+
146
+ **1. Manual Trigger (MVP)**
147
+ User adds GitHub URL → immediate sync
148
+
149
+ **2. Scheduled Sync (Phase 2)**
150
+ - Featured projects: Every 6 hours
151
+ - Active projects: Daily
152
+ - Inactive projects: Weekly
153
+
154
+ **3. Webhooks (Phase 4)**
155
+ Real-time updates when repo changes
156
+
157
+ ### Sync Process
158
+
159
+ **Discovery:**
160
+ 1. Fetch repository tree via API (recursive)
161
+ 2. Filter files matching `specs/*/README.md` pattern
162
+ 3. Exclude `specs/archived/**`
163
+
164
+ **Parsing:**
165
+ 1. Download file content from GitHub
166
+ 2. Parse frontmatter (reuse `spec-loader.ts` from CLI)
167
+ 3. Extract markdown content
168
+ 4. Generate GitHub URL
169
+
170
+ **Storage:**
171
+ 1. Upsert project record
172
+ 2. Upsert specs (match by spec_number or file_path)
173
+ 3. Handle deletions (soft delete)
174
+ 4. Upsert relationships
175
+ 5. Log results in sync_logs
176
+
177
+ ### Rate Limiting
178
+
179
+ GitHub API limits:
180
+ - Authenticated: 5000 req/hour
181
+ - Unauthenticated: 60 req/hour
182
+
183
+ **Strategies:**
184
+ - Conditional requests (ETags)
185
+ - Response caching (Redis/database)
186
+ - Request batching (tree API)
187
+ - Rate limit monitoring
188
+ - Exponential backoff on errors
189
+ - Prioritization (manual > featured > active)
190
+
191
+ ### Error Handling
192
+
193
+ - **404 Repo Not Found**: Mark unavailable, keep for history
194
+ - **429 Rate Limit**: Pause until reset, queue job
195
+ - **Parse Errors**: Log error, continue with other specs
196
+ - **Network Timeouts**: Retry with backoff, alert if persistent
197
+
198
+ ## Caching Strategy
199
+
200
+ **Layer 1: Database (Primary)**
201
+ - Parsed spec content
202
+ - Fast indexed queries
203
+ - TTL: Until next sync (~24h)
204
+
205
+ **Layer 2: React Query (Client)**
206
+ - In-memory cache
207
+ - Background refetch
208
+ - TTL: 5min stale / 30min cache
209
+
210
+ **Layer 3: Redis (Optional)**
211
+ - GitHub API responses
212
+ - Rate limit tracking
213
+ - TTL: 1 hour
214
+
215
+ **Invalidation:**
216
+ - Manual/scheduled sync → invalidate project
217
+ - Stale-while-revalidate pattern
218
+ - Optimistic updates for mutations
219
+
220
+ ## Security
221
+
222
+ - Sanitize user inputs (prevent SSRF, XSS)
223
+ - Validate GitHub URLs (whitelist domains)
224
+ - Rate limit API endpoints
225
+ - Parameterized queries (prevent SQL injection)
226
+ - Environment variables for secrets
227
+ - CORS configuration
228
+
229
+ ## Performance
230
+
231
+ - Database indexes on frequent queries
232
+ - Connection pooling
233
+ - Code splitting per route
234
+ - Image optimization (Next.js Image)
235
+ - Lazy loading heavy components
236
+ - Response compression (gzip/brotli)
237
+
238
+ ## Future Enhancements
239
+
240
+ - Private repo support (OAuth)
241
+ - Real-time webhooks
242
+ - Multi-branch support
243
+ - Cross-repo relationships
244
+ - Version history/diffs