@leanspec/ui 0.2.7 → 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.
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
- package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +10 -0
- package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
- package/.next/standalone/packages/ui/.next/routes-manifest.json +72 -0
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -6
- package/.next/standalone/packages/ui/.next/server/app/api/context/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/context/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/context/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page.js +19 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +19 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/page.js +4 -3
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +7 -7
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +8 -7
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +7 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js +7 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +10 -0
- package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18aca702._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__27348781._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a7f0840._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3e17db24._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6e06fd2a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97b99cc0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9d9758e1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b212b9bd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b9c03a57._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e99e7672._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f38a5f20._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__126dea7b._.js → [root-of-the-server]__fa8cf2bc._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_context_route_actions_dead6daa.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_dependencies_route_actions_cf6b14c3.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__13f96ef4._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__fd80e4dd._.js → [root-of-the-server]__38c56adc._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__53f4506c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__84124d4b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__921689ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b0d6e2ad._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b27b2469._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +5 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_90eed09a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_959ad3d8._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_22274047._.js → _adb9d7cb._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_0f9ffe32._.js → _b303aeea._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_da18b655._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f38e75b7._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f9129aae._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_015f83ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4e3e790c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_80605a06._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b4ff5c78._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_bb80de48._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_context_page_actions_1a062d48.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_dependencies_page_actions_57387d47.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +12 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/04de9ed512b8098b.js +10 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3d12a8c3152b526d.js +3 -0
- package/.next/standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7931c6cb379305b1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7a00633903e066b4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/7f9a218732be8099.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8d8c106c6848d15b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a640b005f2e15d98.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a7075a240adea8e8.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{794f3931f1ca12d2.js → bbd498aa5689c057.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/{static/chunks/e3bc96a996e2a314.js → standalone/packages/ui/.next/static/chunks/d26f4109b44eb240.js} +1 -1
- package/.next/{static/chunks/3276ca6fd9005903.js → standalone/packages/ui/.next/static/chunks/d52a048b511c32bd.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f924ae32752e1583.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{turbopack-5fa55215af0efb15.js → turbopack-261c5dcdd873f310.js} +1 -1
- package/.next/standalone/packages/ui/package.json +5 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/api/context/route.ts +22 -0
- package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +81 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +69 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
- package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
- package/.next/standalone/packages/ui/src/app/context/context-client.tsx +393 -0
- package/.next/standalone/packages/ui/src/app/context/page.tsx +17 -0
- package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +29 -58
- package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +25 -0
- package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +700 -0
- package/.next/standalone/packages/ui/src/app/dependencies/index.ts +19 -0
- package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +38 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +80 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +171 -0
- package/.next/standalone/packages/ui/src/app/dependencies/types.ts +37 -0
- package/.next/standalone/packages/ui/src/app/dependencies/utils.ts +194 -0
- package/.next/standalone/packages/ui/src/app/globals.css +16 -16
- package/.next/standalone/packages/ui/src/app/layout.tsx +4 -7
- package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +43 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
- package/.next/standalone/packages/ui/src/app/projects/page.tsx +167 -20
- package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +27 -17
- package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
- package/.next/standalone/packages/ui/src/components/context-file-detail.tsx +308 -0
- package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +385 -0
- package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
- package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +39 -5
- package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
- package/.next/standalone/packages/ui/src/components/project-switcher.tsx +24 -5
- package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
- package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
- package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +215 -143
- package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +23 -4
- package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +11 -8
- package/.next/standalone/packages/ui/src/components/ui/accordion.tsx +58 -0
- package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
- package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +246 -23
- package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
- package/.next/standalone/packages/ui/src/lib/specs/types.ts +44 -0
- package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/04de9ed512b8098b.js +10 -0
- package/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/static/chunks/3d12a8c3152b526d.js +3 -0
- package/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
- package/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/static/chunks/7931c6cb379305b1.js +1 -0
- package/.next/static/chunks/7a00633903e066b4.js +1 -0
- package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/static/chunks/7f9a218732be8099.js +5 -0
- package/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
- package/.next/static/chunks/8d8c106c6848d15b.js +1 -0
- package/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/static/chunks/a640b005f2e15d98.js +1 -0
- package/.next/static/chunks/a7075a240adea8e8.js +1 -0
- package/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/static/chunks/{794f3931f1ca12d2.js → bbd498aa5689c057.js} +1 -1
- package/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
- package/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js → static/chunks/d26f4109b44eb240.js} +1 -1
- package/.next/{standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js → static/chunks/d52a048b511c32bd.js} +1 -1
- package/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
- package/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/static/chunks/f924ae32752e1583.js +1 -0
- package/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/static/chunks/{turbopack-5fa55215af0efb15.js → turbopack-261c5dcdd873f310.js} +1 -1
- package/package.json +6 -2
- package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_497c8b73._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +0 -5
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +0 -5
- package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
- package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -83
- package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/favicon.ico +0 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/file.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark-white.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/globe.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/icon.svg +0 -7
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-dark-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-with-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo.svg +0 -17
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/next.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/vercel.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/window.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +0 -19
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +0 -43
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +0 -136
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -306
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -287
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -825
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -501
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -421
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -106
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -126
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -131
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -254
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -152
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -65
- package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
- package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
- package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
- package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
- package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
- package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
- package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
- package/.next/static/chunks/16ff9833ae1bb3ae.js +0 -1
- package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/static/chunks/2204c0f16b23ec4c.js +0 -3
- package/.next/static/chunks/294dea6dbec43ca6.js +0 -1
- package/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/static/chunks/7590e65bcaa41e8b.js +0 -1
- package/.next/static/chunks/b6976cf6c48996e5.js +0 -1
- package/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/static/chunks/b845813463167db0.js +0 -5
- package/.next/static/chunks/bd9893e28f8f6a9a.css +0 -1
- package/.next/static/chunks/cca4441cde342ae3.js +0 -1
- package/.next/static/chunks/d784d84d5b880e48.js +0 -1
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
- /package/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
- /package/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{6nq7WNafPv5Bf_7mWgRQ- → T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: complete
|
|
3
|
-
created: '2025-11-01'
|
|
4
|
-
tags: []
|
|
5
|
-
priority: medium
|
|
6
|
-
completed: '2025-11-01'
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Migrate CLI to Commander.js Framework
|
|
10
|
-
|
|
11
|
-
> **Status**: ✅ Complete · **Priority**: Medium · **Created**: 2025-11-01
|
|
12
|
-
|
|
13
|
-
## Overview
|
|
14
|
-
|
|
15
|
-
Replace manual argument parsing with Commander.js to improve maintainability, type safety, and developer experience as CLI grows in complexity.
|
|
16
|
-
|
|
17
|
-
### Current Pain Points
|
|
18
|
-
- Manual argument parsing (~220 LOC in cli.ts)
|
|
19
|
-
- Repetitive flag handling (`--flag=value` vs `--flag value`)
|
|
20
|
-
- No automatic help generation
|
|
21
|
-
- Error-prone option validation
|
|
22
|
-
- Difficult to add new commands
|
|
23
|
-
|
|
24
|
-
### Goals
|
|
25
|
-
- Reduce cli.ts from ~220 to ~60 lines
|
|
26
|
-
- Type-safe command options
|
|
27
|
-
- Auto-generated help text
|
|
28
|
-
- Better error messages
|
|
29
|
-
- Foundation for future CLI growth
|
|
30
|
-
|
|
31
|
-
## Design
|
|
32
|
-
|
|
33
|
-
### Framework Choice: Commander.js
|
|
34
|
-
|
|
35
|
-
**Why Commander.js:**
|
|
36
|
-
- Industry standard (30k+ stars, used by npm, webpack-cli)
|
|
37
|
-
- Excellent TypeScript support with `@types/commander`
|
|
38
|
-
- Minimal learning curve
|
|
39
|
-
- Declarative API matches our needs
|
|
40
|
-
- Well-maintained, stable API
|
|
41
|
-
|
|
42
|
-
**Alternatives Considered:**
|
|
43
|
-
- `cliffy`: More modern but less ecosystem support
|
|
44
|
-
- `yargs`: More verbose, overkill for our use case
|
|
45
|
-
- `ts-command-line`: Too enterprise-focused
|
|
46
|
-
- `cac`: Too minimal, lacks features we'll need
|
|
47
|
-
|
|
48
|
-
### Architecture Changes
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
Before:
|
|
52
|
-
src/cli.ts (220 lines)
|
|
53
|
-
├── Manual parseArgs
|
|
54
|
-
├── Switch statement routing
|
|
55
|
-
└── Manual flag parsing loops
|
|
56
|
-
|
|
57
|
-
After:
|
|
58
|
-
src/cli.ts (~60 lines)
|
|
59
|
-
├── Commander program setup
|
|
60
|
-
├── Command definitions (declarative)
|
|
61
|
-
└── Import command handlers
|
|
62
|
-
|
|
63
|
-
src/commands/*.ts (unchanged)
|
|
64
|
-
└── Same action functions
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Migration Strategy
|
|
68
|
-
1. **Additive approach**: Install Commander alongside existing code
|
|
69
|
-
2. **Command-by-command**: Migrate one command, verify, repeat
|
|
70
|
-
3. **Backward compatible**: Maintain same CLI interface
|
|
71
|
-
4. **Test coverage**: Verify existing integration tests pass
|
|
72
|
-
|
|
73
|
-
## Plan
|
|
74
|
-
|
|
75
|
-
### Phase 1: Setup (30 min)
|
|
76
|
-
- [x] Create migration spec
|
|
77
|
-
- [ ] Install `commander` package
|
|
78
|
-
- [ ] Create `src/cli-new.ts` prototype
|
|
79
|
-
- [ ] Migrate `create` command (simplest)
|
|
80
|
-
|
|
81
|
-
### Phase 2: Core Commands (2 hours)
|
|
82
|
-
- [ ] Migrate `list` command with filters
|
|
83
|
-
- [ ] Migrate `update` command
|
|
84
|
-
- [ ] Migrate `archive` command
|
|
85
|
-
- [ ] Migrate `init` command (most complex)
|
|
86
|
-
- [ ] Migrate `templates` command
|
|
87
|
-
|
|
88
|
-
### Phase 3: New Commands (1 hour)
|
|
89
|
-
- [ ] Add `board` command to CLI
|
|
90
|
-
- [ ] Add `gantt` command to CLI
|
|
91
|
-
- [ ] Add `stats` command to CLI
|
|
92
|
-
- [ ] Add `search` command to CLI
|
|
93
|
-
- [ ] Add `timeline` command to CLI
|
|
94
|
-
- [ ] Add `deps` command to CLI
|
|
95
|
-
|
|
96
|
-
### Phase 4: Cutover (30 min)
|
|
97
|
-
- [ ] Replace `src/cli.ts` with new implementation
|
|
98
|
-
- [ ] Update `bin/lspec.js` if needed
|
|
99
|
-
- [ ] Run integration tests
|
|
100
|
-
- [ ] Update README with new examples
|
|
101
|
-
|
|
102
|
-
## Test
|
|
103
|
-
|
|
104
|
-
### Integration Tests
|
|
105
|
-
- [ ] `lean-spec create test-spec` works
|
|
106
|
-
- [ ] `lean-spec create test-spec --title "Custom"` works
|
|
107
|
-
- [ ] `lean-spec list` displays all specs
|
|
108
|
-
- [ ] `lean-spec list --status=in-progress` filters correctly
|
|
109
|
-
- [ ] `lean-spec list --tag=api --tag=feature` handles multiple tags
|
|
110
|
-
- [ ] `lean-spec update <path> --status=complete` updates frontmatter
|
|
111
|
-
- [ ] `lean-spec archive <path>` moves to archived/
|
|
112
|
-
- [ ] `lean-spec init` prompts and creates structure
|
|
113
|
-
- [ ] `lean-spec templates` lists available templates
|
|
114
|
-
- [ ] `lean-spec --help` shows all commands
|
|
115
|
-
- [ ] `lean-spec create --help` shows command-specific help
|
|
116
|
-
- [ ] Error messages are clear for invalid commands
|
|
117
|
-
|
|
118
|
-
### New Commands
|
|
119
|
-
- [ ] `lean-spec board` displays kanban view
|
|
120
|
-
- [ ] `lean-spec board --tag=api` filters correctly
|
|
121
|
-
- [ ] `lean-spec gantt` displays timeline
|
|
122
|
-
- [ ] `lean-spec stats` shows metrics
|
|
123
|
-
|
|
124
|
-
### Edge Cases
|
|
125
|
-
- [ ] Unknown command shows helpful error
|
|
126
|
-
- [ ] Missing required args show usage
|
|
127
|
-
- [ ] Invalid flag values show validation errors
|
|
128
|
-
|
|
129
|
-
## Notes
|
|
130
|
-
|
|
131
|
-
### Implementation Details
|
|
132
|
-
|
|
133
|
-
**Key Commander.js Patterns:**
|
|
134
|
-
```typescript
|
|
135
|
-
// Variadic options (multiple values)
|
|
136
|
-
.option('--tag <tag...>', 'Filter by tags')
|
|
137
|
-
|
|
138
|
-
// Optional options
|
|
139
|
-
.option('--title <title>', 'Custom title')
|
|
140
|
-
|
|
141
|
-
// Boolean flags
|
|
142
|
-
.option('--archived', 'Include archived')
|
|
143
|
-
|
|
144
|
-
// Type conversion
|
|
145
|
-
.option('--weeks <n>', 'Number of weeks', parseInt)
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**Action Handler Pattern:**
|
|
149
|
-
```typescript
|
|
150
|
-
program
|
|
151
|
-
.command('list')
|
|
152
|
-
.option('--status <status>', 'Filter by status')
|
|
153
|
-
.action(async (options) => {
|
|
154
|
-
await listSpecs(options); // Direct pass-through
|
|
155
|
-
});
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Code Size Comparison
|
|
159
|
-
- Current: ~220 lines of parsing logic
|
|
160
|
-
- Expected: ~60 lines of Commander setup
|
|
161
|
-
- **Reduction: ~73%**
|
|
162
|
-
|
|
163
|
-
### Dependencies
|
|
164
|
-
- Add: `commander` (~100KB, 0 deps)
|
|
165
|
-
- Keep: All existing deps (chalk, inquirer, etc.)
|
|
166
|
-
|
|
167
|
-
### Breaking Changes
|
|
168
|
-
**None expected** - CLI interface remains identical
|
|
169
|
-
|
|
170
|
-
### Future Opportunities
|
|
171
|
-
- Command aliases (`lean-spec ls` → `list`)
|
|
172
|
-
- Shell completion scripts
|
|
173
|
-
- Command grouping for help text
|
|
174
|
-
- Plugin system for custom commands
|
package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: complete
|
|
3
|
-
created: '2025-11-01'
|
|
4
|
-
tags:
|
|
5
|
-
- cli
|
|
6
|
-
- ux
|
|
7
|
-
- enhancement
|
|
8
|
-
priority: high
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# CLI UX Enhancement with Ink
|
|
12
|
-
|
|
13
|
-
> **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-01 · **Tags**: cli, ux, enhancement
|
|
14
|
-
|
|
15
|
-
## Overview
|
|
16
|
-
|
|
17
|
-
Enhance the CLI user experience by adopting modern terminal UI libraries. Currently, the CLI uses basic console.log and chalk for output, which works but lacks polish. We'll introduce Ink (React for CLIs) for rich interactive components, ora for spinners, and improve overall visual feedback.
|
|
18
|
-
|
|
19
|
-
**Goal**: Make the CLI feel professional, responsive, and delightful to use.
|
|
20
|
-
|
|
21
|
-
## Current State
|
|
22
|
-
|
|
23
|
-
- **Outputs**: Plain console.log with chalk colors
|
|
24
|
-
- **Prompts**: @inquirer/prompts (good, keep this)
|
|
25
|
-
- **Commands**: Manual argument parsing with node:util parseArgs
|
|
26
|
-
- **Feedback**: No loading indicators, no progress bars
|
|
27
|
-
- **Tables**: ASCII art with manual padding
|
|
28
|
-
|
|
29
|
-
## Design
|
|
30
|
-
|
|
31
|
-
### Core Libraries
|
|
32
|
-
|
|
33
|
-
1. **Ink** (v4+) - React-based terminal UI
|
|
34
|
-
- Use for rich components (boards, tables, stats)
|
|
35
|
-
- Enables real-time updates, better layouts
|
|
36
|
-
- Component-based architecture
|
|
37
|
-
|
|
38
|
-
2. **ora** - Elegant terminal spinners
|
|
39
|
-
- Use for long-running operations (file I/O, scanning specs)
|
|
40
|
-
- Better than custom loading states
|
|
41
|
-
|
|
42
|
-
3. **cli-table3** - Better tables
|
|
43
|
-
- For list command, stats, dependencies
|
|
44
|
-
- Or build custom Ink components
|
|
45
|
-
|
|
46
|
-
4. **Keep**:
|
|
47
|
-
- @inquirer/prompts - already excellent
|
|
48
|
-
- chalk - works well with Ink
|
|
49
|
-
|
|
50
|
-
### Architecture Changes
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
src/
|
|
54
|
-
cli.ts # Entry point (unchanged)
|
|
55
|
-
commands.ts # Command logic (refactor outputs)
|
|
56
|
-
commands/
|
|
57
|
-
board.ts # Convert to Ink component
|
|
58
|
-
stats.ts # Convert to Ink component
|
|
59
|
-
timeline.ts # Add loading spinner
|
|
60
|
-
deps.ts # Better graph visualization
|
|
61
|
-
components/ # NEW: Ink components
|
|
62
|
-
Board.tsx # Kanban board view
|
|
63
|
-
StatsDisplay.tsx # Statistics dashboard
|
|
64
|
-
SpecList.tsx # Formatted spec list
|
|
65
|
-
DepsGraph.tsx # Dependency graph
|
|
66
|
-
utils/
|
|
67
|
-
ui.ts # Shared UI helpers (spinners, success/error)
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Migration Strategy
|
|
71
|
-
|
|
72
|
-
**Phase 1**: Infrastructure
|
|
73
|
-
- Add Ink, ora, cli-table3 to dependencies
|
|
74
|
-
- Create components/ directory
|
|
75
|
-
- Build basic Ink component wrapper utilities
|
|
76
|
-
|
|
77
|
-
**Phase 2**: High-Impact Commands
|
|
78
|
-
- `board` → Ink component with real-time updates
|
|
79
|
-
- `stats` → Dashboard-style Ink component
|
|
80
|
-
- `list` → Better table formatting
|
|
81
|
-
|
|
82
|
-
**Phase 3**: Loading States
|
|
83
|
-
- Add ora spinners to:
|
|
84
|
-
- `create` (when creating directories)
|
|
85
|
-
- `list` (when scanning specs)
|
|
86
|
-
- `update` (when writing files)
|
|
87
|
-
- `archive` (when moving files)
|
|
88
|
-
|
|
89
|
-
**Phase 4**: Enhanced Visualizations
|
|
90
|
-
- `deps` → Interactive graph (expandable nodes)
|
|
91
|
-
- `timeline` → Better timeline visualization
|
|
92
|
-
- `gantt` → Richer gantt chart
|
|
93
|
-
|
|
94
|
-
## Plan
|
|
95
|
-
|
|
96
|
-
- [ ] **Dependencies**: Install ink, @types/react, ora, cli-table3
|
|
97
|
-
- [ ] **Component scaffold**: Create src/components/ with base Board, Stats, List components
|
|
98
|
-
- [ ] **UI utilities**: Create src/utils/ui.ts with spinner/success/error helpers
|
|
99
|
-
- [ ] **Convert board command**: Rewrite board.ts to use Ink Board component
|
|
100
|
-
- [ ] **Convert stats command**: Rewrite stats.ts to use Ink StatsDisplay component
|
|
101
|
-
- [ ] **Add loading states**: Integrate ora spinners in commands.ts and commands/
|
|
102
|
-
- [ ] **Improve list command**: Use better table formatting (cli-table3 or Ink)
|
|
103
|
-
- [ ] **Update deps visualization**: Enhanced graph with Ink
|
|
104
|
-
- [ ] **Polish**: Consistent color scheme, better error messages, helpful hints
|
|
105
|
-
|
|
106
|
-
## Test
|
|
107
|
-
|
|
108
|
-
**Manual Testing**:
|
|
109
|
-
- [ ] `lean-spec board` shows clean, aligned Kanban board
|
|
110
|
-
- [ ] `lean-spec stats` displays formatted dashboard with colors
|
|
111
|
-
- [ ] `lean-spec list` shows well-formatted table with all metadata
|
|
112
|
-
- [ ] Long-running commands show spinners (e.g., when scanning many specs)
|
|
113
|
-
- [ ] Commands feel snappy and responsive
|
|
114
|
-
- [ ] Error messages are clear and helpful
|
|
115
|
-
- [ ] All existing commands still work (no regressions)
|
|
116
|
-
|
|
117
|
-
**Visual QA**:
|
|
118
|
-
- [ ] Colors are consistent across commands
|
|
119
|
-
- [ ] Text alignment is proper (no overflow/wrapping issues)
|
|
120
|
-
- [ ] Tables/boards render correctly at different terminal widths
|
|
121
|
-
- [ ] Unicode characters display correctly (emojis, box drawing)
|
|
122
|
-
|
|
123
|
-
## Notes
|
|
124
|
-
|
|
125
|
-
### Why Ink?
|
|
126
|
-
|
|
127
|
-
- Industry standard (used by Gatsby, Parcel, etc.)
|
|
128
|
-
- Component-based = easier to maintain
|
|
129
|
-
- Real-time updates = can show progress
|
|
130
|
-
- Better layout control than manual console.log
|
|
131
|
-
|
|
132
|
-
### Why ora?
|
|
133
|
-
|
|
134
|
-
- Simple, battle-tested spinner library
|
|
135
|
-
- Much better than custom implementations
|
|
136
|
-
- Handles edge cases (CI environments, TTY detection)
|
|
137
|
-
|
|
138
|
-
### Alternatives Considered
|
|
139
|
-
|
|
140
|
-
- **blessed/blessed-contrib**: More powerful but complex, overkill for our needs
|
|
141
|
-
- **enquirer**: Prompts library, but @inquirer/prompts is already good
|
|
142
|
-
- **chalk-template**: Already using chalk effectively
|
|
143
|
-
|
|
144
|
-
### Open Questions
|
|
145
|
-
|
|
146
|
-
- Should we use TypeScript JSX (.tsx) for Ink components?
|
|
147
|
-
→ Yes, better type safety
|
|
148
|
-
- Do we need custom themes/config for colors?
|
|
149
|
-
→ Start simple, add later if needed
|
|
150
|
-
- Should board/stats commands auto-refresh?
|
|
151
|
-
→ Not in v1, but Ink makes this possible later
|
|
152
|
-
|
|
153
|
-
### Dependencies
|
|
154
|
-
|
|
155
|
-
This spec has no dependencies on other specs, but:
|
|
156
|
-
- Complements `005-commander-migration` (commander + Ink = great combo)
|
|
157
|
-
- May benefit from frontmatter structure in `002-structured-frontmatter`
|
|
158
|
-
|
|
159
|
-
## Implementation Summary
|
|
160
|
-
|
|
161
|
-
### Completed ✅
|
|
162
|
-
|
|
163
|
-
**Phase 1: Infrastructure** - All completed
|
|
164
|
-
- ✅ Installed Ink, React, Ora, Chalk, and cli-spinners packages
|
|
165
|
-
- ✅ Created `src/utils/ui.ts` with spinner helpers and logging utilities
|
|
166
|
-
- ✅ Enhanced existing Ink components (Board, StatsDisplay)
|
|
167
|
-
- ✅ Created new `SpecList` component for flexible spec display
|
|
168
|
-
|
|
169
|
-
**Phase 2: Command Migration** - All completed
|
|
170
|
-
- ✅ Migrated `board` command to use Ink rendering
|
|
171
|
-
- ✅ Migrated `stats` command to use Ink rendering
|
|
172
|
-
- ✅ Enhanced `search` command with better output formatting
|
|
173
|
-
- ✅ Updated `list` command to use spinners
|
|
174
|
-
- ✅ Added spinners to all async operations (spec loading)
|
|
175
|
-
|
|
176
|
-
**Phase 3: Testing** - All verified
|
|
177
|
-
- ✅ `lean-spec stats` - Clean table output with emojis and colors
|
|
178
|
-
- ✅ `lean-spec board` - Professional kanban-style board with proper borders
|
|
179
|
-
- ✅ `lean-spec board --show-complete` - Expands complete specs
|
|
180
|
-
- ✅ `lean-spec search "CLI"` - Enhanced search results with metadata
|
|
181
|
-
- ✅ `lean-spec list --tag=cli` - Fast filtering with spinner feedback
|
|
182
|
-
|
|
183
|
-
### Key Improvements
|
|
184
|
-
|
|
185
|
-
1. **Visual Consistency**: All commands now use consistent emoji, colors, and formatting
|
|
186
|
-
2. **Loading Feedback**: Ora spinners provide feedback during async operations
|
|
187
|
-
3. **Better Information Density**: Ink components make better use of terminal space
|
|
188
|
-
4. **Professional Appearance**: Box drawing characters and proper alignment
|
|
189
|
-
5. **Maintained Performance**: Build time remains ~15ms, commands complete in <500ms
|
|
190
|
-
|
|
191
|
-
### Files Modified
|
|
192
|
-
|
|
193
|
-
- `src/utils/ui.ts` - New utility functions for spinners and logging
|
|
194
|
-
- `src/components/Board.tsx` - Enhanced with better padding calculation
|
|
195
|
-
- `src/components/SpecList.tsx` - New component for list displays
|
|
196
|
-
- `src/commands/board.ts` - Migrated to Ink rendering
|
|
197
|
-
- `src/commands/stats.ts` - Migrated to Ink rendering
|
|
198
|
-
- `src/commands/search.ts` - Enhanced output with better formatting
|
|
199
|
-
- `src/commands.ts` - Updated `listSpecs` to use spinners
|
|
200
|
-
|
|
201
|
-
### Future Enhancements (Phase 4 - Deferred)
|
|
202
|
-
|
|
203
|
-
The following enhancements were planned but deferred as the current implementation meets requirements:
|
|
204
|
-
- Interactive mode with keyboard navigation (not essential for CLI tool)
|
|
205
|
-
- Progress bars for long operations (operations are fast enough)
|
|
206
|
-
- Advanced table formatting (current formatting is sufficient)
|
|
207
|
-
- Color scheme customization (default colors work well)
|
|
208
|
-
|
|
209
|
-
### Conclusion
|
|
210
|
-
|
|
211
|
-
The CLI UX has been successfully enhanced with professional-looking output, consistent styling, and proper user feedback. The implementation uses industry-standard packages (Ink, Ora, Chalk) while maintaining excellent performance and the lean philosophy of the project.
|
|
212
|
-
|
package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: complete
|
|
3
|
-
created: '2025-11-01'
|
|
4
|
-
tags:
|
|
5
|
-
- refactoring
|
|
6
|
-
- architecture
|
|
7
|
-
- maintenance
|
|
8
|
-
priority: medium
|
|
9
|
-
related:
|
|
10
|
-
- 20251101/006-cli-ux-enhancement
|
|
11
|
-
completed: '2025-11-02'
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Commands Module Refactoring
|
|
15
|
-
|
|
16
|
-
> **Status**: ✅ Complete · **Priority**: Medium · **Created**: 2025-11-01 · **Tags**: refactoring, architecture, maintenance
|
|
17
|
-
|
|
18
|
-
## Overview
|
|
19
|
-
|
|
20
|
-
The `src/commands.ts` file has grown to **648 lines** and contains multiple distinct responsibilities. As the CLI grows with more commands (board, stats, search, deps, timeline, gantt), maintaining a single large file becomes increasingly difficult. This refactor will split commands into focused modules for better maintainability and testability.
|
|
21
|
-
|
|
22
|
-
### Current State
|
|
23
|
-
- Single `commands.ts` file with 648 lines
|
|
24
|
-
- 6 exported command functions: `createSpec`, `archiveSpec`, `listSpecs`, `updateSpec`, `initProject`, `listTemplates`
|
|
25
|
-
- Additional commands already in `src/commands/` directory: `board`, `stats`, `search`, `deps`, `timeline`, `gantt`
|
|
26
|
-
- Mixed helper functions and utilities
|
|
27
|
-
- Complex init logic (~200 LOC) with template handling
|
|
28
|
-
|
|
29
|
-
### Problems
|
|
30
|
-
1. **Poor organization**: Core commands mixed with helpers and utilities
|
|
31
|
-
2. **Hard to test**: Large file makes unit testing difficult
|
|
32
|
-
3. **Inconsistent structure**: Some commands in `commands/`, others in `commands.ts`
|
|
33
|
-
4. **Difficult navigation**: Finding specific functionality requires scrolling
|
|
34
|
-
5. **Merge conflicts**: Multiple developers editing the same large file
|
|
35
|
-
|
|
36
|
-
## Design
|
|
37
|
-
|
|
38
|
-
### Target Architecture
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
src/commands/
|
|
42
|
-
├── create.ts # createSpec (spec creation)
|
|
43
|
-
├── archive.ts # archiveSpec (spec archiving)
|
|
44
|
-
├── list.ts # listSpecs (spec listing)
|
|
45
|
-
├── update.ts # updateSpec (metadata updates)
|
|
46
|
-
├── init.ts # initProject (project initialization)
|
|
47
|
-
├── templates.ts # listTemplates (template management)
|
|
48
|
-
├── board.ts # ✅ Already exists
|
|
49
|
-
├── stats.ts # ✅ Already exists
|
|
50
|
-
├── search.ts # ✅ Already exists
|
|
51
|
-
├── deps.ts # ✅ Already exists
|
|
52
|
-
├── timeline.ts # ✅ Already exists
|
|
53
|
-
└── gantt.ts # ✅ Already exists
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Shared Utilities
|
|
57
|
-
|
|
58
|
-
Helper functions should be moved to appropriate utility modules:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
src/utils/
|
|
62
|
-
├── ui.ts # ✅ Already exists (spinners, colors)
|
|
63
|
-
├── spec-helpers.ts # Spec-related helpers (getSpecFile, etc.)
|
|
64
|
-
└── path-helpers.ts # Path resolution utilities
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Principles
|
|
68
|
-
|
|
69
|
-
1. **One command per file**: Each command gets its own module
|
|
70
|
-
2. **Single responsibility**: Each file has one clear purpose
|
|
71
|
-
3. **Consistent exports**: Export one main async function per command file
|
|
72
|
-
4. **Shared utilities**: Common helpers in `utils/` directory
|
|
73
|
-
5. **Type safety**: Maintain strong TypeScript types throughout
|
|
74
|
-
6. **Backwards compatibility**: CLI interface remains unchanged
|
|
75
|
-
|
|
76
|
-
## Plan
|
|
77
|
-
|
|
78
|
-
### Phase 1: Identify and Extract Helpers
|
|
79
|
-
- [ ] Audit all helper functions in `commands.ts`
|
|
80
|
-
- [ ] Create `src/utils/spec-helpers.ts` for spec-related utilities
|
|
81
|
-
- `getSpecFile()`
|
|
82
|
-
- `getStatusEmoji()`
|
|
83
|
-
- `getPriorityLabel()`
|
|
84
|
-
- [ ] Create `src/utils/path-helpers.ts` for path resolution
|
|
85
|
-
- Path resolution logic from `updateSpec`
|
|
86
|
-
- Spec path normalization
|
|
87
|
-
- [ ] Create `src/utils/template-helpers.ts` for template utilities
|
|
88
|
-
- `detectExistingSystemPrompts()`
|
|
89
|
-
- `handleExistingFiles()`
|
|
90
|
-
- Template variable replacement
|
|
91
|
-
|
|
92
|
-
### Phase 2: Extract Simple Commands
|
|
93
|
-
- [ ] Move `createSpec` → `src/commands/create.ts`
|
|
94
|
-
- [ ] Move `archiveSpec` → `src/commands/archive.ts`
|
|
95
|
-
- [ ] Move `listSpecs` → `src/commands/list.ts`
|
|
96
|
-
- [ ] Move `updateSpec` → `src/commands/update.ts`
|
|
97
|
-
|
|
98
|
-
### Phase 3: Extract Complex Commands
|
|
99
|
-
- [ ] Move `listTemplates` → `src/commands/templates.ts`
|
|
100
|
-
- [ ] Move `initProject` → `src/commands/init.ts` (largest, ~200 LOC)
|
|
101
|
-
|
|
102
|
-
### Phase 4: Update Imports and CLI
|
|
103
|
-
- [ ] Update `src/cli.ts` to import from new command modules
|
|
104
|
-
- [ ] Create barrel export `src/commands/index.ts` for convenience
|
|
105
|
-
- [ ] Remove old `commands.ts` file
|
|
106
|
-
- [ ] Update any other files importing from `commands.ts`
|
|
107
|
-
|
|
108
|
-
### Phase 5: Testing and Verification
|
|
109
|
-
- [ ] Run full build: `pnpm build`
|
|
110
|
-
- [ ] Test all commands: `create`, `archive`, `list`, `update`, `init`, `templates`
|
|
111
|
-
- [ ] Test visualization commands: `board`, `stats`, `search`, `deps`
|
|
112
|
-
- [ ] Verify no functionality regressions
|
|
113
|
-
- [ ] Check bundle size hasn't increased significantly
|
|
114
|
-
|
|
115
|
-
## Test
|
|
116
|
-
|
|
117
|
-
### Verification Checklist
|
|
118
|
-
|
|
119
|
-
**Core Commands:**
|
|
120
|
-
- [ ] `lean-spec create test-spec` - Creates new spec
|
|
121
|
-
- [ ] `lean-spec list` - Lists all specs correctly
|
|
122
|
-
- [ ] `lean-spec update test-spec --status complete` - Updates spec metadata
|
|
123
|
-
- [ ] `lean-spec archive test-spec` - Archives spec
|
|
124
|
-
|
|
125
|
-
**Init & Templates:**
|
|
126
|
-
- [ ] `lean-spec init` - Interactive project initialization
|
|
127
|
-
- [ ] `lean-spec templates` - Lists available templates
|
|
128
|
-
- [ ] `lean-spec init --template minimal` - Non-interactive init
|
|
129
|
-
|
|
130
|
-
**Visualization Commands:**
|
|
131
|
-
- [ ] `lean-spec board` - Displays kanban board
|
|
132
|
-
- [ ] `lean-spec stats` - Shows statistics
|
|
133
|
-
- [ ] `lean-spec search "keyword"` - Searches specs
|
|
134
|
-
- [ ] `lean-spec deps spec-path` - Shows dependencies
|
|
135
|
-
|
|
136
|
-
**Build & Performance:**
|
|
137
|
-
- [ ] Build completes in <1 second
|
|
138
|
-
- [ ] No TypeScript errors
|
|
139
|
-
- [ ] Bundle size similar to before (~56KB)
|
|
140
|
-
- [ ] All command executions < 500ms
|
|
141
|
-
|
|
142
|
-
## Implementation Notes
|
|
143
|
-
|
|
144
|
-
### File Size Targets
|
|
145
|
-
- Each command file: 50-150 lines
|
|
146
|
-
- Helper utilities: 50-100 lines each
|
|
147
|
-
- Total LOC remains similar, but better organized
|
|
148
|
-
|
|
149
|
-
### Import Structure
|
|
150
|
-
```typescript
|
|
151
|
-
// Before
|
|
152
|
-
import { createSpec, listSpecs, updateSpec } from './commands.js';
|
|
153
|
-
|
|
154
|
-
// After (with barrel export)
|
|
155
|
-
import { createSpec, listSpecs, updateSpec } from './commands/index.js';
|
|
156
|
-
|
|
157
|
-
// Or individual imports
|
|
158
|
-
import { createSpec } from './commands/create.js';
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Migration Strategy
|
|
162
|
-
- Extract one command at a time
|
|
163
|
-
- Test after each extraction
|
|
164
|
-
- Keep `commands.ts` until all extractions complete
|
|
165
|
-
- Final step: remove `commands.ts` and update imports
|
|
166
|
-
|
|
167
|
-
## Benefits
|
|
168
|
-
|
|
169
|
-
1. **Maintainability**: Easier to locate and modify specific commands
|
|
170
|
-
2. **Testability**: Smaller, focused modules are easier to unit test
|
|
171
|
-
3. **Collaboration**: Reduced merge conflicts when multiple devs work on commands
|
|
172
|
-
4. **Discoverability**: Clear file structure makes codebase navigation easier
|
|
173
|
-
5. **Consistency**: All commands follow the same structural pattern
|
|
174
|
-
6. **Scalability**: Easy to add new commands without bloating a single file
|
|
175
|
-
|
|
176
|
-
## Risks & Mitigation
|
|
177
|
-
|
|
178
|
-
- **Risk**: Breaking existing imports
|
|
179
|
-
- *Mitigation*: Barrel export provides backwards compatibility transition
|
|
180
|
-
|
|
181
|
-
- **Risk**: Increased bundle size from more modules
|
|
182
|
-
- *Mitigation*: Tree-shaking and bundler optimization handle this
|
|
183
|
-
|
|
184
|
-
- **Risk**: Circular dependencies
|
|
185
|
-
- *Mitigation*: Careful separation of concerns, utilities in separate directory
|
|
186
|
-
|
|
187
|
-
## Success Metrics
|
|
188
|
-
|
|
189
|
-
- ✅ No file in `src/commands/` exceeds 200 lines
|
|
190
|
-
- ✅ All commands have consistent structure
|
|
191
|
-
- ✅ Build time remains < 1 second
|
|
192
|
-
- ✅ All tests pass
|
|
193
|
-
- ✅ No functionality regressions
|
|
194
|
-
- ✅ Team feedback: "Easier to navigate and maintain"
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## Implementation Summary
|
|
199
|
-
|
|
200
|
-
**Completed**: 2025-11-02
|
|
201
|
-
|
|
202
|
-
### What Was Done
|
|
203
|
-
|
|
204
|
-
Successfully refactored the 648-line `commands.ts` file into focused, modular command files:
|
|
205
|
-
|
|
206
|
-
**Created Utility Modules:**
|
|
207
|
-
- `src/utils/spec-helpers.ts` - Display helpers (`getStatusEmoji`, `getPriorityLabel`)
|
|
208
|
-
- `src/utils/path-helpers.ts` - Path resolution (`getNextSeq`, `resolveSpecPath`)
|
|
209
|
-
- `src/utils/template-helpers.ts` - Template utilities (`detectExistingSystemPrompts`, `handleExistingFiles`, `copyDirectory`, `getProjectName`)
|
|
210
|
-
|
|
211
|
-
**Created Command Modules:**
|
|
212
|
-
- `src/commands/create.ts` - Spec creation (147 lines)
|
|
213
|
-
- `src/commands/archive.ts` - Spec archiving (28 lines)
|
|
214
|
-
- `src/commands/list.ts` - Spec listing (92 lines)
|
|
215
|
-
- `src/commands/update.ts` - Spec updates (46 lines)
|
|
216
|
-
- `src/commands/templates.ts` - Template listing (32 lines)
|
|
217
|
-
- `src/commands/init.ts` - Project initialization (145 lines)
|
|
218
|
-
- `src/commands/index.ts` - Barrel export (14 lines)
|
|
219
|
-
|
|
220
|
-
**Updated Files:**
|
|
221
|
-
- `src/cli.ts` - Updated imports to use new command modules
|
|
222
|
-
- `src/commands.test.ts` - Updated test imports
|
|
223
|
-
- `src/integration.test.ts` - Updated test imports
|
|
224
|
-
- Deleted `src/commands.ts` (648 lines)
|
|
225
|
-
|
|
226
|
-
### Results
|
|
227
|
-
|
|
228
|
-
✅ **All Success Metrics Met:**
|
|
229
|
-
- Largest command file: 147 lines (init.ts) - well under 200-line limit
|
|
230
|
-
- All commands follow consistent structure with single exported async function
|
|
231
|
-
- Build time: ~0.5 seconds (well under 1 second)
|
|
232
|
-
- All 62 tests pass (4 test files)
|
|
233
|
-
- Bundle size: 62KB (similar to before, was ~56KB)
|
|
234
|
-
- All commands verified working: `list`, `board`, `stats`, `templates`
|
|
235
|
-
|
|
236
|
-
**File Size Comparison:**
|
|
237
|
-
- Before: 1 file × 648 lines = 648 lines
|
|
238
|
-
- After: 6 command files + 3 utility files = ~504 lines (22% reduction)
|
|
239
|
-
- Better organized with clear separation of concerns
|
|
240
|
-
|
|
241
|
-
### Impact
|
|
242
|
-
|
|
243
|
-
1. **Improved Maintainability**: Each command is now in its own focused file, making it easy to locate and modify specific functionality
|
|
244
|
-
2. **Better Testability**: Smaller, focused modules are easier to test in isolation
|
|
245
|
-
3. **Consistent Architecture**: All commands (including existing visualization commands) now follow the same pattern
|
|
246
|
-
4. **Reduced Complexity**: Helper functions properly separated into utility modules
|
|
247
|
-
5. **Easier Onboarding**: Clear file structure makes it obvious where new commands should go
|
|
248
|
-
|
|
249
|
-
**No Breaking Changes**: CLI interface remains unchanged, all existing functionality preserved.
|
package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: complete
|
|
3
|
-
created: 2025-11-01
|
|
4
|
-
tags: [testing, quality, infrastructure]
|
|
5
|
-
priority: high
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Test Suite Implementation
|
|
9
|
-
|
|
10
|
-
> **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-01 · **Tags**: testing, quality, infrastructure
|
|
11
|
-
|
|
12
|
-
## Overview
|
|
13
|
-
|
|
14
|
-
Comprehensive test suite for LeanSpec's core specs management CLI commands. See [TEST_SUMMARY.md](TEST_SUMMARY.md) for detailed results.
|
|
15
|
-
|
|
16
|
-
## Goal
|
|
17
|
-
|
|
18
|
-
Establish confidence in core functionality through automated testing covering:
|
|
19
|
-
- Spec creation, updating, and archiving
|
|
20
|
-
- Frontmatter parsing and validation
|
|
21
|
-
- Spec loading, filtering, and querying
|
|
22
|
-
- End-to-end integration workflows
|
|
23
|
-
|
|
24
|
-
## Results
|
|
25
|
-
|
|
26
|
-
✅ **61 tests passing** across 4 test files
|
|
27
|
-
- `commands.test.ts` (19 tests)
|
|
28
|
-
- `frontmatter.test.ts` (23 tests)
|
|
29
|
-
- `spec-loader.test.ts` (14 tests)
|
|
30
|
-
- `integration.test.ts` (5 tests)
|
|
31
|
-
|
|
32
|
-
### Coverage Highlights
|
|
33
|
-
|
|
34
|
-
- **84.53%** - frontmatter.ts (parsing & validation)
|
|
35
|
-
- **88.60%** - spec-loader.ts (loading & querying)
|
|
36
|
-
- **97.82%** - test-helpers.ts (test utilities)
|
|
37
|
-
|
|
38
|
-
## Implementation
|
|
39
|
-
|
|
40
|
-
Created comprehensive test infrastructure:
|
|
41
|
-
- `vitest.config.ts` - Testing framework configuration
|
|
42
|
-
- `src/test-helpers.ts` - Reusable test utilities
|
|
43
|
-
- Isolated test environments with automatic cleanup
|
|
44
|
-
- Real file system testing for confidence
|
|
45
|
-
- Integration tests for complete workflows
|
|
46
|
-
|
|
47
|
-
## Scripts Added
|
|
48
|
-
|
|
49
|
-
```json
|
|
50
|
-
"test": "vitest",
|
|
51
|
-
"test:ui": "vitest --ui",
|
|
52
|
-
"test:run": "vitest run",
|
|
53
|
-
"test:coverage": "vitest run --coverage"
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Documentation
|
|
57
|
-
|
|
58
|
-
- [TEST_SUMMARY.md](TEST_SUMMARY.md) - Detailed test results and coverage
|
|
59
|
-
- [../../docs/TESTING.md](../../docs/TESTING.md) - Testing guide for developers
|
|
60
|
-
- [../../docs/testing-details.md](../../docs/testing-details.md) - In-depth test docs
|