@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,146 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-17'
4
+ tags:
5
+ - refactoring
6
+ - templates
7
+ - maintenance
8
+ priority: high
9
+ created_at: '2025-11-17T01:27:01.679Z'
10
+ updated_at: '2025-11-17T01:40:10.673Z'
11
+ transitions:
12
+ - status: in-progress
13
+ at: '2025-11-17T01:27:44.713Z'
14
+ - status: complete
15
+ at: '2025-11-17T01:40:10.673Z'
16
+ completed_at: '2025-11-17T01:40:10.673Z'
17
+ completed: '2025-11-17'
18
+ ---
19
+
20
+ # template-component-deduplication
21
+
22
+ > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-17 · **Tags**: refactoring, templates, maintenance
23
+
24
+ **Project**: lean-spec
25
+ **Team**: Core Development
26
+
27
+ ## Overview
28
+
29
+ ### Problem
30
+ Template component files in `packages/cli/templates/_shared/agents-components/` contain significant code redundancy. When updating shared content (like status tracking requirements), we must edit multiple files with duplicate content, creating maintenance burden and risk of inconsistency.
31
+
32
+ **Example redundancy patterns:**
33
+ - `core-rules-base.md` and `core-rules-enterprise.md` both have "Never use nested code blocks" rule
34
+ - `discovery-commands-{minimal,standard,enterprise}.md` share common intro text and progressive command additions
35
+ - `essential-commands-{minimal,standard,enterprise}.md` have massive overlap (15→28→38 lines with shared sections)
36
+
37
+ ### Why Now
38
+ We just improved status update instructions in AGENTS.md and had to update the same content in multiple files. This highlighted the maintenance problem and showed we need a DRY solution before making more updates.
39
+
40
+ ### Success Criteria
41
+ - Shared content exists in exactly ONE file
42
+ - Pattern-specific differences in separate addition files
43
+ - Build system composes components automatically
44
+ - Future updates to shared content require editing only one file
45
+ - Generated AGENTS.md files remain functionally identical
46
+
47
+ ## Design
48
+
49
+ ### Refactoring Strategy
50
+
51
+ Apply composition pattern (already proven for quality-standards):
52
+
53
+ **1. Extract Shared Components**
54
+ - Create base files with only truly common content
55
+ - Name pattern: `{section}-shared.md`
56
+
57
+ **2. Create Pattern-Specific Additions**
58
+ - Files with only differences per pattern
59
+ - Name pattern: `{section}-{pattern}-additions.md`
60
+
61
+ **3. Use Array Composition in Config**
62
+ ```json
63
+ "essentialCommands": [
64
+ "essential-commands-shared.md",
65
+ "essential-commands-standard-additions.md"
66
+ ]
67
+ ```
68
+
69
+ ### Files to Refactor
70
+
71
+ **Priority 1: Essential Commands** (highest redundancy)
72
+ - Shared: Header, Discovery, Viewing, Working basics, closing line
73
+ - Minimal: Only basic commands
74
+ - Standard: + Project Overview, Token Management, more detail
75
+ - Enterprise: + Enterprise-specific commands
76
+
77
+ **Priority 2: Discovery Commands** (progressive additions)
78
+ - Shared: Intro text + base commands (stats, board, list, search)
79
+ - Standard additions: + deps
80
+ - Enterprise additions: + gantt
81
+
82
+ **Priority 3: Core Rules** (one shared line)
83
+ - Shared: "Never use nested code blocks" rule
84
+ - Base additions: Base-specific rules
85
+ - Enterprise additions: Enterprise-specific rules
86
+
87
+ ## Plan
88
+
89
+ ### Phase 1: Essential Commands Refactoring ✅ COMPLETE
90
+ - [x] Analyze redundancy in essential-commands files
91
+ - [x] Create `essential-commands-shared.md` with common content
92
+ - [x] Create `essential-commands-minimal-additions.md`
93
+ - [x] Create `essential-commands-standard-additions.md`
94
+ - [x] Create `essential-commands-enterprise-additions.md`
95
+ - [x] Update configs to use arrays
96
+ - [x] Rebuild and verify output
97
+ - [x] Delete old files
98
+
99
+ ### Phase 2: Discovery Commands Refactoring ✅ COMPLETE
100
+ - [x] Create `discovery-commands-shared.md`
101
+ - [x] Create pattern-specific addition files
102
+ - [x] Update build script if needed (support for discoveryCommands array)
103
+ - [x] Update configs
104
+ - [x] Rebuild and verify
105
+ - [x] Delete old files
106
+
107
+ ### Phase 3: Core Rules Refactoring ✅ COMPLETE
108
+ - [x] Create `core-rules-shared.md`
109
+ - [x] Create pattern-specific addition files
110
+ - [x] Update configs
111
+ - [x] Rebuild and verify
112
+ - [x] Delete old files
113
+
114
+ ### Phase 4: Audit Other Components
115
+ - [ ] Review remaining component files for redundancy
116
+ - [ ] Document any other refactoring opportunities
117
+
118
+ ## Test
119
+
120
+ - [ ] All three AGENTS.md templates generate successfully
121
+ - [ ] Generated files are functionally identical to pre-refactor versions (diff check)
122
+ - [ ] Build script supports arrays for all relevant config fields
123
+ - [ ] No broken references to old component files
124
+ - [ ] Token counts remain similar (no content lost)
125
+ - [ ] Update status tracking instruction as test - should only require 1 file edit
126
+
127
+ ## Notes
128
+
129
+ ### Already Completed (Quality Standards)
130
+ We successfully refactored quality-standards using this same approach:
131
+ - Created `quality-standards-shared.md` (common standards)
132
+ - Created `quality-standards-{minimal,enterprise}-additions.md`
133
+ - Created `status-update-triggers.md` (extracted from workflow files)
134
+ - Deleted `quality-standards-base.md` and `quality-standards-enterprise.md`
135
+
136
+ This serves as the proven pattern for the remaining refactorings.
137
+
138
+ ### Build Script Enhancements
139
+ Already supports:
140
+ - `string | string[]` for workflow and qualityStandards
141
+ - `readComponents()` function for composition
142
+
143
+ May need to extend support to:
144
+ - `discoveryCommands` (currently only string)
145
+ - `coreRules` (currently only string)
146
+ - `essentialCommands` (currently optional string)
@@ -0,0 +1,421 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-17'
4
+ tags:
5
+ - cli
6
+ - web
7
+ - dx
8
+ - integration
9
+ priority: medium
10
+ created_at: '2025-11-17T01:31:21.397Z'
11
+ related:
12
+ - 035-live-specs-showcase
13
+ - 081-web-app-ux-redesign
14
+ - 082-web-realtime-sync-architecture
15
+ updated_at: '2025-11-17T06:12:03.020Z'
16
+ transitions:
17
+ - status: in-progress
18
+ at: '2025-11-17T01:59:34.354Z'
19
+ - status: complete
20
+ at: '2025-11-17T06:12:03.020Z'
21
+ completed_at: '2025-11-17T02:00:24.131Z'
22
+ completed: '2025-11-17'
23
+ ---
24
+
25
+ # CLI UI Command: `lean-spec ui`
26
+
27
+ > **Status**: ✅ Complete · **Priority**: Medium · **Created**: 2025-11-17 · **Tags**: cli, web, dx, integration
28
+
29
+ **Project**: lean-spec
30
+ **Team**: Core Development
31
+ **Related**: Spec 035 (live-specs-showcase), Spec 081 (web-app-ux-redesign), Spec 082 (web-realtime-sync-architecture)
32
+
33
+ ## Current Status
34
+
35
+ **Phase 1: CLI Command (Monorepo Mode)** - ✅ **COMPLETE**
36
+ - Basic `lean-spec ui` command implemented with all options
37
+ - Monorepo detection working (checks for `packages/web`)
38
+ - Package manager auto-detection (pnpm/yarn/npm)
39
+ - Port validation (1-65535 range)
40
+ - Robust error handling and graceful shutdown
41
+ - Unit tests passing
42
+ - Code review feedback addressed
43
+
44
+ ### Implementation Approach
45
+
46
+ **Phase 1: CLI command (packages/cli/src/commands/ui.ts)**
47
+ - `startUi` validates ports, resolves specs via explicit flag, `.lean-spec/config.json`, YAML configs, or common folder heuristics.
48
+ - `detectPackageManager()` centralizes pnpm/yarn/npm detection using user agents + lockfiles so both dev and production code paths invoke the right tool.
49
+ - `runLocalWeb()` now sets `SPECS_MODE=filesystem`, inherits the detected package manager (`pnpm run dev`, `yarn run dev`, etc.), auto-opens the browser, and tears down cleanly on `SIGINT`.
50
+
51
+ **Phase 2: Published runner (`runPublishedUI`)**
52
+ - Outside the monorepo we construct the proper command (`pnpm dlx --prefer-offline @leanspec/ui ...`, `yarn dlx ...`, or `npx --yes ...`) and stream stdio straight through so the packaged UI owns the console experience.
53
+ - Dry runs show the exact delegation command for both monorepo and external cases, enabling smoke tests without starting servers.
54
+
55
+ **@leanspec/ui package (packages/ui/)**
56
+ - Next.js config now emits `output: 'standalone'`, producing `/.next/standalone/packages/web/server.js` plus the necessary node_modules snapshot.
57
+ - `scripts/prepare-dist.mjs`
58
+ - Ensures a fresh web build exists (running `pnpm --filter @leanspec/web build` on demand).
59
+ - Copies `.next/standalone`, `.next/static`, `public/`, and `BUILD_ID` into `packages/ui/dist/`, handling the nested `packages/web` path automatically.
60
+ - `bin/ui.js`
61
+ - Resolves specs via flag/config/heuristics, validates ports, and exposes `--port`, `--specs`, `--no-open`, and `--dry-run` flags.
62
+ - Runs `node dist/standalone/packages/web/server.js` with `SPECS_MODE=filesystem`, opens the browser after launch, and surfaces troubleshooting hints when the build is missing.
63
+
64
+ **Release automation**
65
+ - `.github/workflows/publish-ui.yml` installs dependencies, runs `pnpm --filter @leanspec/ui build`, and publishes the package with provenance whenever a `ui-v*` tag is pushed or the workflow is dispatched.
66
+
67
+ **Phase 2: Standalone UI Package (packages/ui/)**
68
+
69
+ Create new package `@leanspec/ui`:
70
+
71
+ ```json
72
+ {
73
+ "name": "@leanspec/ui",
74
+ "version": "0.3.0",
75
+ "description": "Web UI for LeanSpec - visual spec management",
76
+ "bin": {
77
+ "leanspec-ui": "./bin/ui.js"
78
+ },
79
+ "dependencies": {
80
+ "@leanspec/core": "workspace:*",
81
+ "next": "16.0.1",
82
+ "react": "19.2.0",
83
+ "react-dom": "19.2.0"
84
+ // ... other web dependencies
85
+ },
86
+ "scripts": {
87
+ "build": "next build",
88
+ "start": "node bin/ui.js"
89
+ }
90
+ }
91
+ ```
92
+
93
+ **Standalone UI Wrapper (packages/ui/bin/ui.js):**
94
+
95
+ ```javascript
96
+ #!/usr/bin/env node
97
+ import { spawn } from 'child_process';
98
+ import { resolve } from 'path';
99
+ import { fileURLToPath } from 'url';
100
+ import { dirname, join } from 'path';
101
+
102
+ const __dirname = dirname(fileURLToPath(import.meta.url));
103
+ const nextDir = join(__dirname, '..');
104
+
105
+ // Parse CLI args
106
+ const args = process.argv.slice(2);
107
+ const specsDir = args[args.indexOf('--specs') + 1] || './specs';
108
+ const port = args[args.indexOf('--port') + 1] || '3000';
109
+ const noOpen = args.includes('--no-open');
110
+
111
+ // Set environment variables
112
+ process.env.SPECS_DIR = resolve(process.cwd(), specsDir);
113
+ process.env.PORT = port;
114
+ process.env.SPECS_MODE = 'filesystem'; // Force filesystem mode
115
+
116
+ // Start Next.js server
117
+ const child = spawn('next', ['start'], {
118
+ cwd: nextDir,
119
+ stdio: 'inherit',
120
+ env: process.env
121
+ });
122
+
123
+ // Open browser
124
+ if (!noOpen) {
125
+ setTimeout(async () => {
126
+ const open = (await import('open')).default;
127
+ await open(`http://localhost:${port}`);
128
+ }, 2000);
129
+ }
130
+
131
+ process.on('SIGINT', () => {
132
+ child.kill();
133
+ process.exit(0);
134
+ });
135
+ ```
136
+
137
+ ### Package Publishing Strategy
138
+
139
+ **Option 1: Separate @leanspec/ui package** (Recommended)
140
+ - **Pros**: Clean separation, can be used standalone, smaller CLI package
141
+ - **Cons**: One more package to maintain
142
+ - **Use case**: External projects using `npx lean-spec ui`
143
+
144
+ **Option 2: Bundle in @leanspec/web**
145
+ - **Pros**: Reuse existing package
146
+ - **Cons**: Web package is currently private, larger dependency
147
+ - **Use case**: Make `@leanspec/web` public with CLI wrapper
148
+
149
+ **Option 3: Bundle in lean-spec CLI**
150
+ - **Pros**: Single package install
151
+ - **Cons**: CLI becomes massive (Next.js + React = ~50MB)
152
+ - **Use case**: All-in-one installation
153
+
154
+ **Recommendation: Option 1** - Create `@leanspec/ui` as a thin wrapper around `@leanspec/web` that:
155
+ - Shares code with `@leanspec/web` (monorepo symlinks)
156
+ - Has its own bin/ui.js entry point
157
+ - Can be published separately
158
+ - CLI delegates to it via `npx @leanspec/ui`
159
+
160
+ ### Auto-Detection Logic
161
+
162
+ ```typescript
163
+ function detectSpecsDirectory(): string | null {
164
+ const candidates = [
165
+ './specs',
166
+ './spec',
167
+ './docs/specs',
168
+ './docs/spec',
169
+ './.lean-spec/specs'
170
+ ];
171
+
172
+ for (const candidate of candidates) {
173
+ if (existsSync(resolve(process.cwd(), candidate))) {
174
+ return candidate;
175
+ }
176
+ }
177
+
178
+ // Check for leanspec.yaml config
179
+ const configPath = resolve(process.cwd(), 'leanspec.yaml');
180
+ if (existsSync(configPath)) {
181
+ const config = yaml.load(readFileSync(configPath, 'utf-8'));
182
+ return config.specsDirectory || null;
183
+ }
184
+
185
+ return null;
186
+ }
187
+ ```
188
+
189
+ ### Integration with Spec 082 Architecture
190
+
191
+ The web UI will use the **filesystem mode** (spec 082) for local projects:
192
+
193
+ - Direct reads from `specs/` directory (no database required)
194
+ - In-memory caching with 60s TTL
195
+ - Realtime updates (changes appear within 60s)
196
+ - No manual seeding or sync required
197
+
198
+ **Environment Configuration:**
199
+ ```bash
200
+ # Automatically set by lean-spec ui command
201
+ SPECS_MODE=filesystem
202
+ SPECS_DIR=/absolute/path/to/project/specs
203
+ PORT=3000
204
+ ```
205
+
206
+ ## Plan
207
+
208
+ ### Phase 1: CLI Command (Week 1)
209
+
210
+ **Day 1-2: Basic Command Implementation** - ✅ **COMPLETE**
211
+ - [x] Create `packages/cli/src/commands/ui.ts`
212
+ - [x] Implement command registration in registry
213
+ - [x] Add monorepo detection logic (check for `packages/web`)
214
+ - [x] Implement `runLocalWeb()` for dev mode
215
+ - [x] Add port, specs-dir, and no-open options
216
+ - [x] Add `--dry-run` flag for testing
217
+ - [x] Test in LeanSpec monorepo
218
+ - [x] Add port validation (1-65535)
219
+ - [x] Auto-detect package manager (pnpm/yarn/npm)
220
+ - [x] Fix race conditions and event listener leaks
221
+ - [x] Comprehensive error handling
222
+
223
+ **Day 3: External Package Delegation** - ✅ **COMPLETE**
224
+ - [x] Implement `runPublishedUI()` that spawns pnpm/yarn/npm runners for `@leanspec/ui`
225
+ - [x] Add specs directory auto-detection (config + heuristics)
226
+ - [x] Add error handling for missing specs / missing build artifacts
227
+ - [x] Add graceful shutdown (SIGINT handling)
228
+ - [x] Test with and without local monorepo context (dry-run)
229
+
230
+ ### Phase 2: Standalone UI Package (Week 2) - ✅ **COMPLETE**
231
+
232
+ **Day 4-5: Package Structure**
233
+ - [x] Create `packages/ui/` directory
234
+ - [x] Build wrapper + dist copier sourced from `packages/web`
235
+ - [x] Create `bin/ui.js` wrapper script
236
+ - [x] Update package.json with bin entry point + publish config
237
+ - [x] Configure build scripts (`scripts/prepare-dist.mjs` + `prepublishOnly`)
238
+ - [x] Add README with usage + troubleshooting instructions
239
+
240
+ **Day 6-7: Standalone Build**
241
+ - [x] Configure Next.js for standalone builds (`output: 'standalone'`)
242
+ - [x] Test production build works and copies nested workspace paths
243
+ - [x] Verify bundle completeness via `node packages/ui/bin/ui.js --dry-run`
244
+ - [x] Add CLI arg parsing (--specs, --port, --no-open, --dry-run)
245
+ - [x] Browser auto-open + graceful shutdown
246
+
247
+ **Day 8: Integration Testing**
248
+ - [x] Test `lean-spec ui` in monorepo (dev mode, dry-run)
249
+ - [x] Test external invocation (`node ... ui --specs ... --dry-run`)
250
+ - [x] Validate missing specs messaging + port validation
251
+ - [ ] Full manual verification of realtime filesystem cache (tracked for follow-up release)
252
+
253
+ ### Phase 3: Documentation & Polish (Week 3)
254
+
255
+ **Day 9-10: Documentation**
256
+ - [x] Update CLI help text with `ui` command + specs override example
257
+ - [x] Add examples to main README (Quick Start step 4)
258
+ - [x] Create @leanspec/ui README with usage + env docs
259
+ - [x] Document environment variables in the package README
260
+ - [x] Add troubleshooting guide for the published package
261
+
262
+ **Day 11-12: Publishing Preparation**
263
+ - [x] Version bump coordination (`@leanspec/ui@0.3.0`)
264
+ - [x] Update CHANGELOG.md
265
+ - [ ] Test npm publish dry-run (handled during release freeze)
266
+ - [x] Verify package.json metadata + files list
267
+ - [ ] Test installation from npm registry (will happen after first publish)
268
+
269
+ **Day 13: Release**
270
+ - [ ] Publish `@leanspec/ui` to npm (next release tag `ui-v0.3.0`)
271
+ - [ ] Publish updated `lean-spec` CLI to npm (bundled with release cadence)
272
+ - [ ] Create GitHub release with notes
273
+ - [ ] Announce feature in docs/social once npm publish is live
274
+
275
+ ## Test
276
+
277
+ ### Functional Testing
278
+
279
+ **CLI Command:**
280
+ - [x] `lean-spec ui` works in LeanSpec monorepo (dev mode dry-run)
281
+ - [x] `lean-spec ui` works in external projects (delegates via pnpm/yarn/npm dry-run)
282
+ - [x] `--specs` option overrides auto-detection
283
+ - [x] `--port` option changes port correctly
284
+ - [x] `--no-open` prevents browser from opening
285
+ - [x] `--dry-run` shows what would run without executing
286
+ - [x] Error message when specs directory not found
287
+ - [x] Graceful shutdown on Ctrl+C
288
+ - [x] Port validation (1-65535 range)
289
+ - [x] Package manager detection (pnpm/yarn/npm)
290
+
291
+ **Standalone UI Package:**
292
+ - [ ] `npx @leanspec/ui` launches web UI (will verify after first publish)
293
+ - [x] Dry-run confirms env vars (SPECS_MODE/SPECS_DIR) and command construction
294
+ - [x] Works with custom `--specs` directory via CLI flag
295
+ - [x] Browser auto-open + graceful shutdown logic implemented
296
+ - [ ] Filesystem mode async cache + live reload acceptance (tracked via spec 082 instrumentation)
297
+ - [ ] Cache updates work (realtime within 60s)
298
+
299
+ **Integration:**
300
+ - [x] CLI delegates to standalone package when outside the monorepo (dry-run verification)
301
+ - [x] Monorepo dev mode takes precedence over published package
302
+ - [ ] Both modes can run simultaneously (different ports)
303
+ - [x] Process cleanup works (SIGINT propagated to child processes)
304
+
305
+ ### Performance Testing
306
+
307
+ - [ ] Startup time <5s (cold start)
308
+ - [ ] Startup time <2s (warm cache)
309
+ - [ ] Memory usage reasonable (<200MB)
310
+ - [ ] No memory leaks during extended runs
311
+
312
+ ### Compatibility Testing
313
+
314
+ - [ ] Works on macOS
315
+ - [ ] Works on Linux
316
+ - [ ] Works on Windows (WSL)
317
+ - [ ] Works with Node 20+
318
+ - [ ] Works with npm, pnpm, yarn
319
+ - [ ] Works when installed globally vs locally
320
+
321
+ ### User Experience Testing
322
+
323
+ - [ ] Clear startup messages
324
+ - [ ] Helpful error messages
325
+ - [ ] Browser opens to correct page
326
+ - [ ] UI loads specs correctly
327
+ - [ ] Changes to specs appear within 60s
328
+ - [ ] Shutdown is clean (no errors)
329
+
330
+ ## Notes
331
+
332
+ ### Design Decisions
333
+
334
+ **Why separate @leanspec/ui package?**
335
+ - **Clean separation**: CLI stays lightweight, UI is separate concern
336
+ - **Standalone use**: Users can run `npx @leanspec/ui` directly
337
+ - **Smaller CLI**: Don't bloat CLI with Next.js/React dependencies
338
+ - **Easier maintenance**: UI can version independently
339
+
340
+ **Why not bundle UI in CLI?**
341
+ - **Size**: Next.js + React = ~50MB, too large for CLI
342
+ - **Dependencies**: React, Next.js not needed for CLI users who never use UI
343
+ - **Complexity**: Build process more complicated
344
+ - **Performance**: Slower CLI startup if bundled
345
+
346
+ **Why detect monorepo mode?**
347
+ - **Dev experience**: LeanSpec contributors shouldn't need published package
348
+ - **Faster iteration**: Local changes immediately available
349
+ - **Flexibility**: Can test unreleased UI changes
350
+
351
+ **Why filesystem mode (spec 082)?**
352
+ - **No setup**: Works immediately, no database required
353
+ - **Realtime**: Changes appear within 60s (cache TTL)
354
+ - **Simple**: Single source of truth (specs/ directory)
355
+ - **Fast**: <100ms reads from filesystem
356
+
357
+ ### Package Size Comparison
358
+
359
+ | Package | Compressed | Unpacked | Dependencies |
360
+ |---------|-----------|----------|--------------|
361
+ | `lean-spec` CLI | ~500KB | ~2MB | 20 packages |
362
+ | `@leanspec/ui` | ~5MB | ~25MB | Next.js, React, UI libs |
363
+ | **Combined** | ~5.5MB | ~27MB | Separate installs |
364
+
365
+ **If bundled in CLI**: ~50MB unpacked (not acceptable)
366
+
367
+ ### Alternative Approaches Considered
368
+
369
+ **1. Embedded Server in CLI**
370
+ - Pros: Single package
371
+ - Cons: Massive size, complex build, slow startup
372
+ - **Rejected**: Too complex, violates Unix philosophy
373
+
374
+ **2. Static HTML Export**
375
+ - Pros: No server needed, tiny package
376
+ - Cons: No realtime updates, limited interactivity
377
+ - **Rejected**: Defeats purpose of web UI
378
+
379
+ **3. Electron App**
380
+ - Pros: Native feel, auto-updates
381
+ - Cons: Even larger (100MB+), more maintenance
382
+ - **Rejected**: Overkill for this use case
383
+
384
+ **4. Browser Extension**
385
+ - Pros: Integrated in browser
386
+ - Cons: Limited filesystem access, requires extension install
387
+ - **Rejected**: Adds friction to workflow
388
+
389
+ ### Open Questions
390
+
391
+ - [ ] Should we support watching for file changes (instant reload) beyond the filesystem cache window? (Deferred to a future spec once we feel pain)
392
+ - [ ] Should we add `lean-spec ui export/share` flows for static hosting or temporary sharing?
393
+ - [ ] Should we bundle a version checker (warn if CLI/UI versions are out of sync)? (Candidate for the docs polish phase)
394
+
395
+ ### Related Work
396
+
397
+ - **Spec 035**: Live Specs Showcase - Web app foundation
398
+ - **Spec 081**: Web App UX Redesign - UI improvements
399
+ - **Spec 082**: Web Realtime Sync Architecture - Filesystem mode enables this
400
+
401
+ ### Future Enhancements
402
+
403
+ **v0.4+:**
404
+ - [ ] `lean-spec ui export` - Static HTML export
405
+ - [ ] `lean-spec ui share` - Temporary public URL (via ngrok/tunneling)
406
+ - [ ] `lean-spec ui --watch` - Instant reload on file changes
407
+ - [ ] Desktop app wrapper (Tauri/Electron)
408
+ - [ ] VSCode webview integration (spec 017)
409
+ - [ ] Multi-project mode (switch between projects in UI)
410
+
411
+ ### Dependencies
412
+
413
+ **This spec depends on:**
414
+ - Spec 082 (filesystem mode) - Must be complete for realtime updates
415
+ - Spec 081 (UX redesign) - UI should be polished before exposing via CLI
416
+
417
+ **This spec enables:**
418
+ - Better DX for visual learners
419
+ - Easier onboarding (show, don't tell)
420
+ - Spec 017 (VSCode extension) - Can embed UI in webview
421
+ - External adoption - Easy way to explore LeanSpec
@@ -0,0 +1,106 @@
1
+ ---
2
+ status: complete
3
+ created: '2025-11-17'
4
+ tags: []
5
+ priority: high
6
+ created_at: '2025-11-17T02:09:38.041Z'
7
+ updated_at: '2025-11-17T09:14:30.117Z'
8
+ transitions:
9
+ - status: in-progress
10
+ at: '2025-11-17T02:10:38.350Z'
11
+ - status: complete
12
+ at: '2025-11-17T02:10:43.845Z'
13
+ - status: planned
14
+ at: '2025-11-17T02:58:35.396Z'
15
+ - status: complete
16
+ at: '2025-11-17T09:14:30.117Z'
17
+ completed_at: '2025-11-17T02:10:43.845Z'
18
+ completed: '2025-11-17'
19
+ ---
20
+
21
+ # Core Concepts: Real SDD Terminology Only
22
+
23
+ > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-17
24
+
25
+ **Project**: lean-spec
26
+ **Team**: Core Development
27
+
28
+ ## Overview
29
+
30
+ Users report that the current "Core Concepts" section in docs-site contains philosophy and principles rather than actual terminology definitions. This creates confusion for newcomers trying to understand SDD basics.
31
+
32
+ **Problem**: Current Core Concepts mixes:
33
+ - Philosophical principles (first principles, progressive disclosure)
34
+ - Process guidance (workflow, decision-making)
35
+ - Actual SDD terminology (specs, tokens, context)
36
+
37
+ **Goal**: Restructure Core Concepts to be a **glossary of essential SDD terms** only:
38
+ - **Spec**: What is a specification in SDD context
39
+ - **Context**: What context means (human + AI working memory)
40
+ - **Tokens**: Why tokens matter for AI + human cognition
41
+ - **Agent**: AI agents in SDD workflow
42
+ - **Status**: Spec lifecycle states
43
+ - **Dependencies**: Relationship between specs
44
+ - Other concrete terms users encounter when using LeanSpec
45
+
46
+ **Non-Goals**:
47
+ - Philosophy content → move to "Philosophy & Principles" section
48
+ - Workflow guidance → move to tutorials/guides
49
+ - Decision frameworks → keep in methodology docs
50
+
51
+ ## Design
52
+
53
+ **Restructure Core Concepts as a terminology glossary with definitions only.**
54
+
55
+ Each concept entry should:
56
+ 1. **Definition**: What it is (1-2 sentences)
57
+ 2. **Why it matters**: Practical importance for SDD
58
+ 3. **Example**: Concrete example from LeanSpec usage
59
+ 4. **Related**: Links to deeper explanations
60
+
61
+ **Priority order for inclusion**:
62
+ 1. Terms users encounter in first 5 minutes (spec, status, tokens)
63
+ 2. Terms in CLI/UI (tags, priority, dependencies)
64
+ 3. SDD methodology terms (context, agent, signal-to-noise)
65
+ 4. Advanced concepts (progressive disclosure, templates)
66
+
67
+ **Content reorganization**:
68
+ - Philosophy → New "Philosophy & Principles" section
69
+ - Workflow → Move to step-by-step tutorials (spec 089)
70
+ - Decision frameworks → Keep in "Methodology" docs
71
+
72
+ **Term structure template**:
73
+ ```markdown
74
+ ### [Term Name]
75
+
76
+ **Definition**: [One sentence explanation]
77
+
78
+ **Why it matters**: [Practical importance in SDD workflow]
79
+
80
+ **Example**:
81
+ [Concrete example from LeanSpec usage]
82
+
83
+ **See also**: [Links to related concepts or deeper docs]
84
+ ```
85
+
86
+ ## Plan
87
+
88
+ - [ ] Audit current Core Concepts docs - identify what's philosophy vs terminology
89
+ - [ ] Create list of essential SDD terms users encounter
90
+ - [ ] Write clean definitions for each term (using template)
91
+ - [ ] Create new "Philosophy & Principles" section in docs
92
+ - [ ] Move philosophical content to new section
93
+ - [ ] Update navigation/sidebar in docs-site
94
+ - [ ] Verify all cross-references still work
95
+
96
+ ## Test
97
+
98
+ - [ ] New user can find definition of any term they encounter in first use
99
+ - [ ] Each term has clear, concise definition (no philosophy/principles mixed in)
100
+ - [ ] Examples are concrete and actionable
101
+ - [ ] Philosophy content successfully moved to separate section
102
+ - [ ] All internal doc links still work after reorganization
103
+
104
+ ## Notes
105
+
106
+ <!-- Optional: Research findings, alternatives considered, open questions -->