@leanspec/ui 0.2.7-dev.20251126100750 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/node_modules/.pnpm/{@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64 → @img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64}/package.json +7 -13
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/README.md +2 -2
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/glib-2.0/include/glibconfig.h +8 -9
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib} +0 -0
- package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/package.json +5 -11
- 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/build-manifest.json +2 -2
- 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/server/app/_global-error/page.js.nft.json +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.js.nft.json +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 +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- 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]/route.js.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +1 -1
- 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.nft.json +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.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.nft.json +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/page.js.nft.json +1 -1
- 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]/specs/[specId]/page.js.nft.json +1 -1
- 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/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- 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.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- 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/dist/standalone/packages/web/README.md +196 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +20 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +59 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +427 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +436 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +20 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +10 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +7 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +83 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +8 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/f864aa7e7061c0600e35cf3d879b27cf.txt +1 -0
- 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 +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark-white.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/globe.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/icon.svg +7 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-dark-bg.svg +17 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-with-bg.svg +17 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo.svg +17 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/next.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/vercel.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/public/window.svg +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +44 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +23 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +19 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +63 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +51 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +171 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +36 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +46 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +19 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +162 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +364 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +531 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +277 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +70 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +87 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +27 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +5 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +43 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +425 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +283 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +46 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +52 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +175 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +96 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +95 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +210 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +53 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +180 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +119 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +369 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +372 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +42 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +70 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +136 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +127 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +186 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +561 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +53 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +143 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +130 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +11 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +37 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +50 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +36 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +110 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +57 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +76 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +153 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +122 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +24 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +159 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +31 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +15 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +55 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +30 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +32 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +76 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +42 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +114 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +123 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +156 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +216 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +105 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +120 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +94 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +249 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +55 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +152 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +171 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +17 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +18 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +58 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +34 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +1 -0
- package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +14 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +317 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +261 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +380 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +230 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +285 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +358 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +303 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +368 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +327 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +117 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +73 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +109 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +107 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +244 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +429 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +306 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +158 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +359 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +86 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +437 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +365 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +203 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +156 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +183 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +229 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +243 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +217 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +166 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +126 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +108 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +382 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +144 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +208 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +182 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +314 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +113 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +237 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +149 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +254 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +376 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +240 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +374 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +339 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +128 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +97 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +93 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +175 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +397 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +342 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +44 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +150 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +351 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +238 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +280 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +372 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +466 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +178 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +295 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +487 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +241 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +279 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +642 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +125 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +286 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +392 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +1002 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +411 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +812 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +504 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +724 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +125 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +299 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +265 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +36 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +243 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +82 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +338 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +354 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +189 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +119 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +170 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +158 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +842 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +358 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +444 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +357 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +551 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +372 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +489 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +287 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +323 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +136 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +399 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +301 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +235 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +303 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +196 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +388 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +825 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +111 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +69 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +77 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +184 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +501 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +490 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +389 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +920 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +146 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +421 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +106 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +126 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +131 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +254 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +152 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +65 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +332 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +339 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +399 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +525 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +387 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +613 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +266 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +100 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +172 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +37 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +60 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +113 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +69 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +112 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +229 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +406 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +168 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +174 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +212 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +249 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +60 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +139 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +722 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +413 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +255 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +252 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +253 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +612 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +794 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +834 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +255 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +454 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +172 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +152 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +95 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +87 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +230 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +89 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +89 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +166 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +276 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +122 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +198 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +192 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +171 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +200 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +317 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +276 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +241 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +139 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +328 -0
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +400 -0
- package/.next/standalone/packages/ui/package.json +1 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
- 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 +0 -42
- package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
- 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-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 +0 -46
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/lib/index.js +0 -0
- /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64 → @img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64}/versions.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_ssgManifest.js +0 -0
- /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_buildManifest.js +0 -0
- /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{_6lLNPdRExIaMIs9fFqLK → 6nq7WNafPv5Bf_7mWgRQ-}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: complete
|
|
3
|
+
created: 2025-11-02
|
|
4
|
+
tags: [documentation, migration, docusaurus, vercel]
|
|
5
|
+
priority: high
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Documentation Migration: Docusaurus + Vercel
|
|
9
|
+
|
|
10
|
+
> **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-02 · **Tags**: documentation, migration, docusaurus, vercel
|
|
11
|
+
|
|
12
|
+
**🎉 Live at: https://www.lean-spec.dev**
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Migrate the LeanSpec documentation site from VitePress + GitHub Pages to Docusaurus + Vercel. While the current VitePress setup works, Docusaurus offers better documentation features, plugin ecosystem, and Vercel provides superior deployment experience with preview deployments and analytics.
|
|
17
|
+
|
|
18
|
+
**Why Migrate:**
|
|
19
|
+
- **Better DX**: Docusaurus has richer documentation-specific features (versioning, i18n, plugin system)
|
|
20
|
+
- **Preview Deployments**: Vercel automatically creates preview deployments for PRs
|
|
21
|
+
- **Better Analytics**: Vercel Web Analytics and Speed Insights built-in
|
|
22
|
+
- **Community**: Larger documentation community (React, Jest, Redwood, etc. use it)
|
|
23
|
+
- **Future-Ready**: Easier to add interactive features, versioning, and multi-language support
|
|
24
|
+
- **Build Performance**: Faster builds and better caching on Vercel
|
|
25
|
+
|
|
26
|
+
**What Success Looks Like:**
|
|
27
|
+
- All existing documentation content migrated without loss
|
|
28
|
+
- Live on Vercel with custom domain support
|
|
29
|
+
- Preview deployments working for PRs
|
|
30
|
+
- Better performance metrics than current site
|
|
31
|
+
- Enhanced search functionality
|
|
32
|
+
- Modern React-based UI with better UX
|
|
33
|
+
|
|
34
|
+
## Design
|
|
35
|
+
|
|
36
|
+
### Technology Stack
|
|
37
|
+
|
|
38
|
+
**Docusaurus 3.0+**
|
|
39
|
+
- Meta's documentation framework
|
|
40
|
+
- React-based with MDX support
|
|
41
|
+
- Built-in versioning and i18n
|
|
42
|
+
- Powerful plugin system
|
|
43
|
+
- Better sidebar and navigation control
|
|
44
|
+
- Native blog support (for changelogs, announcements)
|
|
45
|
+
|
|
46
|
+
**Vercel Hosting**
|
|
47
|
+
- Automatic deployments from GitHub
|
|
48
|
+
- Preview deployments for every PR
|
|
49
|
+
- Edge network for fast global delivery
|
|
50
|
+
- Built-in analytics and performance monitoring
|
|
51
|
+
- Environment variables for configuration
|
|
52
|
+
- Zero-config TypeScript support
|
|
53
|
+
|
|
54
|
+
### Site Structure
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
docs-site/ # New root for Docusaurus
|
|
58
|
+
├── docs/ # Documentation content
|
|
59
|
+
│ ├── guide/
|
|
60
|
+
│ │ ├── index.md
|
|
61
|
+
│ │ ├── getting-started.md
|
|
62
|
+
│ │ ├── quick-start.md
|
|
63
|
+
│ │ ├── philosophy.md
|
|
64
|
+
│ │ ├── principles.md
|
|
65
|
+
│ │ ├── when-to-use.md
|
|
66
|
+
│ │ ├── templates.md
|
|
67
|
+
│ │ ├── frontmatter.md
|
|
68
|
+
│ │ ├── custom-fields.md
|
|
69
|
+
│ │ └── variables.md
|
|
70
|
+
│ ├── reference/
|
|
71
|
+
│ │ ├── cli.md
|
|
72
|
+
│ │ ├── config.md
|
|
73
|
+
│ │ └── frontmatter.md
|
|
74
|
+
│ ├── ai-integration/
|
|
75
|
+
│ │ ├── index.md
|
|
76
|
+
│ │ ├── setup.md
|
|
77
|
+
│ │ ├── agents-md.md
|
|
78
|
+
│ │ ├── best-practices.md
|
|
79
|
+
│ │ └── examples.md
|
|
80
|
+
│ └── contributing.md
|
|
81
|
+
├── blog/ # Optional: for announcements
|
|
82
|
+
│ └── 2025-11-02-v0.1.0.md
|
|
83
|
+
├── src/
|
|
84
|
+
│ ├── components/ # Custom React components
|
|
85
|
+
│ ├── css/ # Custom styles
|
|
86
|
+
│ └── pages/ # Custom pages (landing, etc.)
|
|
87
|
+
├── static/ # Static assets
|
|
88
|
+
│ ├── img/
|
|
89
|
+
│ └── favicon.ico
|
|
90
|
+
├── docusaurus.config.ts # Main config
|
|
91
|
+
├── sidebars.ts # Sidebar configuration
|
|
92
|
+
├── package.json
|
|
93
|
+
└── tsconfig.json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Migration Mapping
|
|
97
|
+
|
|
98
|
+
| VitePress Location | Docusaurus Location | Notes |
|
|
99
|
+
|-------------------|---------------------|-------|
|
|
100
|
+
| `docs/index.md` | `docs-site/src/pages/index.tsx` | Custom React landing page |
|
|
101
|
+
| `docs/guide/*.md` | `docs-site/docs/guide/*.md` | Direct copy with frontmatter updates |
|
|
102
|
+
| `docs/reference/*.md` | `docs-site/docs/reference/*.md` | Direct copy |
|
|
103
|
+
| `docs/ai-integration/*.md` | `docs-site/docs/ai-integration/*.md` | Direct copy |
|
|
104
|
+
| `docs/.vitepress/config.ts` | `docs-site/docusaurus.config.ts` | Rewrite configuration |
|
|
105
|
+
| `docs/public/*` | `docs-site/static/*` | Move static assets |
|
|
106
|
+
|
|
107
|
+
### Configuration Strategy
|
|
108
|
+
|
|
109
|
+
**docusaurus.config.ts** - Main configuration:
|
|
110
|
+
```typescript
|
|
111
|
+
import {themes as prismThemes} from 'prism-react-renderer';
|
|
112
|
+
import type {Config} from '@docusaurus/types';
|
|
113
|
+
|
|
114
|
+
const config: Config = {
|
|
115
|
+
title: 'LeanSpec',
|
|
116
|
+
tagline: 'Lightweight spec methodology for AI-powered development',
|
|
117
|
+
favicon: 'img/favicon.ico',
|
|
118
|
+
|
|
119
|
+
url: 'https://www.lean-spec.dev', // Custom domain
|
|
120
|
+
baseUrl: '/',
|
|
121
|
+
|
|
122
|
+
organizationName: 'codervisor',
|
|
123
|
+
projectName: 'lean-spec',
|
|
124
|
+
|
|
125
|
+
onBrokenLinks: 'throw',
|
|
126
|
+
onBrokenMarkdownLinks: 'warn',
|
|
127
|
+
|
|
128
|
+
i18n: {
|
|
129
|
+
defaultLocale: 'en',
|
|
130
|
+
locales: ['en'],
|
|
131
|
+
},
|
|
132
|
+
|
|
133
|
+
presets: [
|
|
134
|
+
[
|
|
135
|
+
'classic',
|
|
136
|
+
{
|
|
137
|
+
docs: {
|
|
138
|
+
sidebarPath: './sidebars.ts',
|
|
139
|
+
editUrl: 'https://github.com/codervisor/lean-spec/tree/main/docs-site/',
|
|
140
|
+
},
|
|
141
|
+
blog: {
|
|
142
|
+
showReadingTime: true,
|
|
143
|
+
editUrl: 'https://github.com/codervisor/lean-spec/tree/main/docs-site/',
|
|
144
|
+
},
|
|
145
|
+
theme: {
|
|
146
|
+
customCss: './src/css/custom.css',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
],
|
|
151
|
+
|
|
152
|
+
themeConfig: {
|
|
153
|
+
navbar: {
|
|
154
|
+
title: 'LeanSpec',
|
|
155
|
+
logo: {
|
|
156
|
+
alt: 'LeanSpec Logo',
|
|
157
|
+
src: 'img/logo.svg',
|
|
158
|
+
},
|
|
159
|
+
items: [
|
|
160
|
+
{
|
|
161
|
+
type: 'docSidebar',
|
|
162
|
+
sidebarId: 'guideSidebar',
|
|
163
|
+
position: 'left',
|
|
164
|
+
label: 'Guide',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'docSidebar',
|
|
168
|
+
sidebarId: 'referenceSidebar',
|
|
169
|
+
position: 'left',
|
|
170
|
+
label: 'Reference',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'docSidebar',
|
|
174
|
+
sidebarId: 'aiSidebar',
|
|
175
|
+
position: 'left',
|
|
176
|
+
label: 'AI Integration',
|
|
177
|
+
},
|
|
178
|
+
{to: '/blog', label: 'Blog', position: 'left'},
|
|
179
|
+
{
|
|
180
|
+
href: 'https://github.com/codervisor/lean-spec',
|
|
181
|
+
label: 'GitHub',
|
|
182
|
+
position: 'right',
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
},
|
|
186
|
+
footer: {
|
|
187
|
+
style: 'dark',
|
|
188
|
+
links: [
|
|
189
|
+
{
|
|
190
|
+
title: 'Docs',
|
|
191
|
+
items: [
|
|
192
|
+
{label: 'Getting Started', to: '/docs/guide'},
|
|
193
|
+
{label: 'CLI Reference', to: '/docs/reference/cli'},
|
|
194
|
+
{label: 'AI Integration', to: '/docs/ai-integration'},
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
title: 'Community',
|
|
199
|
+
items: [
|
|
200
|
+
{label: 'GitHub', href: 'https://github.com/codervisor/lean-spec'},
|
|
201
|
+
{label: 'Issues', href: 'https://github.com/codervisor/lean-spec/issues'},
|
|
202
|
+
],
|
|
203
|
+
},
|
|
204
|
+
],
|
|
205
|
+
copyright: `Copyright © ${new Date().getFullYear()} codervisor. Built with Docusaurus.`,
|
|
206
|
+
},
|
|
207
|
+
prism: {
|
|
208
|
+
theme: prismThemes.github,
|
|
209
|
+
darkTheme: prismThemes.dracula,
|
|
210
|
+
},
|
|
211
|
+
algolia: {
|
|
212
|
+
// Algolia DocSearch (better than local search)
|
|
213
|
+
appId: 'YOUR_APP_ID',
|
|
214
|
+
apiKey: 'YOUR_SEARCH_API_KEY',
|
|
215
|
+
indexName: 'lean-spec',
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
export default config;
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Vercel Configuration
|
|
224
|
+
|
|
225
|
+
**vercel.json**:
|
|
226
|
+
```json
|
|
227
|
+
{
|
|
228
|
+
"buildCommand": "cd docs-site && npm run build",
|
|
229
|
+
"outputDirectory": "docs-site/build",
|
|
230
|
+
"framework": "docusaurus",
|
|
231
|
+
"rewrites": [
|
|
232
|
+
{ "source": "/(.*)", "destination": "/" }
|
|
233
|
+
]
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Environment Variables** (in Vercel Dashboard):
|
|
238
|
+
- `NODE_VERSION`: 18
|
|
239
|
+
- `DOCUSAURUS_URL`: https://www.lean-spec.dev
|
|
240
|
+
- `ALGOLIA_APP_ID`: (for search)
|
|
241
|
+
- `ALGOLIA_API_KEY`: (for search)
|
|
242
|
+
|
|
243
|
+
## Plan
|
|
244
|
+
|
|
245
|
+
### Phase 1: Setup & Configuration (Day 1)
|
|
246
|
+
- [ ] Create new `docs-site/` directory in repository root
|
|
247
|
+
- [ ] Initialize Docusaurus with TypeScript: `npx create-docusaurus@latest docs-site classic --typescript`
|
|
248
|
+
- [ ] Configure `docusaurus.config.ts` with LeanSpec branding
|
|
249
|
+
- [ ] Set up sidebar structure in `sidebars.ts`
|
|
250
|
+
- [ ] Configure Vercel project and link to GitHub repository
|
|
251
|
+
- [ ] Set up Vercel environment variables
|
|
252
|
+
- [ ] Configure custom domain (if ready) or use vercel.app subdomain
|
|
253
|
+
|
|
254
|
+
### Phase 2: Content Migration (Day 1-2)
|
|
255
|
+
- [ ] Migrate homepage to custom React page (`src/pages/index.tsx`)
|
|
256
|
+
- [ ] Copy and adapt all guide documentation
|
|
257
|
+
- [ ] Copy and adapt reference documentation
|
|
258
|
+
- [ ] Copy and adapt AI integration documentation
|
|
259
|
+
- [ ] Update frontmatter format to Docusaurus standard
|
|
260
|
+
- [ ] Migrate static assets (images, logos) to `static/`
|
|
261
|
+
- [ ] Update all internal links to new structure
|
|
262
|
+
- [ ] Create initial blog post announcing v0.1.0
|
|
263
|
+
|
|
264
|
+
### Phase 3: Enhancement (Day 2)
|
|
265
|
+
- [ ] Design custom landing page with hero section
|
|
266
|
+
- [ ] Add code block enhancements (copy button, line highlighting)
|
|
267
|
+
- [ ] Configure Algolia DocSearch or local search plugin
|
|
268
|
+
- [ ] Add custom React components for features showcase
|
|
269
|
+
- [ ] Set up analytics (Vercel Analytics)
|
|
270
|
+
- [ ] Configure SEO metadata
|
|
271
|
+
- [ ] Add social preview images
|
|
272
|
+
|
|
273
|
+
### Phase 4: Testing & Deployment (Day 2-3)
|
|
274
|
+
- [ ] Test build locally: `npm run build && npm run serve`
|
|
275
|
+
- [ ] Verify all links work
|
|
276
|
+
- [ ] Test responsive design on mobile/tablet
|
|
277
|
+
- [ ] Push to GitHub and verify Vercel auto-deployment
|
|
278
|
+
- [ ] Test preview deployment on feature branch
|
|
279
|
+
- [ ] Configure custom domain DNS (if applicable)
|
|
280
|
+
- [ ] Verify search functionality
|
|
281
|
+
|
|
282
|
+
### Phase 5: Cleanup & Documentation (Day 3)
|
|
283
|
+
- [ ] Archive old VitePress setup:
|
|
284
|
+
- [ ] Move `docs/` to `docs-old/` or delete
|
|
285
|
+
- [ ] Remove `.github/workflows/docs.yml`
|
|
286
|
+
- [ ] Remove VitePress dependencies from `package.json`
|
|
287
|
+
- [ ] Update root `package.json` scripts
|
|
288
|
+
- [ ] Update main `README.md` with new docs URL
|
|
289
|
+
- [ ] Update `CONTRIBUTING.md` with Docusaurus docs contribution guide
|
|
290
|
+
- [ ] Create `.github/workflows/docs-preview.yml` for preview comments
|
|
291
|
+
- [ ] Mark spec as complete
|
|
292
|
+
|
|
293
|
+
## Technical Details
|
|
294
|
+
|
|
295
|
+
### Frontmatter Migration
|
|
296
|
+
|
|
297
|
+
**VitePress format:**
|
|
298
|
+
```yaml
|
|
299
|
+
---
|
|
300
|
+
title: Getting Started
|
|
301
|
+
description: Start using LeanSpec
|
|
302
|
+
---
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Docusaurus format:**
|
|
306
|
+
```yaml
|
|
307
|
+
---
|
|
308
|
+
id: getting-started
|
|
309
|
+
title: Getting Started
|
|
310
|
+
sidebar_label: Getting Started
|
|
311
|
+
description: Start using LeanSpec
|
|
312
|
+
sidebar_position: 1
|
|
313
|
+
---
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Sidebar Configuration
|
|
317
|
+
|
|
318
|
+
**sidebars.ts** example:
|
|
319
|
+
```typescript
|
|
320
|
+
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
|
321
|
+
|
|
322
|
+
const sidebars: SidebarsConfig = {
|
|
323
|
+
guideSidebar: [
|
|
324
|
+
{
|
|
325
|
+
type: 'category',
|
|
326
|
+
label: 'Introduction',
|
|
327
|
+
items: ['guide/index', 'guide/getting-started', 'guide/quick-start'],
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
type: 'category',
|
|
331
|
+
label: 'Core Concepts',
|
|
332
|
+
items: ['guide/philosophy', 'guide/principles', 'guide/when-to-use'],
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
type: 'category',
|
|
336
|
+
label: 'Features',
|
|
337
|
+
items: ['guide/templates', 'guide/frontmatter', 'guide/custom-fields', 'guide/variables'],
|
|
338
|
+
},
|
|
339
|
+
],
|
|
340
|
+
referenceSidebar: [
|
|
341
|
+
'reference/cli',
|
|
342
|
+
'reference/config',
|
|
343
|
+
'reference/frontmatter',
|
|
344
|
+
],
|
|
345
|
+
aiSidebar: [
|
|
346
|
+
'ai-integration/index',
|
|
347
|
+
'ai-integration/setup',
|
|
348
|
+
'ai-integration/agents-md',
|
|
349
|
+
'ai-integration/best-practices',
|
|
350
|
+
'ai-integration/examples',
|
|
351
|
+
],
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
export default sidebars;
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Custom Landing Page
|
|
358
|
+
|
|
359
|
+
Create a React-based hero section in `src/pages/index.tsx`:
|
|
360
|
+
```typescript
|
|
361
|
+
import React from 'react';
|
|
362
|
+
import clsx from 'clsx';
|
|
363
|
+
import Link from '@docusaurus/Link';
|
|
364
|
+
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
365
|
+
import Layout from '@theme/Layout';
|
|
366
|
+
import styles from './index.module.css';
|
|
367
|
+
|
|
368
|
+
function HomepageHeader() {
|
|
369
|
+
const {siteConfig} = useDocusaurusContext();
|
|
370
|
+
return (
|
|
371
|
+
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
|
372
|
+
<div className="container">
|
|
373
|
+
<h1 className="hero__title">{siteConfig.title}</h1>
|
|
374
|
+
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
|
375
|
+
<div className={styles.buttons}>
|
|
376
|
+
<Link
|
|
377
|
+
className="button button--secondary button--lg"
|
|
378
|
+
to="/docs/guide">
|
|
379
|
+
Get Started →
|
|
380
|
+
</Link>
|
|
381
|
+
</div>
|
|
382
|
+
</div>
|
|
383
|
+
</header>
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export default function Home(): JSX.Element {
|
|
388
|
+
const {siteConfig} = useDocusaurusContext();
|
|
389
|
+
return (
|
|
390
|
+
<Layout
|
|
391
|
+
title={`${siteConfig.title} - ${siteConfig.tagline}`}
|
|
392
|
+
description="Lightweight spec methodology for AI-powered development">
|
|
393
|
+
<HomepageHeader />
|
|
394
|
+
<main>{/* Feature sections */}</main>
|
|
395
|
+
</Layout>
|
|
396
|
+
);
|
|
397
|
+
}
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Vercel Deployment
|
|
401
|
+
|
|
402
|
+
1. **Connect GitHub Repository** to Vercel
|
|
403
|
+
2. **Configure Project**:
|
|
404
|
+
- Framework Preset: Docusaurus
|
|
405
|
+
- Root Directory: `docs-site`
|
|
406
|
+
- Build Command: `npm run build`
|
|
407
|
+
- Output Directory: `build`
|
|
408
|
+
3. **Enable Preview Deployments** for all branches
|
|
409
|
+
4. **Configure Domain**:
|
|
410
|
+
- Add custom domain: `www.lean-spec.dev` (primary) with `lean-spec.dev` redirect
|
|
411
|
+
- Vercel handles SSL automatically
|
|
412
|
+
|
|
413
|
+
### Enhanced Features
|
|
414
|
+
|
|
415
|
+
**Algolia DocSearch** (better than local search):
|
|
416
|
+
- Submit site to [Algolia DocSearch](https://docsearch.algolia.com/)
|
|
417
|
+
- Free for open source projects
|
|
418
|
+
- Provides instant search with autocomplete
|
|
419
|
+
|
|
420
|
+
**Vercel Analytics**:
|
|
421
|
+
```typescript
|
|
422
|
+
// docusaurus.config.ts
|
|
423
|
+
scripts: [
|
|
424
|
+
{
|
|
425
|
+
src: 'https://cdn.vercel-insights.com/v1/script.debug.js',
|
|
426
|
+
defer: true,
|
|
427
|
+
},
|
|
428
|
+
],
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
**MDX Components** - Add interactive examples:
|
|
432
|
+
```typescript
|
|
433
|
+
// src/components/SpecExample.tsx
|
|
434
|
+
export function SpecExample({ title, children }) {
|
|
435
|
+
return (
|
|
436
|
+
<div className="spec-example">
|
|
437
|
+
<h4>{title}</h4>
|
|
438
|
+
{children}
|
|
439
|
+
</div>
|
|
440
|
+
);
|
|
441
|
+
}
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
## Test
|
|
445
|
+
|
|
446
|
+
### Migration Verification
|
|
447
|
+
- [ ] All existing documentation pages accessible
|
|
448
|
+
- [ ] No broken links (internal or external)
|
|
449
|
+
- [ ] Search functionality works correctly
|
|
450
|
+
- [ ] Mobile responsive design verified
|
|
451
|
+
- [ ] Code blocks render correctly with syntax highlighting
|
|
452
|
+
- [ ] Navigation (sidebar, navbar) works as expected
|
|
453
|
+
|
|
454
|
+
### Performance Metrics
|
|
455
|
+
- [ ] Lighthouse score > 90 for all categories
|
|
456
|
+
- [ ] Time to Interactive < 2s
|
|
457
|
+
- [ ] First Contentful Paint < 1s
|
|
458
|
+
- [ ] Build time < 2 minutes
|
|
459
|
+
|
|
460
|
+
### Deployment Verification
|
|
461
|
+
- [ ] Production deployment successful on Vercel
|
|
462
|
+
- [ ] Preview deployments work for PRs
|
|
463
|
+
- [ ] Custom domain resolves correctly (if configured)
|
|
464
|
+
- [ ] SSL certificate active
|
|
465
|
+
- [ ] Analytics tracking works
|
|
466
|
+
|
|
467
|
+
### User Experience
|
|
468
|
+
- [ ] Documentation is easier to navigate than VitePress version
|
|
469
|
+
- [ ] Search returns relevant results
|
|
470
|
+
- [ ] Code examples are easy to copy
|
|
471
|
+
- [ ] Dark mode toggle works
|
|
472
|
+
- [ ] Edit on GitHub links work
|
|
473
|
+
|
|
474
|
+
## Benefits Over VitePress
|
|
475
|
+
|
|
476
|
+
### Feature Comparison
|
|
477
|
+
|
|
478
|
+
| Feature | VitePress | Docusaurus |
|
|
479
|
+
|---------|-----------|------------|
|
|
480
|
+
| **Search** | Local only | Algolia DocSearch |
|
|
481
|
+
| **Versioning** | Manual | Built-in |
|
|
482
|
+
| **Blog** | Not included | Built-in |
|
|
483
|
+
| **i18n** | Basic | Full support |
|
|
484
|
+
| **Plugins** | Limited | Rich ecosystem |
|
|
485
|
+
| **MDX** | Limited | Full React components |
|
|
486
|
+
| **Analytics** | Manual setup | Vercel built-in |
|
|
487
|
+
| **Preview Deploys** | No (GitHub Pages) | Yes (Vercel) |
|
|
488
|
+
| **Build Speed** | Fast | Fast + better caching |
|
|
489
|
+
| **Community** | Growing | Large & mature |
|
|
490
|
+
|
|
491
|
+
### Why Docusaurus Wins for LeanSpec
|
|
492
|
+
|
|
493
|
+
1. **Better for Tool Documentation**: Designed for developer tools (like ours)
|
|
494
|
+
2. **Plugin Ecosystem**: Can add diagram support, OpenAPI specs, etc.
|
|
495
|
+
3. **React Components**: Can build interactive spec examples
|
|
496
|
+
4. **Versioning Ready**: When we hit v1.0, v2.0, etc.
|
|
497
|
+
5. **Proven at Scale**: Used by Meta, Jest, React Native, Redwood
|
|
498
|
+
6. **Better Search**: Algolia integration is superior
|
|
499
|
+
7. **Vercel DX**: Preview deployments are game-changing for docs PRs
|
|
500
|
+
|
|
501
|
+
## Non-Goals
|
|
502
|
+
|
|
503
|
+
- **Versioned Docs**: Not implementing versioning initially (add later when needed)
|
|
504
|
+
- **Internationalization**: English only for v0.1.0
|
|
505
|
+
- **Custom Theme**: Use default Docusaurus theme with minor customizations
|
|
506
|
+
- **Complex Plugins**: Start simple, add plugins as needed
|
|
507
|
+
- **Multiple Domains**: Single domain deployment initially
|
|
508
|
+
|
|
509
|
+
## Success Metrics
|
|
510
|
+
|
|
511
|
+
- [ ] Migration completed within 3 days
|
|
512
|
+
- [ ] Zero content loss from VitePress version
|
|
513
|
+
- [ ] Lighthouse performance score > 90
|
|
514
|
+
- [ ] Preview deployments working for all PRs
|
|
515
|
+
- [ ] Vercel deployment time < 2 minutes
|
|
516
|
+
- [ ] All internal links verified working
|
|
517
|
+
- [ ] Search functionality superior to VitePress local search
|
|
518
|
+
|
|
519
|
+
## Open Questions
|
|
520
|
+
|
|
521
|
+
- [x] **Custom Domain**: Use `lean-spec.dev` (primary) or add `www.lean-spec.dev` redirect?
|
|
522
|
+
- **Decision**: Using `www.lean-spec.dev` as primary, with `lean-spec.dev` redirect configured in Vercel ✅
|
|
523
|
+
- [x] **Keep Old Docs**: Archive `docs/` or delete entirely?
|
|
524
|
+
- **Decision**: Moved to `docs-vitepress-old/` with archive notice ✅
|
|
525
|
+
- [x] **Blog Usage**: Use blog for changelogs or keep CHANGELOG.md?
|
|
526
|
+
- **Decision**: Keeping CHANGELOG.md, blog for announcements/tutorials ✅
|
|
527
|
+
- [ ] **Algolia DocSearch**: Apply immediately or wait?
|
|
528
|
+
- **Recommendation**: Apply immediately (free for OSS, takes 1-2 weeks approval)
|
|
529
|
+
|
|
530
|
+
## References
|
|
531
|
+
|
|
532
|
+
- [Docusaurus Documentation](https://docusaurus.io/)
|
|
533
|
+
- [Vercel Documentation](https://vercel.com/docs)
|
|
534
|
+
- [Algolia DocSearch](https://docsearch.algolia.com/)
|
|
535
|
+
- [Docusaurus Migration Guide](https://docusaurus.io/docs/migration/v2)
|
|
536
|
+
- [Example: Jest Docs](https://jestjs.io/) - Great Docusaurus example
|
|
537
|
+
- [Example: Redwood Docs](https://redwoodjs.com/) - Another excellent example
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
## Implementation Notes
|
|
542
|
+
|
|
543
|
+
**Completed:** 2025-11-03
|
|
544
|
+
**Deployed:** 2025-11-03 at https://www.lean-spec.dev
|
|
545
|
+
|
|
546
|
+
### What Was Done
|
|
547
|
+
|
|
548
|
+
1. **Setup Phase**
|
|
549
|
+
- Initialized Docusaurus 3.9.2 with TypeScript in `docs-site/` directory
|
|
550
|
+
- Configured `docusaurus.config.ts` with LeanSpec branding, URL (www.lean-spec.dev), and navigation
|
|
551
|
+
- Set up three sidebars: Guide, Reference, and AI Integration
|
|
552
|
+
- Created `vercel.json` for Vercel deployment configuration
|
|
553
|
+
|
|
554
|
+
2. **Content Migration**
|
|
555
|
+
- Migrated all documentation from VitePress to Docusaurus:
|
|
556
|
+
- Guide: 11 documents (overview, getting started, philosophy, etc.)
|
|
557
|
+
- Reference: 3 documents (CLI, config, frontmatter)
|
|
558
|
+
- AI Integration: 5 documents (setup, best practices, etc.)
|
|
559
|
+
- Added Docusaurus-compatible frontmatter to all documents (id, title, sidebar_position)
|
|
560
|
+
- Fixed internal links to use `/docs/` prefix for Docusaurus routing
|
|
561
|
+
- Escaped curly braces in variables.md to prevent MDX parsing errors
|
|
562
|
+
- Copied static assets (logo.svg) to `docs-site/static/img/`
|
|
563
|
+
- Created welcome blog post
|
|
564
|
+
|
|
565
|
+
3. **Configuration Changes**
|
|
566
|
+
- Updated root `package.json`:
|
|
567
|
+
- Changed docs scripts to point to Docusaurus
|
|
568
|
+
- Updated homepage URL to `www.lean-spec.dev`
|
|
569
|
+
- Removed VitePress dependency
|
|
570
|
+
- Updated `README.md` with new documentation URL
|
|
571
|
+
- Updated `.gitignore` to exclude Docusaurus build artifacts
|
|
572
|
+
|
|
573
|
+
4. **Cleanup**
|
|
574
|
+
- Archived old VitePress docs to `docs-vitepress-old/`
|
|
575
|
+
- Removed `.github/workflows/docs.yml` (GitHub Pages deployment)
|
|
576
|
+
- Added archive notice to old docs directory
|
|
577
|
+
|
|
578
|
+
5. **Verification**
|
|
579
|
+
- Build tested successfully: `npm run build` in docs-site
|
|
580
|
+
- Local preview verified: `npm run serve` in docs-site
|
|
581
|
+
- All internal links validated
|
|
582
|
+
- No broken links or build errors
|
|
583
|
+
|
|
584
|
+
### Deployment Completed
|
|
585
|
+
|
|
586
|
+
✅ **Site deployed successfully on Vercel:** https://www.lean-spec.dev
|
|
587
|
+
|
|
588
|
+
**Deployment Configuration:**
|
|
589
|
+
- Repository: `codervisor/lean-spec` connected to Vercel
|
|
590
|
+
- Framework Preset: Docusaurus
|
|
591
|
+
- Root Directory: `docs-site`
|
|
592
|
+
- Build Command: `npm run build`
|
|
593
|
+
- Output Directory: `build`
|
|
594
|
+
- Custom Domain: `www.lean-spec.dev` (primary) with `lean-spec.dev` redirect
|
|
595
|
+
- SSL Certificate: Automatically provisioned and active
|
|
596
|
+
- Preview Deployments: Enabled for all branches
|
|
597
|
+
|
|
598
|
+
**Future Enhancements (Optional):**
|
|
599
|
+
- Apply for Algolia DocSearch (better search than local)
|
|
600
|
+
- Enable Vercel Analytics
|
|
601
|
+
- Add versioning when needed
|
|
602
|
+
- Internationalization if required
|
|
603
|
+
|
|
604
|
+
### Files Changed
|
|
605
|
+
|
|
606
|
+
- Created: `docs-site/` (full Docusaurus project)
|
|
607
|
+
- Created: `vercel.json` (Vercel configuration)
|
|
608
|
+
- Modified: `package.json` (updated docs scripts, homepage, removed VitePress)
|
|
609
|
+
- Modified: `README.md` (updated docs URL)
|
|
610
|
+
- Modified: `.gitignore` (updated for Docusaurus)
|
|
611
|
+
- Renamed: `docs/` → `docs-vitepress-old/` (archived)
|
|
612
|
+
- Removed: `.github/workflows/docs.yml` (GitHub Pages workflow)
|