@leanspec/ui 0.2.8 → 0.2.9-dev.20251205030455

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 (640) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +95 -0
  3. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  4. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +8 -0
  5. package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
  6. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  8. package/.next/standalone/packages/ui/.next/routes-manifest.json +60 -0
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +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/build-manifest.json +2 -2
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  27. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  28. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  30. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/app-paths-manifest.json +3 -0
  33. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/build-manifest.json +11 -0
  34. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/server-reference-manifest.json +4 -0
  35. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +8 -0
  36. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.map +5 -0
  37. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -0
  38. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route_client-reference-manifest.js +2 -0
  39. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
  44. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
  45. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  76. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  77. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  78. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  79. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  82. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  83. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  86. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  87. package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +2 -2
  88. package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -2
  89. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
  90. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/app-paths-manifest.json +3 -0
  92. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/build-manifest.json +18 -0
  93. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/next-font-manifest.json +6 -0
  94. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/react-loadable-manifest.json +1 -0
  95. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/server-reference-manifest.json +4 -0
  96. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +19 -0
  97. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.map +5 -0
  98. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -0
  99. package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +2 -0
  100. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
  101. package/.next/standalone/packages/ui/.next/server/app/page.js +4 -3
  102. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
  105. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
  106. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
  107. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
  108. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
  109. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
  110. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
  111. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
  112. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
  113. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
  114. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
  115. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
  116. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
  117. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
  118. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
  119. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
  120. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
  121. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
  122. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
  123. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +7 -7
  124. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  125. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
  127. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +8 -7
  128. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  129. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
  131. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +7 -6
  132. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  133. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  134. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
  144. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +7 -6
  145. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  146. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  147. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  148. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -23
  149. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -23
  150. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
  151. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  152. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  153. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  154. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -2
  155. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  156. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  157. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  158. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -2
  159. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  160. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  161. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -2
  163. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  164. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  165. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  166. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +8 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18aca702._.js +3 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__27348781._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a7f0840._.js +3 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3e17db24._.js +3 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6e06fd2a._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97b99cc0._.js +3 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9d9758e1._.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b212b9bd._.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b9c03a57._.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e99e7672._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f38a5f20._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__126dea7b._.js → [root-of-the-server]__fa8cf2bc._.js} +2 -2
  187. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_dependencies_route_actions_cf6b14c3.js +3 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__13f96ef4._.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__fd80e4dd._.js → [root-of-the-server]__38c56adc._.js} +2 -2
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +3 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__53f4506c._.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__84124d4b._.js +3 -0
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__921689ca._.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b0d6e2ad._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b27b2469._.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +3 -0
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +7 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +1 -1
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_90eed09a._.js +3 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_22274047._.js → _adb9d7cb._.js} +2 -2
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_da18b655._.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f38e75b7._.js +4 -0
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f9129aae._.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_015f83ca._.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4e3e790c._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_80605a06._.js +3 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b4ff5c78._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_bb80de48._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_dependencies_page_actions_57387d47.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +4 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  252. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
  253. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  254. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  255. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  256. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  257. package/.next/standalone/packages/ui/.next/static/chunks/04de9ed512b8098b.js +10 -0
  258. package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
  259. package/.next/standalone/packages/ui/.next/static/chunks/3d12a8c3152b526d.js +3 -0
  260. package/.next/standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
  261. package/.next/standalone/packages/ui/.next/static/chunks/46275d9d67603bf5.js +1 -0
  262. package/.next/standalone/packages/ui/.next/static/chunks/7931c6cb379305b1.js +1 -0
  263. package/.next/standalone/packages/ui/.next/static/chunks/7a00633903e066b4.js +1 -0
  264. package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  265. package/.next/standalone/packages/ui/.next/static/chunks/7f9a218732be8099.js +5 -0
  266. package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
  267. package/.next/standalone/packages/ui/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
  268. package/.next/standalone/packages/ui/.next/static/chunks/8d8c106c6848d15b.js +1 -0
  269. package/.next/standalone/packages/ui/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
  270. package/.next/standalone/packages/ui/.next/static/chunks/a640b005f2e15d98.js +1 -0
  271. package/.next/standalone/packages/ui/.next/static/chunks/a7075a240adea8e8.js +1 -0
  272. package/.next/standalone/packages/ui/.next/static/chunks/b53250480fde6816.js +1 -0
  273. package/.next/{static/chunks/794f3931f1ca12d2.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
  274. package/.next/standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
  275. package/.next/standalone/packages/ui/.next/static/chunks/c658e22a605e0ed1.js +1 -0
  276. package/.next/standalone/packages/ui/.next/static/chunks/c92660d8d0c4763d.js +1 -0
  277. package/.next/standalone/packages/ui/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
  278. package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  279. package/.next/standalone/packages/ui/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
  280. package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
  281. package/.next/standalone/packages/ui/.next/static/chunks/f924ae32752e1583.js +1 -0
  282. package/.next/standalone/packages/ui/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
  283. package/.next/{static/chunks/turbopack-5fa55215af0efb15.js → standalone/packages/ui/.next/static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
  284. package/.next/standalone/packages/ui/package.json +3 -1
  285. package/.next/standalone/packages/ui/server.js +1 -1
  286. package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +81 -0
  287. package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
  288. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +69 -0
  289. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
  290. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
  291. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
  292. package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
  293. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
  294. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
  295. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
  296. package/.next/standalone/packages/ui/src/app/context/context-client.tsx +23 -1
  297. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +29 -58
  298. package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +25 -0
  299. package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +700 -0
  300. package/.next/standalone/packages/ui/src/app/dependencies/index.ts +19 -0
  301. package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +38 -0
  302. package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +80 -0
  303. package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +171 -0
  304. package/.next/standalone/packages/ui/src/app/dependencies/types.ts +37 -0
  305. package/.next/standalone/packages/ui/src/app/dependencies/utils.ts +194 -0
  306. package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
  307. package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
  308. package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +43 -0
  309. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
  310. package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
  311. package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
  312. package/.next/standalone/packages/ui/src/app/projects/page.tsx +167 -20
  313. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +27 -17
  314. package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
  315. package/.next/standalone/packages/ui/src/components/context-file-detail.tsx +308 -0
  316. package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +96 -2
  317. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
  318. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
  319. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +31 -6
  320. package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
  321. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +24 -5
  322. package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
  323. package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
  324. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +36 -11
  325. package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
  326. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
  327. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
  328. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +85 -31
  329. package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
  330. package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
  331. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  332. package/.next/static/chunks/04de9ed512b8098b.js +10 -0
  333. package/.next/static/chunks/1e0689744f87e958.js +2 -0
  334. package/.next/static/chunks/3d12a8c3152b526d.js +3 -0
  335. package/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
  336. package/.next/static/chunks/46275d9d67603bf5.js +1 -0
  337. package/.next/static/chunks/7931c6cb379305b1.js +1 -0
  338. package/.next/static/chunks/7a00633903e066b4.js +1 -0
  339. package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  340. package/.next/static/chunks/7f9a218732be8099.js +5 -0
  341. package/.next/static/chunks/840c6743a491a398.js +1 -0
  342. package/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
  343. package/.next/static/chunks/8d8c106c6848d15b.js +1 -0
  344. package/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
  345. package/.next/static/chunks/a640b005f2e15d98.js +1 -0
  346. package/.next/static/chunks/a7075a240adea8e8.js +1 -0
  347. package/.next/static/chunks/b53250480fde6816.js +1 -0
  348. package/.next/{standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js → static/chunks/bbd498aa5689c057.js} +1 -1
  349. package/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
  350. package/.next/static/chunks/c658e22a605e0ed1.js +1 -0
  351. package/.next/static/chunks/c92660d8d0c4763d.js +1 -0
  352. package/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
  353. package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  354. package/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
  355. package/.next/static/chunks/e399b4afc7936907.js +1 -0
  356. package/.next/static/chunks/f924ae32752e1583.js +1 -0
  357. package/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
  358. package/.next/{standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js → static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
  359. package/package.json +4 -2
  360. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
  361. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
  362. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
  363. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
  364. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
  365. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
  366. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
  367. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
  368. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
  369. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
  370. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
  371. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
  372. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
  373. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
  374. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +0 -3
  375. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__12b4eb41._.js +0 -3
  376. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +0 -3
  377. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
  378. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6e739186._.js +0 -7
  379. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
  380. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a4c56419._.js +0 -7
  381. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b6632d78._.js +0 -3
  382. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
  383. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
  384. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +0 -3
  385. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +0 -3
  386. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +0 -3
  387. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_315f3b3a._.js +0 -3
  388. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
  389. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9dcf102b._.js +0 -3
  390. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +0 -3
  391. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b397e94a._.js +0 -3
  392. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
  393. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8272a49c._.js +0 -3
  394. package/.next/standalone/packages/ui/.next/static/chunks/1eb8283995f370c6.js +0 -1
  395. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  396. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
  397. package/.next/standalone/packages/ui/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
  398. package/.next/standalone/packages/ui/.next/static/chunks/37a1236ed50645a6.js +0 -1
  399. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  400. package/.next/standalone/packages/ui/.next/static/chunks/9d84ba08a41145ec.js +0 -5
  401. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
  402. package/.next/standalone/packages/ui/.next/static/chunks/c4b1faff3361a749.js +0 -1
  403. package/.next/standalone/packages/ui/.next/static/chunks/d7420d2a867e57b5.js +0 -1
  404. package/.next/standalone/packages/ui/.next/static/chunks/dae403679aae65f4.js +0 -1
  405. package/.next/standalone/packages/ui/.next/static/chunks/efded9da04c960d8.js +0 -1
  406. package/.next/standalone/packages/ui/.next/static/chunks/f382932f1a5d6359.js +0 -10
  407. package/.next/standalone/packages/ui/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
  408. package/.next/standalone/packages/ui/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
  409. package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
  410. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  411. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  412. package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
  413. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
  414. package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
  415. package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
  416. package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
  417. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
  418. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
  419. package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
  420. package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
  421. package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
  422. package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
  423. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  424. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
  425. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  426. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  427. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  428. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  429. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  430. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  431. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  432. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  433. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  434. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  435. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  436. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  437. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  438. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  439. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  440. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  441. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  442. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
  443. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  444. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  445. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  446. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  447. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  448. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  449. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  450. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  451. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  452. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  453. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  454. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  455. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  456. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  457. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  458. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  459. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  460. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  461. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  462. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  463. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  464. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  465. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  466. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  467. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  468. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  469. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  470. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  471. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  472. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  473. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  474. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  475. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  476. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  477. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  478. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  479. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  480. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  481. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  482. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  483. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  484. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  485. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  486. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  487. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  488. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  489. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  490. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  491. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  492. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  493. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  494. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  495. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  496. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  497. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  498. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  499. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  500. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  501. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  502. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  503. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  504. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  505. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  506. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  507. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  508. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  509. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  510. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  511. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  512. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  513. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  514. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  515. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  516. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  517. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  518. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  519. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  520. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  521. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  522. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  523. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
  524. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  525. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  526. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  527. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  528. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  529. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  530. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  531. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  532. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
  533. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  534. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  535. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  536. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  537. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
  538. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  539. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  540. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  541. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  542. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
  543. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
  544. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
  545. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
  546. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
  547. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
  548. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
  549. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  550. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  551. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  552. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  553. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  554. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  555. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  556. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  557. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  558. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  559. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  560. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  561. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  562. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  563. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  564. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  565. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  566. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  567. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  568. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  569. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  570. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  571. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  572. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  573. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  574. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  575. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  576. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  577. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  578. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  579. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  580. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  581. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  582. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  583. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  584. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  585. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  586. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  587. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  588. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  589. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  590. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  591. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  592. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
  593. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
  594. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
  595. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
  596. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
  597. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
  598. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
  599. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
  600. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
  601. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
  602. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
  603. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
  604. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
  605. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
  606. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
  607. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
  608. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
  609. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
  610. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
  611. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
  612. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  613. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
  614. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
  615. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
  616. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
  617. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_buildManifest.js +0 -11
  618. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_clientMiddlewareManifest.json +0 -1
  619. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_ssgManifest.js +0 -1
  620. package/.next/static/chunks/1eb8283995f370c6.js +0 -1
  621. package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  622. package/.next/static/chunks/2c85b8059e42248a.js +0 -1
  623. package/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
  624. package/.next/static/chunks/37a1236ed50645a6.js +0 -1
  625. package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  626. package/.next/static/chunks/9d84ba08a41145ec.js +0 -5
  627. package/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
  628. package/.next/static/chunks/c4b1faff3361a749.js +0 -1
  629. package/.next/static/chunks/d7420d2a867e57b5.js +0 -1
  630. package/.next/static/chunks/dae403679aae65f4.js +0 -1
  631. package/.next/static/chunks/efded9da04c960d8.js +0 -1
  632. package/.next/static/chunks/f382932f1a5d6359.js +0 -10
  633. package/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
  634. package/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
  635. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
  636. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
  637. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
  638. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
  639. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
  640. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
@@ -1,208 +0,0 @@
1
- ---
2
- status: complete
3
- created: '2025-11-04'
4
- completed: '2025-11-07'
5
- tags:
6
- - ux
7
- - visualization
8
- - analytics
9
- - launch
10
- - v0.2.0
11
- priority: high
12
- created_at: '2025-11-04T00:00:00Z'
13
- updated_at: '2025-11-07T03:20:42.284Z'
14
- completed_at: '2025-11-07T00:00:00Z'
15
- transitions:
16
- - status: complete
17
- at: '2025-11-04T10:21:40.759Z'
18
- - status: in-progress
19
- at: '2025-11-06T06:55:31.151Z'
20
- - status: complete
21
- at: '2025-11-07T00:00:00Z'
22
- ---
23
-
24
- # Unified Analytics & Velocity Tracking
25
-
26
- > **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-04 · **Tags**: ux, visualization, analytics, launch, v0.2.0
27
-
28
- **Split into sub-specs for Context Economy** - See detailed sections below
29
-
30
- ## Overview
31
-
32
- Consolidate analytics commands and add velocity tracking to measure SDD effectiveness.
33
-
34
- ### What Was Built
35
-
36
- 1. ✅ **Timestamp tracking** → `created_at`, `updated_at`, `completed_at`, `transitions` in frontmatter
37
- 2. ✅ **Velocity metrics** → Cycle time, throughput, WIP tracking in `utils/velocity.ts`
38
- 3. ✅ **Enhanced stats command** → Added `--velocity`, `--timeline`, `--full` flags
39
- 4. ✅ **Board enhancements** → Integrated velocity summary into board view
40
- 5. ❌ **Dashboard command** → Not implemented (functionality merged into enhanced `stats` and `board` instead)
41
-
42
- ### Why Now?
43
-
44
- - v0.2.0 launch requires polished, cohesive UX
45
- - Analytics commands overlap in purpose (both show trends/metrics)
46
- - Need single entry point for "show me project health"
47
- - **Velocity is critical metric for SDD adoption** - proves if specs help or hinder
48
-
49
- ### Before vs After
50
-
51
- **Before (v0.1.x):**
52
- ```bash
53
- lean-spec stats # Basic metrics only
54
- lean-spec timeline # Separate timeline view
55
- lean-spec board # Basic Kanban
56
- # No velocity tracking
57
- # No timestamp precision
58
- ```
59
-
60
- **After (v0.2.0):**
61
- ```bash
62
- # Enhanced Stats Command
63
- lean-spec stats # Simplified view with insights
64
- lean-spec stats --timeline # Add timeline section
65
- lean-spec stats --velocity # Cycle time analysis
66
- lean-spec stats --full # Everything combined
67
-
68
- # Enhanced Board Command
69
- lean-spec board # Now includes velocity summary
70
-
71
- # Timeline Command
72
- lean-spec timeline # Still works (not deprecated)
73
-
74
- # Velocity tracking active
75
- # Precise timestamps in frontmatter
76
- ```
77
-
78
- ## Implemented Features
79
-
80
- ### ✅ 1. Timestamp Tracking (Foundation)
81
- Precise timestamps alongside existing dates enable velocity metrics:
82
- - `created_at`, `updated_at`, `completed_at` (ISO 8601) - **IMPLEMENTED**
83
- - Optional `transitions` array for stage duration tracking - **IMPLEMENTED**
84
- - Backward compatible (infer from dates if missing) - **IMPLEMENTED**
85
- - Auto-enrichment on create/update operations - **IMPLEMENTED**
86
-
87
- ### ✅ 2. Velocity Metrics
88
- Comprehensive velocity tracking implemented in `src/utils/velocity.ts`:
89
- - **Cycle Time**: Created → Completed (avg, median, P90) - **IMPLEMENTED**
90
- - **Lead Time**: Time in each status from transitions - **IMPLEMENTED**
91
- - **Throughput**: Specs/week with trend indicators - **IMPLEMENTED**
92
- - **WIP Tracking**: Current and historical WIP averages - **IMPLEMENTED**
93
-
94
- ### ✅ 3. Enhanced Stats Command
95
- Completely redesigned stats command with multiple views:
96
- - `lean-spec stats` → New simplified view with insights (default) - **IMPLEMENTED**
97
- - `lean-spec stats --timeline` → Add timeline section - **IMPLEMENTED**
98
- - `lean-spec stats --velocity` → Show cycle time analysis - **IMPLEMENTED**
99
- - `lean-spec stats --full` → Everything combined (old analytics style) - **IMPLEMENTED**
100
- - Smart insights and completion tracking - **IMPLEMENTED**
101
-
102
- ### ✅ 4. Board Command Enhancements
103
- Integrated velocity metrics into board view:
104
- - Shows velocity summary (cycle time, throughput, WIP) - **IMPLEMENTED**
105
- - Completion rate and project health - **IMPLEMENTED**
106
-
107
- ### ❌ 5. Dashboard Command (Not Implemented)
108
- Decision: Instead of creating a separate dashboard command, the functionality was distributed:
109
- - Enhanced `stats` command provides comprehensive analytics
110
- - Enhanced `board` command shows velocity summary
111
- - This keeps the CLI simpler and more focused
112
-
113
- ## Quick Reference
114
-
115
- ### Command Comparison
116
-
117
- | Command | Purpose | When to Use |
118
- |---------|---------|-------------|
119
- | `lean-spec list` | Browse/search specs | Find specific spec, apply filters |
120
- | `lean-spec board` | Kanban workflow + velocity | Sprint planning, project health |
121
- | `lean-spec stats` | Comprehensive analytics | Deep metrics, velocity analysis |
122
- | `lean-spec timeline` | Historical trends | Activity over time |
123
-
124
- ### Stats Output Examples
125
-
126
- **Simplified view (default):**
127
- ```bash
128
- lean-spec stats
129
- # Shows: Overview, Status, Priority Focus, Needs Attention, Velocity Summary
130
- ```
131
-
132
- **Velocity analysis:**
133
- ```bash
134
- lean-spec stats --velocity
135
- # Shows: Cycle Time, Lead Time, Throughput, WIP metrics
136
- ```
137
-
138
- **Full analytics:**
139
- ```bash
140
- lean-spec stats --full
141
- # Shows: Everything combined (stats + timeline + velocity)
142
- ```
143
-
144
- ## Sub-Specs
145
-
146
- Detailed information split for Context Economy (<400 lines per file):
147
-
148
- - **[DESIGN.md](./DESIGN.md)** - Architecture, timestamp tracking, command structure
149
- - **[RATIONALE.md](./RATIONALE.md)** - Why velocity matters, design decisions, alternatives
150
- - **[IMPLEMENTATION.md](./IMPLEMENTATION.md)** - Step-by-step implementation plan with phases
151
- - **[TESTING.md](./TESTING.md)** - Comprehensive test strategy and success criteria
152
- - **[ACTUAL-IMPLEMENTATION.md](./ACTUAL-IMPLEMENTATION.md)** - Final implementation details and outcomes
153
-
154
- ## Success Criteria (Achieved)
155
-
156
- **✅ User Experience:**
157
- - Stats command now provides clear project insights with simplified default view
158
- - Needs Attention section highlights critical issues
159
- - Velocity metrics prove SDD effectiveness
160
- - No breaking changes for existing users
161
-
162
- **✅ Technical:**
163
- - Fast render performance with single spec load
164
- - Backward compatible (old stats behavior available with `--full`)
165
- - Clean separation: velocity.ts, completion.ts, insights.ts utilities
166
- - Comprehensive test coverage
167
-
168
- **✅ Business:**
169
- - Velocity metrics demonstrate SDD value objectively
170
- - Enhanced board/stats commands improve v0.2.0 launch demo
171
- - Clear analytics for teams to track improvement
172
-
173
- ## Dependencies
174
-
175
- None - standalone feature for v0.2.0
176
-
177
- ## Implementation Notes
178
-
179
- ### Why Velocity Metrics Matter
180
-
181
- **Velocity is SDD's feedback loop:**
182
- - Proves whether specs accelerate or slow development
183
- - Identifies workflow bottlenecks
184
- - Tracks team learning curve
185
- - Makes SDD adoption measurable
186
- - Provides objective data for process improvement
187
-
188
- ### Design Decisions
189
-
190
- **Why no separate dashboard command?**
191
- - Decided against `lean-spec` defaulting to dashboard (keeps help accessible)
192
- - Enhanced `stats` and `board` commands provide comprehensive views
193
- - Simpler CLI surface area (fewer commands to learn)
194
- - Functionality distributed where it makes most sense
195
-
196
- **Why keep timeline command?**
197
- - Originally planned for deprecation
198
- - Decided to keep it as dedicated historical view
199
- - No user confusion since stats/timeline serve different use cases
200
- - No breaking changes needed
201
-
202
- ### Future Enhancements
203
-
204
- - Custom velocity targets via config
205
- - More granular lead time tracking (by spec type/priority)
206
- - Velocity trend predictions
207
- - Export capabilities (JSON, CSV)
208
- - Integration with CI/CD for automated tracking
@@ -1,182 +0,0 @@
1
- # Testing Strategy: Unified Dashboard
2
-
3
- ## Part 0: Timestamp Tracking Tests
4
-
5
- ### Timestamp Generation
6
- - [ ] New spec gets `created_at` set automatically
7
- - [ ] `updated_at` updates on any frontmatter change
8
- - [ ] Status change to complete sets `completed_at`
9
- - [ ] Transitions array tracks status changes (if enabled)
10
-
11
- ### Migration & Compatibility
12
- - [ ] Existing specs without timestamps still work
13
- - [ ] Timestamps inferred from dates (midnight UTC)
14
- - [ ] Date fields still required (backward compat)
15
- - [ ] Graceful degradation when timestamps missing
16
-
17
- ### Edge Cases
18
- - [ ] Spec created and completed same day (timestamps differ)
19
- - [ ] Manual timestamp editing preserved
20
- - [ ] Timezone handling consistent (UTC)
21
-
22
- ## Part 1: Enhanced Stats Command Tests
23
-
24
- ### Backward Compatibility
25
- - [ ] `lean-spec stats` outputs same format as before (no breaking changes)
26
- - [ ] `lean-spec stats --json` matches existing JSON schema
27
- - [ ] All existing filter options work (--tag, --assignee, --priority)
28
-
29
- ### New Timeline Integration
30
- - [ ] `lean-spec stats --timeline` adds timeline section after stats
31
- - [ ] `lean-spec stats --history` shows full historical view
32
- - [ ] `lean-spec stats --velocity` shows cycle time analysis
33
- - [ ] `lean-spec stats --all` combines everything
34
- - [ ] Timeline data matches previous `lean-spec timeline` output
35
-
36
- ### Velocity Calculations
37
- - [ ] Cycle time accurate (created_at → completed_at)
38
- - [ ] Stage durations sum correctly
39
- - [ ] Throughput matches manual count
40
- - [ ] WIP calculation correct for any date
41
- - [ ] Percentiles (P50, P90, P95) accurate
42
- - [ ] Trend indicators (↑↓→) correct
43
-
44
- ### Velocity Display
45
- - [ ] Shows average, median cycle time
46
- - [ ] Compares to configured targets
47
- - [ ] Stage durations visualized with bars
48
- - [ ] Throughput trends visible (last 4 weeks)
49
- - [ ] WIP stays within healthy range
50
- - [ ] Graceful when no completed specs yet
51
-
52
- ### Edge Cases
53
- - [ ] Empty project shows helpful message
54
- - [ ] Project with no dates (no created/completed fields)
55
- - [ ] Filtered results still show timeline
56
- - [ ] Very large date ranges don't break layout
57
-
58
- ## Part 2: Dashboard Command Tests
59
-
60
- ### Project States
61
-
62
- #### Empty Project
63
- - [ ] Shows "No specs found" with init hint
64
- - [ ] No sections rendered (clean state)
65
- - [ ] Suggests `lean-spec init` to get started
66
-
67
- #### Small Project (< 10 specs)
68
- - [ ] All in-progress specs visible
69
- - [ ] Summary shows accurate counts
70
- - [ ] No truncation needed
71
- - [ ] All sections proportional
72
-
73
- #### Medium Project (10-50 specs)
74
- - [ ] Top 5 in-progress shown by default
75
- - [ ] `--expand-active` shows all
76
- - [ ] Top tags displayed (limit 5)
77
- - [ ] Timeline shows 14 days
78
-
79
- #### Large Project (100+ specs)
80
- - [ ] Summary remains concise
81
- - [ ] Smart prioritization in "Needs Attention"
82
- - [ ] Performance < 300ms
83
- - [ ] No visual clutter
84
-
85
- ### Smart Insights Tests
86
-
87
- #### Overdue Detection
88
- - [ ] Specs with `due < today` and `status != complete` flagged
89
- - [ ] Shows count in "Needs Attention"
90
- - [ ] Lists spec names (limit 3, then "and N more")
91
-
92
- #### Critical Priority
93
- - [ ] Critical specs still planned highlighted
94
- - [ ] Critical in-progress shown prominently
95
- - [ ] Warning if critical overdue
96
-
97
- #### Long-Running Detection
98
- - [ ] In-progress > 14 days flagged with ⚠️
99
- - [ ] Age shown next to spec name (e.g., "8d")
100
- - [ ] Helps identify potential bottlenecks
101
-
102
- #### User Assignment
103
- - [ ] `--assignee alice` focuses on Alice's work
104
- - [ ] Git config detection works (if configured)
105
- - [ ] Shows user's active work first
106
-
107
- #### Velocity Bottlenecks
108
- - [ ] Identifies stages with longest average duration
109
- - [ ] Flags if WIP exceeds target
110
- - [ ] Warns if throughput declining
111
-
112
- ### Filter Tests
113
- - [ ] `--tag feature` filters all sections consistently
114
- - [ ] `--status in-progress` shows only in-progress
115
- - [ ] `--priority high` shows only high priority
116
- - [ ] Multiple filters combine with AND logic
117
- - [ ] Filtered counts accurate in summary
118
-
119
- ### Display Option Tests
120
- - [ ] `--compact` shows minimal view (health + attention only)
121
- - [ ] `--expand-active` reveals all in-progress specs
122
- - [ ] `--json` outputs valid, comprehensive JSON
123
- - [ ] Unknown options show helpful error
124
-
125
- ### Integration Tests
126
-
127
- #### Command Flow
128
- - [ ] `lean-spec` defaults to dashboard
129
- - [ ] `lean-spec dashboard` explicitly shows dashboard
130
- - [ ] Dashboard → `lean-spec list` → dashboard (workflow)
131
- - [ ] Dashboard respects .lean-spec/config.json
132
-
133
- #### Cross-Command Consistency
134
- - [ ] Dashboard counts match `lean-spec list` counts
135
- - [ ] Dashboard stats match `lean-spec stats` output
136
- - [ ] Dashboard activity matches `lean-spec stats --timeline`
137
-
138
- ### Visual Tests
139
-
140
- #### Layout
141
- - [ ] Sections align properly
142
- - [ ] Box drawing characters render correctly
143
- - [ ] Colors don't obscure information
144
- - [ ] Terminal width respected (no wrapping)
145
-
146
- #### Accessibility
147
- - [ ] Works without color (NO_COLOR env var)
148
- - [ ] Unicode fallback for non-supporting terminals
149
- - [ ] Screen reader compatible (semantic structure)
150
-
151
- ### Performance Tests
152
- - [ ] 10 specs: < 100ms
153
- - [ ] 50 specs: < 200ms
154
- - [ ] 100 specs: < 300ms
155
- - [ ] 500 specs: < 1s
156
- - [ ] Single `loadAllSpecs()` call verified
157
-
158
- ### Regression Tests
159
- - [ ] Existing commands unaffected (list, board, gantt, deps)
160
- - [ ] `lean-spec stats` backward compatible
161
- - [ ] JSON output schemas unchanged (where applicable)
162
- - [ ] All existing tests still pass
163
-
164
- ## Success Criteria
165
-
166
- ### User Experience
167
- - [ ] New user runs `lean-spec`, immediately understands project state
168
- - [ ] < 5 seconds to identify what needs attention
169
- - [ ] Existing users don't notice breaking changes
170
- - [ ] Smooth migration from timeline to stats --history
171
-
172
- ### Technical
173
- - [ ] < 300ms render time for 100 specs
174
- - [ ] Single `loadAllSpecs()` call in dashboard
175
- - [ ] < 300 lines new code (reuse existing)
176
- - [ ] No regressions in existing commands
177
-
178
- ### Business
179
- - [ ] Better demo-ability for v0.2.0 launch
180
- - [ ] Competitive with OpenSpec UX quality
181
- - [ ] Reduces support questions about "how to see X"
182
- - [ ] Positive beta tester feedback
@@ -1,314 +0,0 @@
1
- ---
2
- status: complete
3
- created: '2025-11-04'
4
- tags:
5
- - enhancement
6
- - git
7
- - timestamps
8
- - analytics
9
- - migration
10
- priority: medium
11
- related:
12
- - 046-stats-dashboard-refactor
13
- - 014-complete-custom-frontmatter
14
- created_at: '2025-11-04T22:58:23+08:00'
15
- updated_at: '2025-11-04T15:08:31.110Z'
16
- assignee: Marvin Zhang
17
- updated: '2025-11-04'
18
- completed_at: '2025-11-04T15:08:31.110Z'
19
- completed: '2025-11-04'
20
- transitions:
21
- - status: complete
22
- at: '2025-11-04T15:08:31.110Z'
23
- ---
24
-
25
- # Backfill Timestamp Frontmatter from Git History
26
-
27
- > **Status**: ✅ Complete · **Priority**: Medium · **Created**: 2025-11-04 · **Tags**: enhancement, git, timestamps, analytics, migration
28
- > **Assignee**: Marvin Zhang · **Reviewer**: TBD
29
-
30
- **Project**: lean-spec
31
- **Team**: Core Development
32
-
33
- ## Overview
34
-
35
- Add a utility command to backfill created_at, updated_at, and completed_at timestamps for existing specs by analyzing their git commit history. This will enable velocity tracking and analytics for all historical specs.
36
-
37
- **Current State:**
38
- - ✅ Timestamp fields defined in frontmatter schema (`created_at`, `updated_at`, `completed_at`, `transitions`)
39
- - ✅ New specs automatically get timestamps via `enrichWithTimestamps()`
40
- - ❌ Existing specs lack timestamp data (only have date fields: `created`, `completed`)
41
- - ❌ No way to retroactively populate timestamps from git history
42
-
43
- **Why This Matters:**
44
- - **Analytics** - Can't calculate cycle times, lead times, or velocity metrics without timestamps
45
- - **Historical insight** - Valuable project data is already in git history, just not in frontmatter
46
- - **Completeness** - New specs get timestamps automatically, but old specs are left behind
47
-
48
- **Goals:**
49
- 1. Extract first/last commit timestamps from git history for each spec
50
- 2. Backfill `created_at`, `updated_at`, `completed_at` fields where missing
51
- 3. Provide safe, idempotent command that doesn't overwrite existing timestamps
52
- 4. Enable full velocity tracking across entire spec history
53
-
54
- ## Design
55
-
56
- ### Command Interface
57
-
58
- ```bash
59
- # Backfill all specs (timestamps only)
60
- lean-spec backfill
61
-
62
- # Backfill with additional fields
63
- lean-spec backfill --assignee # Add assignee from git author
64
- lean-spec backfill --transitions # Reconstruct full status history
65
- lean-spec backfill --all # All available fields
66
-
67
- # Dry run (show what would be updated)
68
- lean-spec backfill --dry-run
69
-
70
- # Backfill specific spec(s)
71
- lean-spec backfill 014 046
72
- lean-spec backfill my-feature
73
-
74
- # Force overwrite existing values (rare case)
75
- lean-spec backfill --force
76
- ```
77
-
78
- ### Git Analysis Strategy
79
-
80
- For each spec's `README.md`:
81
-
82
- **Core timestamps (always backfilled):**
83
-
84
- 1. **created_at** - Use timestamp from **first commit** that created the file
85
- ```bash
86
- git log --follow --format="%aI" --diff-filter=A -- specs/XXX-name/README.md | tail -1
87
- ```
88
-
89
- 2. **updated_at** - Use timestamp from **most recent commit**
90
- ```bash
91
- git log --format="%aI" -n 1 -- specs/XXX-name/README.md
92
- ```
93
-
94
- 3. **completed_at** - Heuristic based on git history:
95
- - If `status: complete` in frontmatter, use timestamp of commit that changed status to complete
96
- - Fallback: Use timestamp when `completed` date field was added
97
- - If neither exists, leave `completed_at` empty
98
-
99
- **Optional fields (with flags):**
100
-
101
- 4. **assignee** (via `--assignee` flag)
102
- - Extract from first commit author: `git log --follow --format="%an" --diff-filter=A`
103
- - Only sets if field is currently empty
104
- - Use case: Attribute specs to their original authors
105
-
106
- 5. **transitions[]** (via `--transitions` flag)
107
- - Parse all commits that modified frontmatter `status:` field
108
- - Build complete status change history: `planned → in-progress → complete`
109
- - Uses `git log -p` to inspect frontmatter diffs
110
- - Useful for: Cycle time analysis, understanding workflow patterns
111
-
112
- 6. **updated** date field (automatically synced with `updated_at`)
113
- - Convert `updated_at` timestamp to YYYY-MM-DD format
114
- - Keeps date and timestamp fields in sync
115
-
116
- ### Implementation Approach
117
-
118
- **New file**: `src/commands/backfill-timestamps.ts`
119
-
120
- ```typescript
121
- interface BackfillResult {
122
- specPath: string;
123
- created_at?: string;
124
- updated_at?: string;
125
- completed_at?: string;
126
- assignee?: string;
127
- transitions?: StatusTransition[];
128
- source: 'git' | 'existing' | 'skipped';
129
- reason?: string;
130
- }
131
-
132
- async function backfillTimestamps(
133
- options: {
134
- dryRun?: boolean;
135
- force?: boolean;
136
- includeAssignee?: boolean;
137
- includeTransitions?: boolean;
138
- specs?: string[]; // specific specs to target
139
- }
140
- ): Promise<BackfillResult[]>
141
- ```
142
-
143
- **Key functions:**
144
-
145
- 1. `getFirstCommitTimestamp(specPath: string): Promise<string | null>`
146
- - Uses `git log --follow --diff-filter=A` to find creation timestamp
147
-
148
- 2. `getLastCommitTimestamp(specPath: string): Promise<string | null>`
149
- - Uses `git log -n 1` to find most recent modification
150
-
151
- 3. `getCompletionTimestamp(specPath: string): Promise<string | null>`
152
- - Searches commit history for status change to `complete`
153
- - Uses `git log -p` to inspect frontmatter changes
154
-
155
- 4. `getFirstCommitAuthor(specPath: string): Promise<string | null>` (optional)
156
- - Extracts author name from first commit
157
- - Uses `git log --follow --format="%an" --diff-filter=A`
158
-
159
- 5. `parseStatusTransitions(specPath: string): Promise<StatusTransition[]>` (optional)
160
- - Parses all commits that modified `status:` field
161
- - Reconstructs full transition history with timestamps
162
-
163
- 6. `applyBackfillUpdates(specPath: string, data: BackfillData, force: boolean)`
164
- - Only updates missing fields (unless `--force`)
165
- - Preserves existing timestamps
166
- - Uses `updateFrontmatter()` from existing API
167
-
168
- ### Safety Measures
169
-
170
- 1. **Idempotent** - Running multiple times doesn't break anything
171
- 2. **Non-destructive** - Never overwrites existing timestamps (unless `--force`)
172
- 3. **Dry-run mode** - Preview changes before applying
173
- 4. **Validation** - Verify git history exists before attempting backfill
174
- 5. **Error handling** - Graceful failures for specs without git history
175
-
176
- ### Edge Cases
177
-
178
- | Scenario | Behavior |
179
- |----------|----------|
180
- | Spec already has timestamps | Skip (unless `--force`) |
181
- | Spec not in git history | Skip with warning |
182
- | Git repo not available | Error with clear message |
183
- | Spec was renamed/moved | Use `--follow` to track history |
184
- | Multiple completion events | Use first transition to `complete` |
185
- | Assignee already set | Skip assignee (unless `--force`) |
186
- | Transitions already exist | Merge with git-derived history |
187
- | Multiple authors | Use first commit author for assignee |
188
-
189
- ## Plan
190
-
191
- - [ ] Implement git timestamp extraction utilities
192
- - [ ] `getFirstCommitTimestamp()` - file creation
193
- - [ ] `getLastCommitTimestamp()` - last modification
194
- - [ ] `getCompletionTimestamp()` - status change detection
195
- - [ ] `getFirstCommitAuthor()` - spec author (optional)
196
- - [ ] `parseStatusTransitions()` - full status history (optional)
197
- - [ ] Build backfill command with CLI interface
198
- - [ ] Support `--dry-run` flag
199
- - [ ] Support `--force` flag
200
- - [ ] Support `--assignee` flag (optional backfill)
201
- - [ ] Support `--transitions` flag (optional backfill)
202
- - [ ] Support `--all` flag (all optional fields)
203
- - [ ] Support targeting specific specs
204
- - [ ] Add safety validations
205
- - [ ] Check git repo exists
206
- - [ ] Verify spec file exists in git history
207
- - [ ] Prevent overwrites unless forced
208
- - [ ] Integration with existing frontmatter system
209
- - [ ] Use `updateFrontmatter()` API
210
- - [ ] Preserve existing timestamp values
211
- - [ ] Sync `updated` date field with `updated_at`
212
- - [ ] Add comprehensive tests
213
- - [ ] Mock git commands
214
- - [ ] Test dry-run mode
215
- - [ ] Test idempotency
216
- - [ ] Test optional flags (assignee, transitions)
217
- - [ ] Test edge cases (no git history, renamed files)
218
- - [ ] Documentation
219
- - [ ] Update CLI reference
220
- - [ ] Add migration guide section
221
- - [ ] Document timestamp semantics
222
- - [ ] Document optional backfill fields
223
-
224
- ## Test
225
-
226
- **Unit Tests:**
227
- - [ ] Git timestamp extraction works correctly
228
- - [ ] Dry-run doesn't modify files
229
- - [ ] Force flag overwrites existing values
230
- - [ ] Non-force preserves existing timestamps
231
- - [ ] Handles missing git history gracefully
232
- - [ ] Handles renamed/moved specs with `--follow`
233
- - [ ] Optional flags work correctly (assignee, transitions)
234
-
235
- **Integration Tests:**
236
- - [ ] Backfill command updates all specs in test repo
237
- - [ ] Can target specific specs by name or number
238
- - [ ] Progress output is clear and informative
239
- - [ ] Error messages are actionable
240
-
241
- **Manual Verification:**
242
- - [ ] Run on lean-spec's own specs (dogfooding)
243
- - [ ] Verify `lean-spec stats` shows velocity data after backfill
244
- - [ ] Check that re-running is safe (idempotent)
245
-
246
- **Expected Output (dry-run):**
247
- ```
248
- Analyzing git history for 18 specs...
249
-
250
- 046-stats-dashboard-refactor
251
- created_at: 2025-11-04T12:57:25Z (git)
252
- updated_at: 2025-11-04T14:18:46Z (git)
253
- completed_at: 2025-11-04T13:10:54Z (existing)
254
- assignee: Marvin Zhang (git) [--assignee flag]
255
- transitions: 3 status changes (git) [--transitions flag]
256
-
257
- 014-complete-custom-frontmatter
258
- created_at: 2025-11-02T05:11:37Z (git)
259
- updated_at: 2025-11-04T07:39:49Z (git)
260
- completed_at: 2025-11-04T07:39:49Z (git - inferred from status)
261
- assignee: (existing - alice)
262
-
263
- ...
264
-
265
- Summary:
266
- 18 specs analyzed
267
- 16 would be updated (timestamps)
268
- 5 would get assignee (with --assignee)
269
- 12 would get transitions (with --transitions)
270
- 2 already have complete data
271
-
272
- Run without --dry-run to apply changes.
273
- Run with --all to include optional fields.
274
- ```
275
-
276
- ## Notes
277
-
278
- ### Why Not Store in Git Metadata Only?
279
-
280
- We could just query git history on-demand for analytics, but:
281
- - ❌ Performance: Git queries are slow for large repos
282
- - ❌ Portability: Specs lose metadata if moved outside git
283
- - ❌ Consistency: Frontmatter is source of truth for all metadata
284
-
285
- ### Alternative: Git Hooks
286
-
287
- Could automatically update `updated_at` on commit via git hooks, but:
288
- - 👎 Requires setup in every repo
289
- - 👎 Doesn't help with existing specs
290
- - 👍 Could complement backfill for ongoing maintenance
291
-
292
- ### Future Enhancements
293
-
294
- - **Automated backfill on `lean-spec init`** - Offer to backfill when initializing in existing project
295
- - **Watch mode** - Continuously sync timestamps from git (via git hooks or daemon)
296
- - **GitHub API integration** - Backfill `issue`, `pr`, `reviewer` from GitHub metadata
297
- - **Commit message parsing** - Extract additional metadata from commit messages
298
- - **Multi-author attribution** - Track all contributors, not just first author
299
-
300
- ### Scope Boundaries
301
-
302
- **Out of scope for v1:**
303
- - ❌ GitHub API integration (issue/PR linking)
304
- - ❌ Reviewer inference (no clear git signal)
305
- - ❌ Epic/milestone extraction (requires external PM tools)
306
-
307
- **These could be separate features:**
308
- - `lean-spec sync-github` - Pull issue/PR metadata from GitHub
309
- - `lean-spec import-pm` - Import epic/milestone from Jira/ADO
310
-
311
- ### Related Specs
312
-
313
- - **046-stats-dashboard-refactor** - Stats command will benefit from complete timestamp data
314
- - **014-complete-custom-frontmatter** - Timestamp fields are part of frontmatter schema