@leanspec/ui 0.2.7-dev.20251128020042 → 0.2.8

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 (386) 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/app-path-routes-manifest.json +2 -0
  4. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  7. package/.next/standalone/packages/ui/.next/routes-manifest.json +12 -0
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -6
  24. package/.next/standalone/packages/ui/.next/server/app/api/context/route/app-paths-manifest.json +3 -0
  25. package/.next/standalone/packages/ui/.next/server/app/api/context/route/build-manifest.json +11 -0
  26. package/.next/standalone/packages/ui/.next/server/app/api/context/route/server-reference-manifest.json +4 -0
  27. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +8 -0
  28. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.map +5 -0
  29. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -0
  30. package/.next/standalone/packages/ui/.next/server/app/api/context/route_client-reference-manifest.js +2 -0
  31. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  39. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/context/page/app-paths-manifest.json +3 -0
  48. package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +18 -0
  49. package/.next/standalone/packages/ui/.next/server/app/context/page/next-font-manifest.json +6 -0
  50. package/.next/standalone/packages/ui/.next/server/app/context/page/react-loadable-manifest.json +1 -0
  51. package/.next/standalone/packages/ui/.next/server/app/context/page/server-reference-manifest.json +4 -0
  52. package/.next/standalone/packages/ui/.next/server/app/context/page.js +19 -0
  53. package/.next/standalone/packages/ui/.next/server/app/context/page.js.map +5 -0
  54. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -0
  55. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +2 -0
  56. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  67. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +12 -12
  68. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +12 -12
  69. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
  70. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +3 -3
  71. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  72. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  73. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  74. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  76. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  78. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +2 -0
  80. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +2 -2
  81. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
  82. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
  83. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
  84. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +3 -0
  85. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
  86. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
  87. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_context_route_actions_dead6daa.js +3 -0
  88. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__12b4eb41._.js +3 -0
  89. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +3 -0
  90. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6e739186._.js +7 -0
  91. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a4c56419._.js +7 -0
  92. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b6632d78._.js +3 -0
  93. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +1 -1
  95. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_315f3b3a._.js +3 -0
  99. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_959ad3d8._.js +4 -0
  100. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9dcf102b._.js +3 -0
  101. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_497c8b73._.js → _b397e94a._.js} +2 -2
  102. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8272a49c._.js +3 -0
  103. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_context_page_actions_1a062d48.js +3 -0
  104. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +12 -0
  105. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  108. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  109. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  111. package/.next/standalone/packages/ui/.next/static/chunks/1eb8283995f370c6.js +1 -0
  112. package/.next/standalone/packages/ui/.next/static/chunks/336e8e8fc6b0fba8.js +1 -0
  113. package/.next/standalone/packages/ui/.next/static/chunks/37a1236ed50645a6.js +1 -0
  114. package/.next/standalone/packages/ui/.next/static/chunks/9d84ba08a41145ec.js +5 -0
  115. package/.next/standalone/packages/ui/.next/static/chunks/c4b1faff3361a749.js +1 -0
  116. package/.next/{static/chunks/294dea6dbec43ca6.js → standalone/packages/ui/.next/static/chunks/d7420d2a867e57b5.js} +1 -1
  117. package/.next/{static/chunks/cca4441cde342ae3.js → standalone/packages/ui/.next/static/chunks/dae403679aae65f4.js} +1 -1
  118. package/.next/standalone/packages/ui/.next/static/chunks/efded9da04c960d8.js +1 -0
  119. package/.next/standalone/packages/ui/.next/static/chunks/f382932f1a5d6359.js +10 -0
  120. package/.next/standalone/packages/ui/.next/static/chunks/f43b6e43b4da1a32.css +1 -0
  121. package/.next/standalone/packages/ui/.next/static/chunks/f6dd06e6d22d2d12.js +3 -0
  122. package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
  123. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
  124. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  125. package/.next/standalone/packages/ui/dist/public/file.svg +1 -0
  126. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +1 -0
  127. package/.next/standalone/packages/ui/dist/public/github-mark.svg +1 -0
  128. package/.next/standalone/packages/ui/dist/public/globe.svg +1 -0
  129. package/.next/standalone/packages/ui/dist/public/icon.svg +7 -0
  130. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +17 -0
  131. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +17 -0
  132. package/.next/standalone/packages/ui/dist/public/logo.svg +17 -0
  133. package/.next/standalone/packages/ui/dist/public/next.svg +1 -0
  134. package/.next/standalone/packages/ui/dist/public/vercel.svg +1 -0
  135. package/.next/standalone/packages/ui/dist/public/window.svg +1 -0
  136. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +196 -0
  137. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +75 -0
  138. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
  139. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
  140. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
  141. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
  142. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
  143. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
  144. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
  145. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
  146. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
  147. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
  148. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
  149. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
  150. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
  151. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
  152. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
  153. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
  154. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
  155. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +302 -0
  156. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
  157. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
  158. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
  159. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
  160. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
  161. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
  162. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
  163. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
  164. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
  165. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
  166. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
  167. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
  168. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
  169. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
  170. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
  171. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
  172. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
  173. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
  174. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
  175. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
  176. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
  177. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
  178. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
  179. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
  180. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
  181. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
  182. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
  183. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
  184. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
  185. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
  186. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
  187. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
  188. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
  189. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
  190. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
  191. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
  192. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
  193. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
  194. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
  195. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
  196. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
  197. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
  198. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
  199. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
  200. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
  201. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
  202. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
  203. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
  204. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
  205. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
  206. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
  207. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
  208. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
  209. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
  210. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
  211. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
  212. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
  213. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
  214. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
  215. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
  216. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
  217. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
  218. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
  219. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
  220. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
  221. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
  222. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
  223. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
  224. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
  225. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
  226. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
  227. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
  228. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
  229. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
  230. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
  231. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
  232. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
  233. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
  234. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
  235. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
  236. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +285 -0
  237. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
  238. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
  239. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
  240. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
  241. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
  242. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
  243. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
  244. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
  245. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +824 -0
  246. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
  247. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
  248. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
  249. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
  250. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +496 -0
  251. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
  252. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
  253. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
  254. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
  255. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +607 -0
  256. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +104 -0
  257. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +124 -0
  258. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +129 -0
  259. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +244 -0
  260. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +148 -0
  261. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +54 -0
  262. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
  263. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
  264. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
  265. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
  266. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
  267. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
  268. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
  269. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
  270. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
  271. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
  272. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
  273. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
  274. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
  275. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
  276. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
  277. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
  278. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
  279. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
  280. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
  281. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
  282. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
  283. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
  284. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
  285. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
  286. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
  287. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
  288. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
  289. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
  290. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
  291. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
  292. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
  293. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
  294. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
  295. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
  296. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
  297. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
  298. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
  299. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
  300. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
  301. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
  302. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
  303. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
  304. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
  305. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
  306. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
  307. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
  308. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
  309. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
  310. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
  311. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
  312. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
  313. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
  314. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
  315. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
  316. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
  317. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
  318. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
  319. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
  320. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
  321. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
  322. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
  323. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
  324. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
  325. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
  326. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
  327. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
  328. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
  329. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
  330. package/.next/standalone/packages/ui/package.json +2 -1
  331. package/.next/standalone/packages/ui/server.js +1 -1
  332. package/.next/standalone/packages/ui/src/app/api/context/route.ts +22 -0
  333. package/.next/standalone/packages/ui/src/app/context/context-client.tsx +371 -0
  334. package/.next/standalone/packages/ui/src/app/context/page.tsx +17 -0
  335. package/.next/standalone/packages/ui/src/app/globals.css +16 -16
  336. package/.next/standalone/packages/ui/src/app/layout.tsx +1 -7
  337. package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +291 -0
  338. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +10 -1
  339. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +181 -134
  340. package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +20 -0
  341. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +3 -2
  342. package/.next/standalone/packages/ui/src/components/ui/accordion.tsx +58 -0
  343. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +172 -3
  344. package/.next/standalone/packages/ui/src/lib/specs/types.ts +44 -0
  345. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  346. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_buildManifest.js +11 -0
  347. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_clientMiddlewareManifest.json +1 -0
  348. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_ssgManifest.js +1 -0
  349. package/.next/static/chunks/1eb8283995f370c6.js +1 -0
  350. package/.next/static/chunks/336e8e8fc6b0fba8.js +1 -0
  351. package/.next/static/chunks/37a1236ed50645a6.js +1 -0
  352. package/.next/static/chunks/9d84ba08a41145ec.js +5 -0
  353. package/.next/static/chunks/c4b1faff3361a749.js +1 -0
  354. package/.next/{standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js → static/chunks/d7420d2a867e57b5.js} +1 -1
  355. package/.next/{standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js → static/chunks/dae403679aae65f4.js} +1 -1
  356. package/.next/static/chunks/efded9da04c960d8.js +1 -0
  357. package/.next/static/chunks/f382932f1a5d6359.js +10 -0
  358. package/.next/static/chunks/f43b6e43b4da1a32.css +1 -0
  359. package/.next/static/chunks/f6dd06e6d22d2d12.js +3 -0
  360. package/package.json +3 -2
  361. package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +0 -95
  362. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +0 -3
  363. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +0 -7
  364. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +0 -7
  365. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +0 -3
  366. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +0 -3
  367. package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +0 -1
  368. package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +0 -1
  369. package/.next/standalone/packages/ui/.next/static/chunks/a803d646487dfc2d.js +0 -3
  370. package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +0 -1
  371. package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +0 -5
  372. package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +0 -1
  373. package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +0 -1
  374. package/.next/static/chunks/16ff9833ae1bb3ae.js +0 -1
  375. package/.next/static/chunks/7590e65bcaa41e8b.js +0 -1
  376. package/.next/static/chunks/a803d646487dfc2d.js +0 -3
  377. package/.next/static/chunks/b6976cf6c48996e5.js +0 -1
  378. package/.next/static/chunks/b845813463167db0.js +0 -5
  379. package/.next/static/chunks/bd9893e28f8f6a9a.css +0 -1
  380. package/.next/static/chunks/d784d84d5b880e48.js +0 -1
  381. /package/.next/standalone/packages/ui/.next/static/{RV93_WHoymRJ5886d_ry8 → -Mn9iD4O5f_khGd1P3kmB}/_buildManifest.js +0 -0
  382. /package/.next/standalone/packages/ui/.next/static/{RV93_WHoymRJ5886d_ry8 → -Mn9iD4O5f_khGd1P3kmB}/_clientMiddlewareManifest.json +0 -0
  383. /package/.next/standalone/packages/ui/.next/static/{RV93_WHoymRJ5886d_ry8 → -Mn9iD4O5f_khGd1P3kmB}/_ssgManifest.js +0 -0
  384. /package/.next/{static/RV93_WHoymRJ5886d_ry8 → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
  385. /package/.next/{static/RV93_WHoymRJ5886d_ry8 → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
  386. /package/.next/{static/RV93_WHoymRJ5886d_ry8 → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
@@ -0,0 +1,824 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-14'
4
+ tags:
5
+ - web
6
+ - ux
7
+ - design
8
+ - enhancement
9
+ priority: high
10
+ created_at: '2025-11-14T03:21:43.076Z'
11
+ depends_on:
12
+ - 068
13
+ - 082-web-realtime-sync-architecture
14
+ related:
15
+ - 052-branding-assets
16
+ - 068-live-specs-ux-enhancements
17
+ updated_at: '2025-11-17T01:14:24.924Z'
18
+ transitions:
19
+ - status: in-progress
20
+ at: '2025-11-14T04:08:03.555Z'
21
+ - status: complete
22
+ at: '2025-11-17T01:14:24.924Z'
23
+ completed_at: '2025-11-17T01:14:24.924Z'
24
+ completed: '2025-11-17'
25
+ ---
26
+
27
+ # Web App UX/UI Comprehensive Redesign
28
+
29
+ > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-14 · **Tags**: web, ux, design, enhancement
30
+
31
+ **Project**: lean-spec
32
+ **Team**: Core Development
33
+ **Dependencies**: Spec 068 (live-specs-ux-enhancements), **Spec 082 (web-realtime-sync-architecture) - CRITICAL BLOCKER**
34
+ **Related**: Spec 052 (branding-assets)
35
+
36
+ ## Overview
37
+
38
+ Comprehensive UX/UI redesign for the LeanSpec Web application (`@leanspec/web`) addressing critical layout, navigation, branding, and usability issues. This spec consolidates feedback from initial user testing and aims to create a professional, intuitive interface that aligns with LeanSpec's core principles.
39
+
40
+ **⚠️ CRITICAL BLOCKER IDENTIFIED**: This spec is **blocked** by spec 082 (web-realtime-sync-architecture). The current database-seeding architecture has a fundamental flaw - no realtime updates from filesystem. Spec 082 proposes removing the database entirely and using direct filesystem reads with smart caching. **This must be resolved before continuing with UX redesign** to avoid building on unstable foundations.
41
+
42
+ **Why now?**
43
+ - Current implementation (spec 068) completed foundational features but has UX issues
44
+ - User testing revealed navigation confusion and layout inefficiencies
45
+ - Missing branding integration (logo/favicon from spec 052)
46
+ - Need to align UI with LeanSpec first principles (Context Economy, Signal-to-Noise)
47
+ - Critical for broader adoption and professional appearance
48
+
49
+ **What's the problem?**
50
+ 1. **Layout inefficiency**: Top navbar wastes horizontal space, metadata sidebar redundant with header
51
+ 2. **Navigation confusion**: Breadcrumbs in wrong location, sub-specs as tabs instead of tree structure
52
+ 3. **Missing branding**: No logo/favicon integration despite spec 052 completion
53
+ 4. **Content constraints**: Artificial max-width limits readability on wide screens
54
+ 5. **UX inconsistencies**: Board and List pages feel disconnected, sorting/filtering incomplete
55
+
56
+ **What's the solution?**
57
+ Complete redesign with:
58
+ - **Three-section navigation**: Home (dashboard) / Specs (unified list+board) / Stats
59
+ - **GitHub link** moved to top navbar as icon (declutters sidebar)
60
+ - **Compact top navbar** with logo, breadcrumbs, search, theme toggle, and GitHub link
61
+ - **Main sidebar** for primary navigation (3 items: Home, Specs, Stats)
62
+ - **Specs nav sidebar** on detail pages only (specs tree with sub-specs)
63
+ - **Full-width content** without artificial constraints
64
+ - **Integrated metadata** in spec header (no separate sidebar)
65
+ - **Vertical timeline** design with better visual hierarchy
66
+
67
+ ## Design
68
+
69
+ ### 1. Branding Integration
70
+
71
+ **Current State**: No logo or favicon, uses placeholder text only
72
+
73
+ **Changes Required:**
74
+ - Import logo assets from spec 052 (`specs/052-branding-assets/`)
75
+ - Use `logo-with-bg.svg` (theme-safe) for navbar light mode
76
+ - Use `logo-dark-bg.svg` (cyan on dark) for navbar dark mode
77
+ - Add favicon files: `favicon.ico`, `icon.svg`, `apple-touch-icon.png`
78
+ - Update `src/app/layout.tsx` metadata for icons
79
+ - Ensure logo scales properly at navbar size (32px height)
80
+
81
+ **Technical Approach:**
82
+ ```tsx
83
+ // packages/web/src/components/navigation.tsx
84
+ <Link href="/" className="flex items-center space-x-2">
85
+ <img
86
+ src="/logo-with-bg.svg"
87
+ alt="LeanSpec"
88
+ className="h-8 w-8 dark:hidden"
89
+ />
90
+ <img
91
+ src="/logo-dark-bg.svg"
92
+ alt="LeanSpec"
93
+ className="h-8 w-8 hidden dark:block"
94
+ />
95
+ <span className="font-bold text-xl">LeanSpec</span>
96
+ </Link>
97
+ ```
98
+
99
+ **Files:**
100
+ - Copy from: `docs-site/static/img/logo-*.svg` and `docs-site/static/*.{ico,png}`
101
+ - Copy to: `packages/web/public/`
102
+
103
+ ### 2. Global Layout Restructure
104
+
105
+ **Current State**: Top navbar with horizontal menu, no global sidebar
106
+
107
+ **New Layout Architecture:**
108
+
109
+ **Global Pages (Home, Specs, Stats):**
110
+ ```
111
+ ┌─────────────────────────────────────────────────────────────┐
112
+ │ Top Navbar (sticky, h-14) │
113
+ │ [Logo] [Breadcrumb...] [Search] [Theme] [GitHub Icon] │
114
+ ├──────────┬──────────────────────────────────────────────────┤
115
+ │ │ │
116
+ │ Main │ Main Content Area │
117
+ │ Sidebar │ (full width, no max constraints) │
118
+ │ (sticky) │ │
119
+ │ │ │
120
+ │ • Home │ Home: Dashboard with project overview, │
121
+ │ • Specs │ recent activity, key metrics │
122
+ │ • Stats │ │
123
+ │ │ Specs: Unified list/board view with switcher │
124
+ │ │ │
125
+ │ │ Stats: Project analytics and insights │
126
+ │ │ │
127
+ │ │ │
128
+ └──────────┴──────────────────────────────────────────────────┘
129
+ ```
130
+
131
+ **Spec Detail Page (Two Sidebars):**
132
+ ```
133
+ ┌──────────────────────────────────────────────────────────────┐
134
+ │ Top Navbar (sticky, h-14) │
135
+ │ [Logo] [Breadcrumb...] [Search] [Theme] [GitHub Icon] │
136
+ ├──────────┬──────────┬────────────────────────────────────────┤
137
+ │ │ │ │
138
+ │ Main │ Specs │ Main Content Area │
139
+ │ Sidebar │ Nav │ (full width, no max constraints) │
140
+ │ (sticky) │ Sidebar │ │
141
+ │ │ (sticky) │ │
142
+ │ • Home │ ▼ 080-x │ │
143
+ │ • Specs │ • Over │ │
144
+ │ • Stats │ • IMPL │ │
145
+ │ │ ▼ 079-y │ │
146
+ │ │ • Over │ │
147
+ │ │ ... │ │
148
+ │ │ │ │
149
+ └──────────┴──────────┴────────────────────────────────────────┘
150
+ ```
151
+
152
+ **Implementation Details:**
153
+
154
+ **Top Navbar Changes:**
155
+ - Remove horizontal nav items (moved to sidebar)
156
+ - Add GitHub icon link at right edge (between theme toggle and nothing)
157
+ - Move breadcrumb from spec detail page to navbar (always visible)
158
+ - Keep search and theme toggle at right edge
159
+ - Logo on left, breadcrumb next to it
160
+ - Layout: `[Logo] [Breadcrumb] ... [Search] [Theme] [GitHub Icon]`
161
+ - Height: 56px (h-14)
162
+
163
+ **Main Sidebar (New - Always Visible):**
164
+ - Width: 240px, collapsible to 60px
165
+ - Sticky positioning (top: 56px, height: calc(100vh - 56px))
166
+ - Contains ONLY 3 primary sections:
167
+ 1. **Home** (/) - Dashboard with overview, recent activity, key metrics
168
+ 2. **Specs** (/specs) - Unified list/board view with layout switcher
169
+ 3. **Stats** (/stats) - Project analytics and insights
170
+ - Current page highlighted
171
+ - Simple, clean, focused navigation
172
+ - GitHub moved to top navbar (no longer in sidebar)
173
+
174
+ **Specs Nav Sidebar (New - Spec Detail Page Only):**
175
+ - Width: 280px, collapsible
176
+ - Sticky positioning (top: 56px, height: calc(100vh - 56px))
177
+ - Positioned to the right of Main Sidebar
178
+ - Contains:
179
+ 1. **All Specs Tree** (with expand/collapse)
180
+ 2. **Sub-specs** (indented under parent)
181
+ - Specs sorted by ID descending (newest first)
182
+ - Current spec and sub-spec highlighted
183
+ - Only visible on spec detail pages
184
+
185
+ **Component Structure:**
186
+ ```tsx
187
+ // New: src/components/main-sidebar.tsx
188
+ export function MainSidebar({ currentPath }: Props) {
189
+ return (
190
+ <aside className="sticky top-14 h-[calc(100vh-3.5rem)] w-[240px] border-r">
191
+ {/* Main Navigation - 3 Primary Sections */}
192
+ <nav className="p-4 space-y-1">
193
+ <SidebarLink href="/" icon={Home}>
194
+ Home
195
+ <span className="text-xs text-muted-foreground">Dashboard</span>
196
+ </SidebarLink>
197
+ <SidebarLink href="/specs" icon={FileText}>
198
+ Specs
199
+ <span className="text-xs text-muted-foreground">All Specifications</span>
200
+ </SidebarLink>
201
+ <SidebarLink href="/stats" icon={BarChart3}>
202
+ Stats
203
+ <span className="text-xs text-muted-foreground">Analytics</span>
204
+ </SidebarLink>
205
+ </nav>
206
+ </aside>
207
+ );
208
+ }
209
+
210
+ // Updated: src/components/navbar.tsx (add GitHub icon)
211
+ export function Navbar({ breadcrumb }: Props) {
212
+ return (
213
+ <header className="sticky top-0 z-50 h-14 border-b bg-background">
214
+ <div className="flex items-center justify-between h-full px-4">
215
+ {/* Left: Logo + Breadcrumb */}
216
+ <div className="flex items-center gap-4">
217
+ <Logo />
218
+ <Breadcrumb items={breadcrumb} />
219
+ </div>
220
+
221
+ {/* Right: Search + Theme + GitHub */}
222
+ <div className="flex items-center gap-2">
223
+ <SearchButton />
224
+ <ThemeToggle />
225
+ <Button variant="ghost" size="icon" asChild>
226
+ <a href="https://github.com/codervisor/lean-spec" target="_blank">
227
+ <Github className="h-5 w-5" />
228
+ </a>
229
+ </Button>
230
+ </div>
231
+ </div>
232
+ </header>
233
+ );
234
+ }
235
+
236
+ // New: src/components/specs-nav-sidebar.tsx
237
+ export function SpecsNavSidebar({ specs, currentPath, currentSpec }: Props) {
238
+ return (
239
+ <aside className="sticky top-14 h-[calc(100vh-3.5rem)] w-[280px] border-r">
240
+ {/* Specs Tree with Sub-specs */}
241
+ <div className="p-4">
242
+ <h3 className="text-sm font-semibold mb-2">Specifications</h3>
243
+ <SpecsTree
244
+ specs={specs}
245
+ currentPath={currentPath}
246
+ currentSpec={currentSpec}
247
+ />
248
+ </div>
249
+ </aside>
250
+ );
251
+ }
252
+ ```
253
+
254
+ ### 3. Home Page Dashboard Redesign
255
+
256
+ **Current State**: Home page (`/`) = Spec List with filters and sorting
257
+
258
+ **New Purpose**: Comprehensive operational dashboard for daily work
259
+
260
+ **Dashboard Layout:**
261
+
262
+ ```
263
+ ┌────────────────────────────────────────────────────────┐
264
+ │ Home Dashboard │
265
+ ├────────────────────────────────────────────────────────┤
266
+ │ │
267
+ │ ┌─────────────────┐ ┌─────────────────┐ ┌──────────┐ │
268
+ │ │ In Progress (5) │ │ Recently Added │ │ Stats │ │
269
+ │ │ │ │ │ │ │ │
270
+ │ │ • 081 Web UX │ │ • 081 Web UX │ │ 82 Total │ │
271
+ │ │ • 080 MCP Mod │ │ • 080 MCP Mod │ │ 5 Active │ │
272
+ │ │ • ... │ │ • ... │ │ 68 Done │ │
273
+ │ └─────────────────┘ └─────────────────┘ └──────────┘ │
274
+ │ │
275
+ │ ┌──────────────────────────────────────────────────┐ │
276
+ │ │ Activity Timeline │ │
277
+ │ │ │ │
278
+ │ │ • 081 marked in-progress (2 hours ago) │ │
279
+ │ │ • 080 created (yesterday) │ │
280
+ │ │ • 079 completed (2 days ago) │ │
281
+ │ └──────────────────────────────────────────────────┘ │
282
+ │ │
283
+ │ ┌──────────────────────────────────────────────────┐ │
284
+ │ │ Quick Actions │ │
285
+ │ │ [+ Create Spec] [View All Specs] [Board View] │ │
286
+ │ └──────────────────────────────────────────────────┘ │
287
+ └────────────────────────────────────────────────────────┘
288
+ ```
289
+
290
+ **Dashboard Components:**
291
+
292
+ 1. **Status Overview Cards** (top row, 3-4 cards)
293
+ - In Progress count + list
294
+ - Planned count + list
295
+ - Recently Added (last 5)
296
+ - Quick stats (total, active, completed)
297
+
298
+ 2. **Activity Timeline** (middle)
299
+ - Recent status changes
300
+ - Spec creations
301
+ - Completions
302
+ - Time-based (last 7 days)
303
+
304
+ 3. **Quick Actions** (bottom)
305
+ - Create new spec button
306
+ - View all specs (→ /specs)
307
+ - Board view (→ /specs?view=board)
308
+
309
+ **Purpose**: Give users immediate context on project health and recent activity without needing to navigate to other pages.
310
+
311
+ ### 4. Specs Page (Unified List/Board)
312
+
313
+ **Current State**:
314
+ - `/` = Spec List (cards with filters)
315
+ - `/board` = Board view (kanban columns)
316
+
317
+ **New Structure**:
318
+ - Route: `/specs` (primary specs page)
319
+ - Layout switcher: List view (default) or Board view
320
+ - URL param: `?view=list` or `?view=board`
321
+
322
+ **This is the full spec collection page** - replaces both old Home and Board pages.
323
+
324
+ ### 5. Spec Detail Page Redesign
325
+
326
+ **Current Issues:**
327
+ - Metadata sidebar duplicates info from header
328
+ - Content has max-width constraint (artificially narrow on wide screens)
329
+ - Timeline is horizontal (poor use of space)
330
+ - Title area and info box separated
331
+ - "Back to Specs" button redundant (sidebar navigation exists)
332
+
333
+ **New Design (Two Sidebars):**
334
+
335
+ ```
336
+ ┌──────────────────────────────────────────────────────────────┐
337
+ │ Top Navbar with Breadcrumb │
338
+ ├──────────┬──────────┬────────────────────────────────────────┤
339
+ │ Main │ Specs │ Spec Header (sticky, compact) │
340
+ │ Sidebar │ Nav │ ┌────────────────────────────────┐ │
341
+ │ │ Sidebar │ │ #080 Title │ │
342
+ │ • Home │ │ │ [Status] [Priority] [Tags...] │ │
343
+ │ • Specs │ ▼ 080-x │ │ Created: X | Updated: Y │ │
344
+ │ • Stats │ • Over │ └────────────────────────────────┘ │
345
+ │ │ • IMPL │ │
346
+ │ │ • TEST │ Content (full-width, no max) │
347
+ │ │ ▼ 079-y │ ┌────────────────────────────────┐ │
348
+ │ │ • Over │ │ │ │
349
+ │ │ ... │ │ Markdown content with │ │
350
+ │ │ │ │ timeline embedded │ │
351
+ │ │ │ │ │ │
352
+ │ │ │ │ ◉ Created (date) │ │
353
+ │ │ │ │ │ │ │
354
+ │ │ │ │ ◉ In Progress (date) │ │
355
+ │ │ │ │ │ │ │
356
+ │ │ │ │ ○ Complete │ │
357
+ │ │ │ │ │ │
358
+ │ │ │ └────────────────────────────────┘ │
359
+ └──────────┴──────────┴────────────────────────────────────────┘
360
+ ```
361
+
362
+ **Key Changes:**
363
+
364
+ **Spec Header (Compact):**
365
+ - Line 1: Spec number + Title
366
+ - Line 2: Status badge, Priority badge, Tags, Actions dropdown
367
+ - Line 3: Small metadata row: `Created: X · Updated: Y · Name: spec-name`
368
+ - Remove separate info box sidebar completely
369
+ - Sticky position: below navbar
370
+
371
+ **Content Layout:**
372
+ - Remove `max-w-6xl` constraint - use full available width
373
+ - Remove left sidebar (metadata) entirely
374
+ - Single column layout for content
375
+ - Timeline embedded in markdown at appropriate section (not sidebar)
376
+
377
+ **Sub-Spec Navigation:**
378
+ - Move from horizontal tabs to left sidebar tree
379
+ - Indent sub-specs under parent spec
380
+ - Icons for sub-spec types (DESIGN.md, IMPLEMENTATION.md, etc.)
381
+ - Active sub-spec highlighted
382
+ - "Overview" = `README.md` (merge, don't duplicate)
383
+
384
+ **Example Sidebar Tree:**
385
+ ```
386
+ ▼ 080 MCP Server Modular Architecture
387
+ • Overview (README.md) ← selected
388
+ • Design
389
+ • Implementation
390
+ • Testing
391
+ ▼ 079 CLI Alphabetical Organization
392
+ • Overview
393
+ ```
394
+
395
+ ### 4. Timeline Redesign (Vertical)
396
+
397
+ **Current**: Horizontal timeline with circles and lines
398
+
399
+ **New**: Vertical timeline with better visual hierarchy
400
+
401
+ ```tsx
402
+ <div className="space-y-4 border-l-2 border-muted pl-4 py-2">
403
+ <TimelineEvent
404
+ icon={<CheckCircle />}
405
+ title="Created"
406
+ date="2025-11-01"
407
+ active
408
+ />
409
+ <TimelineEvent
410
+ icon={<PlayCircle />}
411
+ title="In Progress"
412
+ date="2025-11-05"
413
+ active
414
+ />
415
+ <TimelineEvent
416
+ icon={<Circle />}
417
+ title="Complete"
418
+ date={null}
419
+ active={false}
420
+ />
421
+ </div>
422
+ ```
423
+
424
+ **Visual Design:**
425
+ - Left border line connecting all events
426
+ - Icon + title + date for each event
427
+ - Active events: solid icon, bold text
428
+ - Future events: outline icon, muted text
429
+ - Compact spacing, embedded in content flow
430
+
431
+ ### 6. Specs Page - List View Improvements
432
+
433
+ **Current Issues:**
434
+ - No sorting controls (only filters)
435
+ - Specs not sorted by ID descending
436
+ - Cards are visually heavy
437
+
438
+ **Changes:**
439
+
440
+ **Sorting Controls:**
441
+ ```tsx
442
+ <Select value={sortBy} onValueChange={setSortBy}>
443
+ <SelectItem value="id-desc">Newest First (ID ↓)</SelectItem>
444
+ <SelectItem value="id-asc">Oldest First (ID ↑)</SelectItem>
445
+ <SelectItem value="updated-desc">Recently Updated</SelectItem>
446
+ <SelectItem value="title-asc">Title (A-Z)</SelectItem>
447
+ </Select>
448
+ ```
449
+
450
+ **Default Sort**: ID descending (newest specs at top)
451
+
452
+ **Table View Option:**
453
+ - Add toggle: List view (cards) vs Table view (compact)
454
+ - Table columns: ID, Title, Status, Priority, Tags, Updated
455
+ - Clickable rows navigate to spec detail
456
+
457
+ ### 7. Board and List Layout Switcher
458
+
459
+ **Integration**: List and Board are now unified on `/specs` page
460
+
461
+ **Layout Switcher:**
462
+ ```tsx
463
+ // Add to /specs page
464
+ <div className="flex items-center gap-2 mb-4">
465
+ <span className="text-sm text-muted-foreground">View:</span>
466
+ <ToggleGroup type="single" value={layout} onValueChange={setLayout}>
467
+ <ToggleGroupItem value="list" aria-label="List view">
468
+ <List className="h-4 w-4" />
469
+ <span className="ml-2">List</span>
470
+ </ToggleGroupItem>
471
+ <ToggleGroupItem value="board" aria-label="Board view">
472
+ <LayoutGrid className="h-4 w-4" />
473
+ <span className="ml-2">Board</span>
474
+ </ToggleGroupItem>
475
+ </ToggleGroup>
476
+ </div>
477
+ ```
478
+
479
+ **Implementation:**
480
+ - Single route: `/specs`
481
+ - URL param: `?view=list` (default) or `?view=board`
482
+ - Switcher persists choice in localStorage
483
+ - Board view = kanban columns by status
484
+ - List view = cards/table sorted/filtered
485
+ - Same spec card component, different container layouts
486
+
487
+ **Navigation:**
488
+ - `/` = Home dashboard (new)
489
+ - `/specs` = Specs with list/board switcher
490
+ - `/specs/[id]` = Spec detail page
491
+ - Breadcrumb: Home → Specs (List View) or Home → Specs (Board View)
492
+ - Consistent behavior: click spec → detail page
493
+ - Back button/sidebar returns to same view mode
494
+
495
+ ### 8. Display `title` vs `name`
496
+
497
+ **Current Implementation**:
498
+ - `title` field in frontmatter (optional, can be null)
499
+ - `name` field = spec folder name (always present)
500
+ - H1 heading = first `# Heading` in markdown (always present per validation)
501
+
502
+ **Clarification Needed**:
503
+ - Which field is the "title"? The frontmatter `title` or the H1 heading?
504
+ - Current code: `const displayTitle = spec.title || spec.specName`
505
+ - This suggests frontmatter `title` is primary, fallback to `name`
506
+
507
+ **Recommended Approach**:
508
+ 1. **H1 heading is the canonical title** (always present, validated)
509
+ 2. **Frontmatter `title`** can be different (for metadata/SEO)
510
+ 3. **Display logic**:
511
+ - **Primary heading**: Use H1 from markdown content
512
+ - **Metadata**: Show `name` (folder name) in small text
513
+ - **Card/List**: Use H1 title (parse from content)
514
+ 4. **Fallback**: If H1 parsing fails → use frontmatter `title` → use `name`
515
+
516
+ **Why H1 over frontmatter title?**
517
+ - H1 is required by validation (spec 018)
518
+ - H1 is what users see in markdown
519
+ - H1 is the "true" document title
520
+ - Frontmatter `title` can be stale/inconsistent
521
+
522
+ ### 9. Sub-Spec Icons
523
+
524
+ **Generic Icons** (default for unknown types):
525
+ - 📄 Generic document icon (lucide-react `FileText`)
526
+
527
+ **Pre-defined Icon Mappings:**
528
+ ```tsx
529
+ const SUB_SPEC_ICONS: Record<string, { icon: LucideIcon, color: string }> = {
530
+ 'README.md': { icon: FileText, color: 'text-blue-600' },
531
+ 'DESIGN.md': { icon: Palette, color: 'text-purple-600' },
532
+ 'IMPLEMENTATION.md': { icon: Code, color: 'text-green-600' },
533
+ 'TESTING.md': { icon: TestTube, color: 'text-orange-600' },
534
+ 'PLAN.md': { icon: CheckSquare, color: 'text-cyan-600' },
535
+ 'TECHNICAL.md': { icon: Wrench, color: 'text-gray-600' },
536
+ 'ROADMAP.md': { icon: Map, color: 'text-indigo-600' },
537
+ 'MIGRATION.md': { icon: GitBranch, color: 'text-yellow-600' },
538
+ 'DOCUMENTATION.md': { icon: BookOpen, color: 'text-pink-600' },
539
+ // ... extend as needed
540
+ };
541
+ ```
542
+
543
+ **Usage in Sidebar:**
544
+ ```tsx
545
+ <SpecTreeItem icon={Palette} color="text-purple-600">
546
+ Design
547
+ </SpecTreeItem>
548
+ ```
549
+
550
+ ## Plan
551
+
552
+ ### Phase 1: Branding & Layout Foundation (Week 1)
553
+
554
+ **Day 1-2: Branding Integration**
555
+ - [x] Copy logo assets from spec 052 to `packages/web/public/`
556
+ - [x] Update favicon references in `layout.tsx`
557
+ - [x] Implement theme-aware logo switching in navbar
558
+ - [x] Test logo rendering in light/dark modes
559
+
560
+ **Day 3-5: Sidebar Implementation**
561
+ - [x] Create `MainSidebar` component (3 items: Home/Specs/Stats)
562
+ - [x] Create `SpecsNavSidebar` component (specs tree with sub-specs)
563
+ - [x] Build collapsible specs tree with expand/collapse
564
+ - [x] Add search/filter within specs nav sidebar
565
+ - [x] Integrate both sidebars into layouts (main sidebar always, specs nav on detail pages only)
566
+ - [x] Test two-sidebar layout on spec detail pages
567
+
568
+ **Day 6-7: Top Navbar Redesign**
569
+ - [x] Remove horizontal nav items from navbar
570
+ - [x] Move breadcrumb to navbar (next to logo)
571
+ - [x] Add GitHub icon link at right edge of navbar
572
+ - [x] Reposition: Logo → Breadcrumb ... Search → Theme → GitHub
573
+ - [x] Test responsive behavior (mobile collapse)
574
+
575
+ ### Phase 2: Home Dashboard & Spec Detail (Week 2)
576
+
577
+ **Day 8-9: Home Dashboard Implementation**
578
+ - [x] Design dashboard layout (status cards + activity timeline + quick actions)
579
+ - [x] Implement status overview cards (In Progress, Planned, Recently Added, Stats)
580
+ - [x] Build activity timeline component (recent status changes, creations, completions)
581
+ - [x] Add quick actions section (Create Spec, View All Specs, Board View)
582
+ - [x] Test dashboard with real data
583
+ - [x] Ensure dashboard loads quickly (<1s)
584
+
585
+ **Day 10-11: Compact Spec Header**
586
+ - [x] Redesign spec header with integrated metadata
587
+ - [x] Remove "Back to Specs" button
588
+ - [x] Add small metadata row (created, updated, name)
589
+ - [x] Make header sticky with proper z-index
590
+ - [x] Display `title` prominently, `name` as metadata
591
+
592
+ **Day 10-11: Content Layout**
593
+ - [x] Remove max-width constraint on content
594
+ - [x] Remove left metadata sidebar entirely
595
+ - [x] Implement full-width single-column layout
596
+ - [x] Ensure proper responsive behavior
597
+
598
+ **Day 12-13: Sub-Spec Integration**
599
+ - [x] Move sub-specs from tabs to specs nav sidebar tree
600
+ - [x] Implement sub-spec icon mapping system
601
+ - [x] Add expand/collapse for specs with sub-specs
602
+ - [x] Merge "Overview" and "README.md" (no duplication)
603
+ - [x] Fix sub-spec navigation routing
604
+ - [x] Ensure specs nav sidebar only appears on spec detail pages
605
+
606
+ **Day 14: Timeline Redesign**
607
+ - [x] Implement vertical timeline component
608
+ - [x] Embed timeline in content area (not sidebar)
609
+ - [x] Add proper icons and visual states
610
+ - [x] Test with different status transitions
611
+
612
+ ### Phase 3: Specs Page Unification (Week 3)
613
+
614
+ **Day 15-16: Specs Page Route Changes**
615
+ - [x] Move spec list from `/` to `/specs`
616
+ - [x] Implement routing: `/` = dashboard, `/specs` = specs page
617
+ - [x] Update all internal links to point to `/specs`
618
+ - [x] Add sorting controls (ID desc, ID asc, updated, title)
619
+ - [x] Set default sort to ID descending
620
+ - [ ] Implement table view option (toggle with card view)
621
+
622
+ **Day 17-18: Board/List Layout Switcher**
623
+ - [x] Add layout switcher component (List/Board toggle) to `/specs`
624
+ - [x] Implement URL param handling (?view=list|board)
625
+ - [x] Add localStorage persistence for layout preference
626
+ - [x] Share spec card component between layouts
627
+ - [x] Update breadcrumbs: Home → Specs (List/Board View)
628
+ - [x] Remove old `/board` route (redirect to `/specs?view=board`)
629
+ - [x] Test navigation flow consistency
630
+
631
+ **Day 19-21: Polish & Testing**
632
+ - [x] Fix any navigation routing issues
633
+ - [x] Ensure all links work correctly
634
+ - [ ] Test responsive behavior on mobile/tablet
635
+ - [ ] Accessibility audit (keyboard navigation, ARIA labels)
636
+ - [ ] Performance testing (ensure no regressions)
637
+
638
+ ### Phase 4: Documentation & Deployment
639
+
640
+ **Day 22-23: Documentation**
641
+ - [ ] Update component documentation
642
+ - [ ] Document new navigation patterns
643
+ - [ ] Create migration notes for any breaking changes
644
+ - [ ] Update README with new screenshots
645
+
646
+ **Day 24-25: QA & Deployment**
647
+ - [ ] Full regression testing (all pages)
648
+ - [ ] Cross-browser testing (Chrome, Firefox, Safari)
649
+ - [ ] Mobile testing (iOS Safari, Android Chrome)
650
+ - [ ] Deploy to staging
651
+ - [ ] User acceptance testing
652
+ - [ ] Deploy to production
653
+
654
+ ## Test
655
+
656
+ ### Functional Testing
657
+
658
+ **Branding:**
659
+ - [x] Logo displays correctly in navbar (light mode)
660
+ - [x] Logo switches to dark variant in dark mode
661
+ - [x] Favicon appears in browser tabs
662
+ - [x] All icon sizes render correctly
663
+
664
+ **Layout:**
665
+ - [x] Main sidebar appears on all pages with 3 items (Home, Specs, Stats)
666
+ - [x] Specs nav sidebar appears only on spec detail pages
667
+ - [x] Both sidebars are sticky and don't scroll with content
668
+ - [x] Both sidebars collapsible function works
669
+ - [x] Top navbar has GitHub icon at right edge
670
+ - [x] Top navbar breadcrumb updates correctly on navigation
671
+ - [x] Search and theme toggle positioned correctly
672
+ - [x] Two-sidebar layout doesn't feel cramped on spec detail pages
673
+
674
+ **Spec Detail:**
675
+ - [x] Spec header shows all metadata in compact format
676
+ - [x] Title displays correctly (`title` field, not `name`)
677
+ - [x] Name field shown in metadata row
678
+ - [x] Content uses full width (no artificial constraints)
679
+ - [x] Timeline renders vertically with correct states
680
+ - [x] Sub-specs appear in sidebar tree (not tabs)
681
+ - [x] Sub-spec navigation works (no 404 errors)
682
+ - [x] Overview and README.md merged (no duplication)
683
+
684
+ **Home Dashboard:**
685
+ - [x] Dashboard loads quickly (<1s)
686
+ - [x] Status overview cards display correct counts
687
+ - [x] In Progress and Planned lists show relevant specs
688
+ - [x] Recently Added shows last 5 specs
689
+ - [x] Activity timeline shows recent changes
690
+ - [x] Quick actions navigate correctly
691
+ - [x] Dashboard responsive on all screen sizes
692
+
693
+ **Specs Page:**
694
+ - [x] Route `/specs` works correctly
695
+ - [x] Specs sorted by ID descending by default
696
+ - [x] Sort controls change order correctly
697
+ - [ ] Table view displays properly
698
+ - [x] Filters work in conjunction with sorting
699
+
700
+ **Board/List Switcher:**
701
+ - [x] Layout switcher appears on `/specs` page
702
+ - [x] Switching between List and Board views works
703
+ - [x] Layout preference persists via localStorage
704
+ - [x] URL param reflects current view (?view=list|board)
705
+ - [x] Card click navigates to spec detail from both views
706
+ - [x] Breadcrumb shows: Home → Specs (List View) or (Board View)
707
+ - [x] Navigation back to `/specs` returns to same view mode
708
+ - [x] Old `/board` route redirects to `/specs?view=board`
709
+
710
+ ### Visual Testing
711
+
712
+ - [ ] Layout consistent across pages
713
+ - [ ] Spacing and alignment proper
714
+ - [ ] Icons render with correct colors
715
+ - [ ] Hover states work on all interactive elements
716
+ - [ ] Dark mode styling consistent
717
+
718
+ ### Responsive Testing
719
+
720
+ - [ ] Mobile: Sidebar collapses to hamburger menu
721
+ - [ ] Tablet: Layout adapts appropriately
722
+ - [ ] Desktop: Full layout displays correctly
723
+ - [ ] Ultra-wide: Content scales properly
724
+
725
+ ### Performance Testing
726
+
727
+ - [ ] Page load time <2s
728
+ - [ ] No layout shift during hydration
729
+ - [ ] Smooth animations (60fps)
730
+ - [ ] Lighthouse score >90
731
+
732
+ ### Accessibility Testing
733
+
734
+ - [ ] Keyboard navigation works for all interactive elements
735
+ - [ ] Focus indicators visible
736
+ - [ ] Screen reader announces navigation changes
737
+ - [ ] ARIA labels present where needed
738
+ - [ ] Color contrast meets WCAG AA
739
+
740
+ ## Notes
741
+
742
+ ### Design Decisions
743
+
744
+ **Why three-section navigation (Home/Specs/Stats)?**
745
+ - **Clear purpose**: Each section has a distinct role
746
+ - Home = Daily operational dashboard
747
+ - Specs = Full spec collection (list/board)
748
+ - Stats = Project analytics
749
+ - **Avoids redundancy**: Old design had Home (list) and Board (also list), confusing
750
+ - **GitHub in navbar**: External link, doesn't need sidebar prominence
751
+
752
+ **Why move GitHub to navbar?**
753
+ - **External link**: Doesn't belong in primary navigation
754
+ - **Less prominent**: Not a primary workflow destination
755
+ - **Space efficiency**: Navbar has room, sidebar is cleaner with 3 items
756
+ - **Standard pattern**: Many apps put external links in top-right (GitHub, Twitter, etc.)
757
+
758
+ **Why two sidebars on spec detail pages?**
759
+ - **Separation of concerns**: Main nav (Home/Specs/Stats) vs Specs navigation
760
+ - **Context preservation**: Main sidebar always visible for quick navigation
761
+ - **Spec focus**: Specs nav sidebar only when needed (detail page)
762
+ - **Scalability**: Specs tree sidebar scales better as spec count grows (80+ specs)
763
+ - **Standard pattern**: Matches tools like VS Code (activity bar + file explorer)
764
+
765
+ **Why remove metadata sidebar on spec detail?**
766
+ - **Signal-to-Noise**: Metadata in sidebar duplicates info from header (violates principle)
767
+ - **Context Economy**: Reduces cognitive load by integrating metadata into header
768
+ - **Space efficiency**: Frees up horizontal space for content (more important)
769
+
770
+ **Why vertical timeline?**
771
+ - **Visual hierarchy**: Vertical flow matches natural reading pattern
772
+ - **Space efficiency**: Uses vertical space better (screens are wider than tall)
773
+ - **Scalability**: Easier to add more events as specs evolve
774
+
775
+ **Why merge Overview and README.md?**
776
+ - **No duplication**: They contain the same content (violates Signal-to-Noise)
777
+ - **Simplicity**: Reduces cognitive load (fewer tabs to understand)
778
+ - **Clarity**: "Overview" is more intuitive than "README.md" for users
779
+
780
+ ### Technical Considerations
781
+
782
+ **Sidebar State Persistence:**
783
+ - Use `localStorage` to remember collapse state
784
+ - Remember expanded specs in tree
785
+ - Sync state across tabs (optional, via localStorage events)
786
+
787
+ **Routing:**
788
+ - Sub-spec routes: `/specs/[id]?subspec=DESIGN.md`
789
+ - Preserve query params when navigating
790
+ - Update breadcrumb based on current sub-spec
791
+
792
+ **Performance:**
793
+ - Virtualize specs tree if count exceeds 100
794
+ - Lazy load sub-spec content on demand
795
+ - Memoize expensive tree rendering
796
+
797
+ **Mobile Strategy:**
798
+ - Sidebar becomes slide-out drawer (overlay)
799
+ - Hamburger menu in navbar triggers drawer
800
+ - Breadcrumb remains visible on mobile
801
+
802
+ ### Open Questions
803
+
804
+ - [ ] Should sidebars be resizable (drag to adjust width)?
805
+ - [ ] Do we need keyboard shortcuts for navigation (j/k for next/prev spec)?
806
+ - [ ] Should we add "recently viewed" section in specs nav sidebar or Home dashboard?
807
+ - [ ] Do we need a "favorites" system for frequently accessed specs?
808
+ - [ ] **Title field**: Should we use H1 heading (always present) or frontmatter `title` (can be null)? Recommend H1 as canonical source.
809
+ - [ ] **Home dashboard**: What other widgets would be useful? (Blocked specs, overdue specs, contributor activity, etc.)
810
+ - [ ] **Home dashboard**: Should it be customizable (user can add/remove/rearrange widgets)?
811
+
812
+ ### Related Work
813
+
814
+ - **Spec 052**: Provides branding assets (logo, favicon)
815
+ - **Spec 068**: Completed initial UX implementation (foundation for this redesign)
816
+
817
+ ### Future Enhancements (Post v1)
818
+
819
+ - Collaborative features (real-time presence indicators in sidebar)
820
+ - Spec bookmarks/favorites
821
+ - Drag-and-drop spec reordering
822
+ - Customizable sidebar sections
823
+ - Keyboard shortcuts panel (Cmd+K → show shortcuts)
824
+ - Multi-column layout option for ultra-wide screens