@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,146 @@
|
|
|
1
|
+
# Output Format Specification
|
|
2
|
+
|
|
3
|
+
## Output Structure
|
|
4
|
+
|
|
5
|
+
**Principle: File-Centric, Severity-First**
|
|
6
|
+
|
|
7
|
+
Show each spec once with all its issues grouped together:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
$ lean-spec validate
|
|
11
|
+
|
|
12
|
+
Validating 25 specs...
|
|
13
|
+
|
|
14
|
+
045-unified-dashboard/README.md
|
|
15
|
+
error Spec exceeds 400 lines (1169 lines) max-lines
|
|
16
|
+
warning Orphaned sub-spec: IMPLEMENTATION.md sub-specs
|
|
17
|
+
→ Add a link to IMPLEMENTATION.md in README.md
|
|
18
|
+
|
|
19
|
+
045-unified-dashboard/IMPLEMENTATION.md
|
|
20
|
+
error Sub-spec exceeds 400 lines (685 lines) max-lines
|
|
21
|
+
→ Consider splitting or simplifying
|
|
22
|
+
|
|
23
|
+
046-stats-dashboard-refactor/README.md
|
|
24
|
+
error Spec exceeds 400 lines (685 lines) max-lines
|
|
25
|
+
→ Consider splitting into sub-specs (see spec 012)
|
|
26
|
+
|
|
27
|
+
048-spec-complexity-analysis/README.md
|
|
28
|
+
error Spec exceeds 400 lines (601 lines) max-lines
|
|
29
|
+
→ Consider splitting into sub-specs (see spec 012)
|
|
30
|
+
|
|
31
|
+
049-leanspec-first-principles/README.md
|
|
32
|
+
warning Spec approaching limit (373/400 lines) max-lines
|
|
33
|
+
→ Consider simplification or splitting
|
|
34
|
+
|
|
35
|
+
049-leanspec-first-principles/ANALYSIS.md
|
|
36
|
+
error Sub-spec exceeds 400 lines (428 lines) max-lines
|
|
37
|
+
→ Consider further splitting
|
|
38
|
+
|
|
39
|
+
✖ 5 errors, 13 warnings (25 specs checked, 19 clean)
|
|
40
|
+
|
|
41
|
+
Run with --verbose to see passing specs.
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Format Specification
|
|
45
|
+
|
|
46
|
+
**Structure:**
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
<spec-path>/<file>
|
|
50
|
+
<severity> <message> <rule>
|
|
51
|
+
<suggestion>
|
|
52
|
+
<severity> <message> <rule>
|
|
53
|
+
|
|
54
|
+
<spec-path>/<file>
|
|
55
|
+
...
|
|
56
|
+
|
|
57
|
+
<summary>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Alignment:**
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
<severity>: 7 chars left-aligned ("error " or "warning")
|
|
64
|
+
<message>: 50 chars left-aligned (truncate if needed)
|
|
65
|
+
<rule>: right-aligned after message
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Colors:**
|
|
69
|
+
|
|
70
|
+
- `error` - Red text
|
|
71
|
+
- `warning` - Yellow text
|
|
72
|
+
- `suggestion` (→ line) - Gray text
|
|
73
|
+
- `summary` - Bold white (errors) or bold yellow (warnings only)
|
|
74
|
+
- File paths - Cyan underlined (like ESLint)
|
|
75
|
+
|
|
76
|
+
**Summary Format:**
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
✖ <N> errors, <M> warnings (<total> specs checked, <clean> clean)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
If only warnings:
|
|
83
|
+
```
|
|
84
|
+
⚠ <M> warnings (<total> specs checked, <clean> clean)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If all pass:
|
|
88
|
+
```
|
|
89
|
+
✓ All <total> specs passed
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## CLI Flags
|
|
93
|
+
|
|
94
|
+
**New Flags:**
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
--verbose # Show passing specs (default: false)
|
|
98
|
+
--quiet # Suppress all output except errors (no warnings, no summary)
|
|
99
|
+
--format # Output format: 'default' | 'json' | 'compact'
|
|
100
|
+
--rule # Filter by rule name (e.g., --rule=max-lines)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Examples:**
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Default: Show only issues, quiet success
|
|
107
|
+
lean-spec validate
|
|
108
|
+
|
|
109
|
+
# Show everything including passing specs
|
|
110
|
+
lean-spec validate --verbose
|
|
111
|
+
|
|
112
|
+
# Only errors, no warnings
|
|
113
|
+
lean-spec validate --quiet
|
|
114
|
+
|
|
115
|
+
# JSON for CI integration
|
|
116
|
+
lean-spec validate --format=json
|
|
117
|
+
|
|
118
|
+
# Check only line count issues
|
|
119
|
+
lean-spec validate --rule=max-lines
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Severity Hierarchy
|
|
123
|
+
|
|
124
|
+
Always show errors before warnings within a file:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
045-unified-dashboard/README.md
|
|
128
|
+
error Spec exceeds 400 lines (1169 lines) # Error first
|
|
129
|
+
warning Orphaned sub-spec: IMPLEMENTATION.md # Warning second
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Verbose Mode
|
|
133
|
+
|
|
134
|
+
Show passing specs only when requested:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
$ lean-spec validate --verbose
|
|
138
|
+
|
|
139
|
+
# ... issues shown first ...
|
|
140
|
+
|
|
141
|
+
✓ 19 specs passed:
|
|
142
|
+
014-complete-custom-frontmatter
|
|
143
|
+
017-vscode-extension
|
|
144
|
+
024-pattern-aware-list-grouping
|
|
145
|
+
...
|
|
146
|
+
```
|
package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: complete
|
|
3
|
+
created: '2025-11-06'
|
|
4
|
+
tags:
|
|
5
|
+
- validation
|
|
6
|
+
- cli
|
|
7
|
+
- ux
|
|
8
|
+
- v0.2.0
|
|
9
|
+
priority: high
|
|
10
|
+
related:
|
|
11
|
+
- '043'
|
|
12
|
+
created_at: '2025-11-07T03:20:34.342Z'
|
|
13
|
+
updated_at: '2025-11-07T03:20:34.342Z'
|
|
14
|
+
completed_at: '2025-11-07T03:20:34.342Z'
|
|
15
|
+
completed: '2025-11-07'
|
|
16
|
+
transitions:
|
|
17
|
+
- status: complete
|
|
18
|
+
at: '2025-11-07T03:20:34.342Z'
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Lint-Style Validate Output
|
|
22
|
+
|
|
23
|
+
> **Status**: ✅ Complete · **Priority**: High · **Created**: 2025-11-06 · **Tags**: validation, cli, ux, v0.2.0
|
|
24
|
+
|
|
25
|
+
**Project**: lean-spec
|
|
26
|
+
**Team**: Core Development
|
|
27
|
+
|
|
28
|
+
## Overview
|
|
29
|
+
|
|
30
|
+
Redesign `lean-spec validate` output to follow mainstream lint tool conventions (ESLint, TypeScript, Prettier, etc.) for better consistency, clarity, and developer familiarity.
|
|
31
|
+
|
|
32
|
+
**Current Problems:**
|
|
33
|
+
|
|
34
|
+
1. **Inconsistent grouping logic** - Mixes validator-based and spec-based grouping
|
|
35
|
+
2. **Verbose for clean files** - Shows every passing spec (noisy when 20+ specs pass)
|
|
36
|
+
3. **Poor severity hierarchy** - Errors and warnings mixed in output flow
|
|
37
|
+
4. **Unfamiliar format** - Doesn't match tools developers use daily
|
|
38
|
+
5. **Redundant information** - Line count shown 3 times for same spec
|
|
39
|
+
|
|
40
|
+
**Inspiration from Mainstream Tools:**
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# ESLint - File-centric, severity-grouped, clean summary
|
|
44
|
+
/src/utils.ts
|
|
45
|
+
12:5 error 'foo' is not defined no-undef
|
|
46
|
+
15:10 warning Unexpected console statement no-console
|
|
47
|
+
|
|
48
|
+
/src/index.ts
|
|
49
|
+
8:3 error Missing semicolon semi
|
|
50
|
+
|
|
51
|
+
✖ 2 errors, 1 warning (2 files, 5 files clean)
|
|
52
|
+
|
|
53
|
+
# TypeScript - Location-first, concise messages
|
|
54
|
+
src/utils.ts(12,5): error TS2304: Cannot find name 'foo'.
|
|
55
|
+
src/index.ts(8,3): error TS1005: ';' expected.
|
|
56
|
+
|
|
57
|
+
Found 2 errors in 2 files.
|
|
58
|
+
|
|
59
|
+
# Prettier - Clear pass/fail, actionable suggestions
|
|
60
|
+
Checking formatting...
|
|
61
|
+
[warn] src/utils.ts
|
|
62
|
+
[warn] src/index.ts
|
|
63
|
+
Code style issues found. Run `prettier --write` to fix.
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Key Learnings:**
|
|
67
|
+
|
|
68
|
+
1. **File-centric grouping** - Group by file, not by rule type
|
|
69
|
+
2. **Severity-first** - Show errors before warnings
|
|
70
|
+
3. **Quiet success** - Only summarize passing files
|
|
71
|
+
4. **Actionable suggestions** - Clear fix recommendations
|
|
72
|
+
5. **Consistent formatting** - Predictable structure across runs
|
|
73
|
+
|
|
74
|
+
## Design
|
|
75
|
+
|
|
76
|
+
### Summary
|
|
77
|
+
|
|
78
|
+
The new validation output follows mainstream lint tool conventions (ESLint, TypeScript, Prettier) with these key improvements:
|
|
79
|
+
|
|
80
|
+
1. **File-centric grouping** - All issues for a spec shown together (not by validator type)
|
|
81
|
+
2. **Quiet success by default** - Only show specs with issues, summarize passing specs
|
|
82
|
+
3. **Severity-first hierarchy** - Errors shown before warnings within each file
|
|
83
|
+
4. **Aligned column format** - Consistent spacing like ESLint: `<severity> <message> <rule>`
|
|
84
|
+
5. **CLI flags** - `--verbose`, `--quiet`, `--format`, `--rule` for different use cases
|
|
85
|
+
|
|
86
|
+
**Example output:**
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
$ lean-spec validate
|
|
90
|
+
|
|
91
|
+
Validating 25 specs...
|
|
92
|
+
|
|
93
|
+
045-unified-dashboard/README.md
|
|
94
|
+
error Spec exceeds 400 lines (1169 lines) max-lines
|
|
95
|
+
warning Orphaned sub-spec: IMPLEMENTATION.md sub-specs
|
|
96
|
+
|
|
97
|
+
✖ 5 errors, 13 warnings (25 specs checked, 19 clean)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Detailed Specifications
|
|
101
|
+
|
|
102
|
+
Complete design details are documented in sub-specs:
|
|
103
|
+
|
|
104
|
+
- **[OUTPUT-FORMAT-SPEC.md](./OUTPUT-FORMAT-SPEC.md)** - Format structure, alignment rules, CLI flags, examples
|
|
105
|
+
- **[DESIGN-DECISIONS.md](./DESIGN-DECISIONS.md)** - Design rationale, trade-offs, backward compatibility
|
|
106
|
+
|
|
107
|
+
### Implementation Strategy
|
|
108
|
+
|
|
109
|
+
**Phase 1:** Refactor output logic (2-3 hours)
|
|
110
|
+
**Phase 2:** Implement new format (2-3 hours)
|
|
111
|
+
**Phase 3:** Add CLI flags (1-2 hours)
|
|
112
|
+
**Phase 4:** Testing (2 hours)
|
|
113
|
+
|
|
114
|
+
**Total Effort:** 1-2 days
|
|
115
|
+
|
|
116
|
+
## Plan
|
|
117
|
+
|
|
118
|
+
**Status:** 📅 Planned for v0.2.0 (Pre-launch polish)
|
|
119
|
+
|
|
120
|
+
- [ ] Phase 1: Refactor output logic (extract formatter module)
|
|
121
|
+
- [ ] Phase 2: Implement new file-centric format
|
|
122
|
+
- [ ] Phase 3: Add CLI flags (--verbose, --quiet, --format)
|
|
123
|
+
- [ ] Phase 4: Update tests and documentation
|
|
124
|
+
- [ ] Dogfood: Run on lean-spec repo and verify clarity
|
|
125
|
+
- [ ] Update CHANGELOG and migration guide
|
|
126
|
+
|
|
127
|
+
**Estimated Effort:** 1-2 days
|
|
128
|
+
|
|
129
|
+
**Priority:** High - Critical for v0.2.0 UX polish
|
|
130
|
+
|
|
131
|
+
## Test
|
|
132
|
+
|
|
133
|
+
**Verification Strategy:**
|
|
134
|
+
|
|
135
|
+
- [ ] Output matches ESLint-style format (file-centric, aligned columns)
|
|
136
|
+
- [ ] Default mode hides passing specs (quiet success)
|
|
137
|
+
- [ ] `--verbose` shows all specs including passing ones
|
|
138
|
+
- [ ] `--quiet` suppresses warnings and summary
|
|
139
|
+
- [ ] `--format=json` produces valid JSON output
|
|
140
|
+
- [ ] Exit code 0 for warnings-only, 1 for errors (unchanged)
|
|
141
|
+
- [ ] Snapshot tests for output format stability
|
|
142
|
+
- [ ] Real repository test: `lean-spec validate` on lean-spec itself
|
|
143
|
+
|
|
144
|
+
**Success Criteria:**
|
|
145
|
+
|
|
146
|
+
- 60% reduction in output size for clean runs
|
|
147
|
+
- Issues are immediately visible (no scrolling)
|
|
148
|
+
- Beta tester feedback: "Looks like ESLint"
|
|
149
|
+
|
|
150
|
+
## Notes
|
|
151
|
+
|
|
152
|
+
### Why This Matters
|
|
153
|
+
|
|
154
|
+
**Developer Familiarity:** Matches ESLint/TypeScript/Prettier conventions = lower cognitive load
|
|
155
|
+
|
|
156
|
+
**Signal-to-Noise:** 60% reduction in output (15-20 lines vs 50+ lines for 25 specs)
|
|
157
|
+
|
|
158
|
+
**Actionability:** Clear severity hierarchy, file-centric grouping, visible suggestions
|
|
159
|
+
|
|
160
|
+
### Success Metrics
|
|
161
|
+
|
|
162
|
+
**Quantitative:**
|
|
163
|
+
- Output size: 60% reduction for clean runs
|
|
164
|
+
- Time to find issue: <5 seconds (vs 10-15s currently)
|
|
165
|
+
|
|
166
|
+
**Qualitative:**
|
|
167
|
+
- Output "feels like" ESLint/TypeScript
|
|
168
|
+
- Beta tester feedback: "Looks like ESLint" positive sentiment
|
|
169
|
+
|
|
170
|
+
### Future Enhancements (Post v0.2.0)
|
|
171
|
+
|
|
172
|
+
- **Auto-fix:** `lean-spec validate --fix`
|
|
173
|
+
- **Watch mode:** `lean-spec validate --watch`
|
|
174
|
+
- **Custom formatters:** Plugin system for CI-specific formats
|
|
175
|
+
- **Rule configuration:** `.lean-spec/rules.json` to disable/configure rules
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
# README Analysis: Critical Assessment & Strategy
|
|
2
|
+
|
|
3
|
+
**Date**: 2025-11-06
|
|
4
|
+
**Scope**: Parts 1-6 - Analysis of current README and strategic foundation
|
|
5
|
+
**See also**: [ANALYSIS-PART2.md](ANALYSIS-PART2.md) for implementation recommendations
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Part 1: Critical Analysis of Current README
|
|
10
|
+
|
|
11
|
+
### What Works Well ✅
|
|
12
|
+
|
|
13
|
+
1. **Visual Identity**
|
|
14
|
+
- Logo + badges create professional first impression
|
|
15
|
+
- Diff block makes problem/solution instantly graspable
|
|
16
|
+
- Table layout for features is scannable
|
|
17
|
+
|
|
18
|
+
2. **Clear Problem Statement**
|
|
19
|
+
- "30-page specs that AI can't fit in context" → relatable pain
|
|
20
|
+
- "Rigid templates that don't match your workflow" → common frustration
|
|
21
|
+
- Contrasts traditional SDD problems with LeanSpec solutions
|
|
22
|
+
|
|
23
|
+
3. **Progressive Disclosure Structure**
|
|
24
|
+
- Why → Features → Principles → Quick Start → Learn More
|
|
25
|
+
- Logical flow from motivation to action
|
|
26
|
+
|
|
27
|
+
4. **First Principles Section**
|
|
28
|
+
- New addition grounds everything in fundamentals
|
|
29
|
+
- Links to deep dive (good for curious readers)
|
|
30
|
+
|
|
31
|
+
### Critical Weaknesses ❌
|
|
32
|
+
|
|
33
|
+
1. **Buried Lede Problem**
|
|
34
|
+
- Most compelling value prop ("specs clear enough for AI to implement") is in paragraph 3
|
|
35
|
+
- Should be in the hero section, not buried
|
|
36
|
+
|
|
37
|
+
2. **Generic Positioning**
|
|
38
|
+
- "Spec-Driven Development for the AI era" → vague
|
|
39
|
+
- Could describe many tools
|
|
40
|
+
- Doesn't differentiate from ADRs, RFCs, Linear, etc.
|
|
41
|
+
|
|
42
|
+
3. **Weak Emotional Hook**
|
|
43
|
+
- Current hook: "Traditional SDD is too heavy or too light"
|
|
44
|
+
- Missing: The pain of maintaining specs, AI context overflow, specs getting stale
|
|
45
|
+
- Doesn't make reader feel "YES, this is MY problem!"
|
|
46
|
+
|
|
47
|
+
4. **Feature Presentation Lacks Punch**
|
|
48
|
+
- "Context Economy" → jargon-y, requires explanation
|
|
49
|
+
- "Progressive Growth" → could mean anything
|
|
50
|
+
- Features don't connect to real user pain points
|
|
51
|
+
|
|
52
|
+
5. **Unclear Target Audience**
|
|
53
|
+
- Is it for teams using Cursor/Copilot?
|
|
54
|
+
- Solo developers tired of heavy processes?
|
|
55
|
+
- Engineering leaders wanting SDD without overhead?
|
|
56
|
+
- Tries to appeal to everyone, compelling to no one
|
|
57
|
+
|
|
58
|
+
6. **Missing Social Proof**
|
|
59
|
+
- No testimonials, usage stats, or "used by"
|
|
60
|
+
- No concrete before/after examples
|
|
61
|
+
- Hard to trust it works without evidence
|
|
62
|
+
|
|
63
|
+
7. **Call-to-Action Diffusion**
|
|
64
|
+
- Multiple CTAs (Quick Start, Examples, Docs)
|
|
65
|
+
- No clear primary action
|
|
66
|
+
- Paradox of choice → lower conversion
|
|
67
|
+
|
|
68
|
+
8. **Philosophy Integration Issues**
|
|
69
|
+
- First Principles section added but not woven throughout
|
|
70
|
+
- Feels tacked on rather than central
|
|
71
|
+
- Most readers won't read the deep dive link
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Part 2: User Journey & Conversion Funnel Analysis
|
|
76
|
+
|
|
77
|
+
### The Ideal Journey
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
AWARENESS → INTEREST → DESIRE → ACTION
|
|
81
|
+
↓ ↓ ↓ ↓
|
|
82
|
+
Problem "This is "I need Install
|
|
83
|
+
Resonance for me" this!" & Try
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Current Journey Breakdown
|
|
87
|
+
|
|
88
|
+
**Stage 1: Awareness (First 3 Seconds)**
|
|
89
|
+
- ✅ Logo creates credibility
|
|
90
|
+
- ❌ Tagline "Spec-Driven Development for the AI era" is too generic
|
|
91
|
+
- ❌ No immediate "aha moment"
|
|
92
|
+
- **Result**: Many bounce without reading further
|
|
93
|
+
|
|
94
|
+
**Stage 2: Interest (Next 15 Seconds)**
|
|
95
|
+
- ✅ Diff block shows problem/solution
|
|
96
|
+
- ⚠️ Problem statement is abstract ("too heavy or too light")
|
|
97
|
+
- ❌ Missing concrete examples of the pain
|
|
98
|
+
- **Result**: Some interest but not hooked
|
|
99
|
+
|
|
100
|
+
**Stage 3: Desire (Next 60 Seconds)**
|
|
101
|
+
- ⚠️ Features are listed but not connected to outcomes
|
|
102
|
+
- ❌ No social proof or validation
|
|
103
|
+
- ⚠️ First Principles exist but not integrated
|
|
104
|
+
- **Result**: Intellectually interesting but not emotionally compelling
|
|
105
|
+
|
|
106
|
+
**Stage 4: Action (Install Decision)**
|
|
107
|
+
- ✅ Quick Start is clear
|
|
108
|
+
- ❌ No clear "quick win" promised
|
|
109
|
+
- ❌ Unclear what happens after install
|
|
110
|
+
- **Result**: High friction to try
|
|
111
|
+
|
|
112
|
+
### Friction Points
|
|
113
|
+
|
|
114
|
+
1. **Cognitive Load**: Too much to process
|
|
115
|
+
2. **Unclear Differentiation**: Why not just use ADRs + Linear?
|
|
116
|
+
3. **Trust Gap**: No proof this works
|
|
117
|
+
4. **Effort Uncertainty**: How much work to adopt?
|
|
118
|
+
5. **Value Ambiguity**: What do I get for that effort?
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Part 3: Psychology & Persuasion Analysis
|
|
123
|
+
|
|
124
|
+
### What Makes Developer Tools Go Viral?
|
|
125
|
+
|
|
126
|
+
**Pattern Analysis from Successful Tools:**
|
|
127
|
+
|
|
128
|
+
1. **Vite**: "Next Generation Frontend Tooling" + instant server start demo
|
|
129
|
+
- **Hook**: Speed (instant vs. slow bundlers)
|
|
130
|
+
- **Proof**: Live demo you can see
|
|
131
|
+
|
|
132
|
+
2. **Cursor**: "The AI-first Code Editor"
|
|
133
|
+
- **Hook**: AI writes code for you
|
|
134
|
+
- **Proof**: Videos of it working
|
|
135
|
+
|
|
136
|
+
3. **Tailwind**: "Utility-first CSS framework"
|
|
137
|
+
- **Hook**: No more context switching
|
|
138
|
+
- **Proof**: Before/after code examples
|
|
139
|
+
|
|
140
|
+
4. **Zod**: "TypeScript-first schema validation"
|
|
141
|
+
- **Hook**: Type inference magic
|
|
142
|
+
- **Proof**: Code example shows the magic
|
|
143
|
+
|
|
144
|
+
**Common Success Patterns:**
|
|
145
|
+
- ✅ Single, clear superpower
|
|
146
|
+
- ✅ Instant "aha moment"
|
|
147
|
+
- ✅ Concrete before/after example
|
|
148
|
+
- ✅ Visual or executable proof
|
|
149
|
+
- ✅ Clear target audience
|
|
150
|
+
|
|
151
|
+
### Emotional Drivers for LeanSpec Adoption
|
|
152
|
+
|
|
153
|
+
**Pain Points to Activate:**
|
|
154
|
+
|
|
155
|
+
1. **AI Context Overflow** (HIGH PAIN)
|
|
156
|
+
- "I paste my spec and Cursor says 'context too large'"
|
|
157
|
+
- "AI hallucinate because my spec is 2000 lines"
|
|
158
|
+
- Emotional response: Frustration, wasted time
|
|
159
|
+
|
|
160
|
+
2. **Spec Staleness** (HIGH PAIN)
|
|
161
|
+
- "Our specs are always outdated"
|
|
162
|
+
- "Nobody maintains them because it's too painful"
|
|
163
|
+
- Emotional response: Guilt, resignation
|
|
164
|
+
|
|
165
|
+
3. **Process Overhead** (MEDIUM PAIN)
|
|
166
|
+
- "We tried RFC process but it's too heavy"
|
|
167
|
+
- "We tried just code but AI agents get lost"
|
|
168
|
+
- Emotional response: Seeking middle ground
|
|
169
|
+
|
|
170
|
+
4. **Team Alignment** (MEDIUM PAIN)
|
|
171
|
+
- "Engineers don't know what to build"
|
|
172
|
+
- "AI agents implement the wrong thing"
|
|
173
|
+
- Emotional response: Chaos, miscommunication
|
|
174
|
+
|
|
175
|
+
**Aspirations to Activate:**
|
|
176
|
+
|
|
177
|
+
1. **AI Superpowers** (HIGH DESIRE)
|
|
178
|
+
- "AI agents that implement full features"
|
|
179
|
+
- "Specs that don't need human clarification"
|
|
180
|
+
- Emotional response: Excitement, possibility
|
|
181
|
+
|
|
182
|
+
2. **Effortless Documentation** (HIGH DESIRE)
|
|
183
|
+
- "Docs that stay in sync with code"
|
|
184
|
+
- "Specs that are actually useful"
|
|
185
|
+
- Emotional response: Relief, satisfaction
|
|
186
|
+
|
|
187
|
+
3. **Team Efficiency** (MEDIUM DESIRE)
|
|
188
|
+
- "Everyone knows what to build"
|
|
189
|
+
- "New team members onboard fast"
|
|
190
|
+
- Emotional response: Pride, effectiveness
|
|
191
|
+
|
|
192
|
+
### Persuasion Principles to Apply
|
|
193
|
+
|
|
194
|
+
1. **Specificity Beats Abstraction**
|
|
195
|
+
- ❌ "Context Economy" → ⚠️ Jargon
|
|
196
|
+
- ✅ "Specs under 300 lines" → Concrete
|
|
197
|
+
- ✅ "Fits in AI context window" → Tangible benefit
|
|
198
|
+
|
|
199
|
+
2. **Contrast Creates Clarity**
|
|
200
|
+
- Show old way vs. new way
|
|
201
|
+
- 2000-line RFC vs. 250-line LeanSpec
|
|
202
|
+
- 30-minute spec writing vs. 5-minute
|
|
203
|
+
|
|
204
|
+
3. **Social Proof Removes Risk**
|
|
205
|
+
- "Used by X teams"
|
|
206
|
+
- "Y specs created"
|
|
207
|
+
- Testimonials from real users
|
|
208
|
+
|
|
209
|
+
4. **Progressive Commitment**
|
|
210
|
+
- Small first step (install + create one spec)
|
|
211
|
+
- Quick win (see it work)
|
|
212
|
+
- Deeper engagement (adopt for team)
|
|
213
|
+
|
|
214
|
+
5. **Authority Through Dogfooding**
|
|
215
|
+
- "Built using LeanSpec itself"
|
|
216
|
+
- "54+ specs, all under 400 lines"
|
|
217
|
+
- "We practice what we preach"
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Part 4: The "Aha Moment" Problem
|
|
222
|
+
|
|
223
|
+
### Current README's Aha Moment
|
|
224
|
+
**"Specs clear enough for AI agents to implement. Lean enough for humans to maintain."**
|
|
225
|
+
|
|
226
|
+
**Analysis:**
|
|
227
|
+
- ✅ Good contrast (AI + human)
|
|
228
|
+
- ⚠️ Requires mental work to imagine
|
|
229
|
+
- ❌ Not visceral or immediate
|
|
230
|
+
- ❌ No proof shown
|
|
231
|
+
|
|
232
|
+
### Better Aha Moments (Options)
|
|
233
|
+
|
|
234
|
+
**Option A: The Context Window Hook**
|
|
235
|
+
```
|
|
236
|
+
Your specs are too big for AI to read.
|
|
237
|
+
|
|
238
|
+
❌ Traditional RFC: 2,847 lines → Context overflow → AI hallucinates
|
|
239
|
+
✅ LeanSpec: 287 lines → Fits perfectly → AI implements correctly
|
|
240
|
+
|
|
241
|
+
Keep your specs under 300 lines. Give AI the full context.
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Why it works:**
|
|
245
|
+
- Concrete numbers
|
|
246
|
+
- Visual contrast
|
|
247
|
+
- Immediate pain → immediate solution
|
|
248
|
+
- Ties to AI era positioning
|
|
249
|
+
|
|
250
|
+
**Option B: The Maintenance Hook**
|
|
251
|
+
```
|
|
252
|
+
You know your docs are stale. We all do.
|
|
253
|
+
|
|
254
|
+
The problem isn't discipline. It's that traditional specs are:
|
|
255
|
+
• Too long to update (30+ pages)
|
|
256
|
+
• Too disconnected from code
|
|
257
|
+
• Too painful to maintain
|
|
258
|
+
|
|
259
|
+
LeanSpec: Short enough to update. Structured enough to enforce.
|
|
260
|
+
Lightweight enough to actually maintain.
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Why it works:**
|
|
264
|
+
- Addresses universal pain
|
|
265
|
+
- Empathetic tone
|
|
266
|
+
- Reframes from discipline to system design
|
|
267
|
+
- Promises relief
|
|
268
|
+
|
|
269
|
+
**Option C: The AI Superpower Hook**
|
|
270
|
+
```
|
|
271
|
+
Give AI the perfect spec. Get the perfect implementation.
|
|
272
|
+
|
|
273
|
+
When your spec is:
|
|
274
|
+
✅ Under 300 lines (fits in context)
|
|
275
|
+
✅ Intent-focused (not just implementation)
|
|
276
|
+
✅ Structured for machines (frontmatter + markdown)
|
|
277
|
+
|
|
278
|
+
AI agents can implement entire features with 90% accuracy.
|
|
279
|
+
|
|
280
|
+
This is SDD for the AI era.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Why it works:**
|
|
284
|
+
- Leads with aspiration (superpower)
|
|
285
|
+
- Concrete criteria
|
|
286
|
+
- Quantified outcome (90% accuracy)
|
|
287
|
+
- Positions for future
|
|
288
|
+
|
|
289
|
+
**Recommendation**: Combine A + C
|
|
290
|
+
- Lead with pain (context overflow)
|
|
291
|
+
- Promise superpower (AI implementation)
|
|
292
|
+
- Back with specifics (under 300 lines)
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Part 5: Audience Segmentation & Messaging
|
|
297
|
+
|
|
298
|
+
### Primary Audiences (Ranked by Fit)
|
|
299
|
+
|
|
300
|
+
**1. AI-First Developers (BEST FIT)**
|
|
301
|
+
- Use Cursor, Copilot, Aider daily
|
|
302
|
+
- Frustrated by AI context limits
|
|
303
|
+
- Want specs that AI can act on
|
|
304
|
+
- Solo or small team (2-5 people)
|
|
305
|
+
|
|
306
|
+
**Message:**
|
|
307
|
+
> "Stop fighting AI context limits. LeanSpec keeps specs under 300 lines—short enough for AI to read, clear enough for AI to implement."
|
|
308
|
+
|
|
309
|
+
**2. Engineering Leaders at Scaling Startups (HIGH FIT)**
|
|
310
|
+
- Tried heavyweight SDD (RFCs), too slow
|
|
311
|
+
- Tried no process, chaos at 10+ engineers
|
|
312
|
+
- Need middle ground
|
|
313
|
+
- Want team alignment without bureaucracy
|
|
314
|
+
|
|
315
|
+
**Message:**
|
|
316
|
+
> "SDD without the overhead. Start minimal (just status + created). Add structure as you scale. Used from solo dev to 50+ person teams."
|
|
317
|
+
|
|
318
|
+
**3. Teams Struggling with Stale Docs (MEDIUM FIT)**
|
|
319
|
+
- Have specs but nobody maintains them
|
|
320
|
+
- Docs always outdated
|
|
321
|
+
- Tried tools but gave up
|
|
322
|
+
- Need something lightweight
|
|
323
|
+
|
|
324
|
+
**Message:**
|
|
325
|
+
> "Specs you'll actually maintain. Under 300 lines per spec. 5 minutes to update. Stays in sync with code because it's not painful."
|
|
326
|
+
|
|
327
|
+
**4. AI Agent Developers (EMERGING FIT)**
|
|
328
|
+
- Building autonomous coding agents
|
|
329
|
+
- Need structured input format
|
|
330
|
+
- Want machine-readable specs
|
|
331
|
+
- MCP integration is key
|
|
332
|
+
|
|
333
|
+
**Message:**
|
|
334
|
+
> "MCP-native specs for AI agents. Structured frontmatter. Clear intent. Perfect for autonomous coding workflows."
|
|
335
|
+
|
|
336
|
+
### Anti-Audiences (Who This ISN'T For)
|
|
337
|
+
|
|
338
|
+
1. **Enterprise with Complex Compliance** → Need heavyweight docs
|
|
339
|
+
2. **API-Only Projects** → Use OpenAPI/code comments
|
|
340
|
+
3. **Documentation Maximalists** → Want comprehensive docs
|
|
341
|
+
4. **Teams Happy with Current Process** → No pain = no need
|
|
342
|
+
|
|
343
|
+
**Key Decision**: Focus messaging on Audience #1 (AI-First Developers) with secondary appeal to #2 (Engineering Leaders). This is 80% of potential users.
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Part 6: Structural Recommendations
|
|
348
|
+
|
|
349
|
+
### Proposed New Structure
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
1. HERO
|
|
353
|
+
- Hook (pain + promise)
|
|
354
|
+
- Visual proof (before/after)
|
|
355
|
+
- Primary CTA
|
|
356
|
+
|
|
357
|
+
2. THE PROBLEM (Why This Exists)
|
|
358
|
+
- 3 concrete pain points
|
|
359
|
+
- Each with example
|
|
360
|
+
|
|
361
|
+
3. THE SOLUTION (How It Works)
|
|
362
|
+
- Show, don't tell
|
|
363
|
+
- Actual spec example
|
|
364
|
+
- Highlight key principles
|
|
365
|
+
|
|
366
|
+
4. CORE PRINCIPLES (Philosophy)
|
|
367
|
+
- 5 first principles
|
|
368
|
+
- Each with 1-line explanation
|
|
369
|
+
- Visual/icon for each
|
|
370
|
+
|
|
371
|
+
5. HOW IT WORKS (Mechanics)
|
|
372
|
+
- Quick Start (install → create → view)
|
|
373
|
+
- 30-second demo
|
|
374
|
+
|
|
375
|
+
6. WHO'S USING IT (Social Proof)
|
|
376
|
+
- Usage stats
|
|
377
|
+
- Testimonials (if available)
|
|
378
|
+
- Dogfooding callout
|
|
379
|
+
|
|
380
|
+
7. QUICK WINS (Get Started)
|
|
381
|
+
- Single, clear CTA
|
|
382
|
+
- Promise quick result
|
|
383
|
+
|
|
384
|
+
8. LEARN MORE (For Deep Divers)
|
|
385
|
+
- Links to docs
|
|
386
|
+
- Links to examples
|
|
387
|
+
- Community
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
### Length Target
|
|
391
|
+
- Current: ~220 lines
|
|
392
|
+
- Target: ~180-200 lines (apply our own Signal-to-Noise principle!)
|
|
393
|
+
- Cut: Redundancy, weak examples, generic statements
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
**Continue to**: [ANALYSIS-PART2.md](ANALYSIS-PART2.md) for specific implementation recommendations, content rewrites, and success metrics.
|