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