@sureshdsk/devflow-mcp 3.0.0 → 3.0.1
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/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +4 -4
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/projects/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +2 -2
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/specs/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/specs/[name]/page.js +2 -2
- package/.next/standalone/.next/server/app/specs/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/specs/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0be0eb8b._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a9d478ee._.js → [root-of-the-server]__160c54ca._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17ac51e3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bb083e9._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dc1e944._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__22ecfa2c._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13a93eb6._.js → [root-of-the-server]__64710c0d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a2b7e5f2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf302bda._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d85482cd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dfa21757._.js +3 -0
- package/.next/standalone/.next/server/chunks/_3f452afe._.js +2 -2
- package/.next/standalone/.next/server/chunks/src_db_index_ts_a71f50f0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__023e2c69._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0a1a1435._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c49a387._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1be1fc5f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3a2f2efb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4693399c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__937c9212._.js → [root-of-the-server]__72a14301._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8064ca06._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b786d48._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8c052461._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8d306066._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9532fd59._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a119dd75._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7fb6ef14._.js → [root-of-the-server]__a57b312b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a80bd0ea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__abe095b3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ad3bd783._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1e05fe0e._.js → [root-of-the-server]__ae9f05d6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8781469._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8a25070._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e8c1e595._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ff3de19._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_01a5cd4b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_05c6819f._.js +31 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_06c2c30a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_09efe605._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_ef601841._.js → node_modules_0a439e3b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3507b41a._.js → node_modules_0e73ad6c._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0e7ff06d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0f73e25c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_14cf9cea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_19801f01._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_2235b8cf._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_23096c6d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_23db4cf7._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_24381e95._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_24ca0eb6._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_27525793._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_4cfa6360._.js → node_modules_27c20382._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_2c901b92._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_33b818b7._.js +45 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_345d7791._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_36185c24._.js +45 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_3ac7ce09._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_41b77cc7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed317ff6._.js → node_modules_42acd8db._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_434aa5ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_54a9e72d._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_54f1273a._.js +26 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_58d64491._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5e012e3d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5ea9e4cf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5ecf8270._.js +26 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_611c99b5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_d3-scale_src_e02ef77f._.js → node_modules_6629853d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_6fe2661c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_7fe65a84._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_860f971a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_882f3743._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_8e047938._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9268cdc4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_942541c9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9d52c0d6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@tanstack_query-core_build_modern_21ece5ea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ae6841d2._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ba280bb0._.js +31 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_bffdb8ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c00f1821._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c142ba86._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d1a47cde._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d9b454fe._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_dbe36b1d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ddbe26b7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e76b8bf2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e945b74d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_fbd8a2ee._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_31d456ba._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_e1edc676._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_33e24dce._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_159fba97._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_dbeeb277._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_a11916de._.js +9 -0
- package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_components_kanban-board_tsx_7b875e8e._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/AGENTS.md +13 -7
- package/.next/standalone/CONTRIBUTING.md +42 -26
- package/.next/standalone/README.md +166 -25
- package/.next/standalone/bin/devflow.js +12 -5
- package/.next/standalone/bun.lock +78 -24
- package/.next/standalone/devflow/project-config.json +4 -0
- package/.next/standalone/devflow/schemas/api-first/schema.yaml +39 -0
- package/.next/standalone/devflow/schemas/api-first/templates/api-design.md +41 -0
- package/.next/standalone/devflow/schemas/api-first/templates/db-design.md +28 -0
- package/.next/standalone/devflow/schemas/api-first/templates/final-architecture.md +31 -0
- package/.next/standalone/devflow/schemas/api-first/templates/proposal.md +22 -0
- package/.next/standalone/devflow/schemas/api-first/templates/tasks.md +16 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.approvals.json +1 -1
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.meta.json +1 -1
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/design.md +11 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/proposal.md +3 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/tasks.md +34 -2
- package/.next/standalone/devflow/specs/precommit/.approvals.json +26 -0
- package/.next/standalone/devflow/specs/precommit/.meta.json +7 -0
- package/.next/standalone/devflow/specs/precommit/design.md +105 -0
- package/.next/standalone/devflow/specs/precommit/proposal.md +43 -0
- package/.next/standalone/devflow/specs/precommit/specs.md +89 -0
- package/.next/standalone/devflow/specs/precommit/tasks.md +283 -0
- package/.next/standalone/docs/custom-schemas.md +117 -0
- package/.next/standalone/docs/local-dev-guide.md +73 -0
- package/.next/standalone/drizzle.config.ts +7 -7
- package/.next/standalone/eslint.config.mjs +2 -2
- package/.next/standalone/instrumentation.ts +3 -5
- package/.next/standalone/next.config.ts +11 -2
- package/.next/standalone/node_modules/{sharp → libsql}/node_modules/detect-libc/package.json +4 -8
- package/.next/standalone/package-lock.json +5257 -2085
- package/.next/standalone/package.json +16 -7
- package/.next/standalone/postcss.config.mjs +1 -1
- package/.next/standalone/scripts/init-db.js +3 -5
- package/.next/standalone/scripts/init-db.test.js +6 -6
- package/.next/standalone/scripts/init-schema.js +22 -22
- package/.next/standalone/scripts/init-schema.test.js +45 -45
- package/.next/standalone/scripts/install-environments.js +27 -8
- package/.next/standalone/scripts/install-environments.test.js +19 -10
- package/.next/standalone/scripts/install-skills.js +104 -31
- package/.next/standalone/scripts/install-skills.test.js +6 -6
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/app/api/agents/route.ts +2 -2
- package/.next/standalone/src/app/api/projects/[id]/route.ts +10 -19
- package/.next/standalone/src/app/api/projects/route.ts +4 -10
- package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
- package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
- package/.next/standalone/src/app/api/specs/[name]/promote/route.ts +17 -23
- package/.next/standalone/src/app/api/specs/[name]/route.ts +34 -36
- package/.next/standalone/src/app/api/specs/route.ts +10 -10
- package/.next/standalone/src/app/api/tasks/[id]/route.ts +11 -33
- package/.next/standalone/src/app/api/tasks/route.ts +3 -6
- package/.next/standalone/src/app/globals.css +3 -3
- package/.next/standalone/src/app/layout.tsx +9 -5
- package/.next/standalone/src/app/page.tsx +1 -1
- package/.next/standalone/src/app/specs/[name]/page.tsx +26 -68
- package/.next/standalone/src/components/kanban-board.tsx +78 -157
- package/.next/standalone/src/components/kanban-column.tsx +10 -12
- package/.next/standalone/src/components/markdown-preview.tsx +36 -19
- package/.next/standalone/src/components/providers.tsx +20 -0
- package/.next/standalone/src/components/specs/artifact-dag-status.tsx +12 -14
- package/.next/standalone/src/components/specs/artifact-editor.tsx +55 -26
- package/.next/standalone/src/components/specs/spec-detail.tsx +48 -40
- package/.next/standalone/src/components/specs/spec-kanban-column.tsx +49 -68
- package/.next/standalone/src/components/specs/spec-modal.tsx +119 -83
- package/.next/standalone/src/components/task-card.tsx +34 -38
- package/.next/standalone/src/components/task-dialog.tsx +16 -31
- package/.next/standalone/src/components/ui/badge.tsx +12 -18
- package/.next/standalone/src/components/ui/button.tsx +23 -28
- package/.next/standalone/src/components/ui/card.tsx +42 -62
- package/.next/standalone/src/components/ui/dialog.tsx +17 -35
- package/.next/standalone/src/db/index.ts +10 -10
- package/.next/standalone/src/db/schema.ts +37 -37
- package/.next/standalone/src/hooks/use-queries.ts +81 -0
- package/.next/standalone/src/hooks/use-websocket.ts +74 -0
- package/.next/standalone/src/lib/schema.test.ts +37 -37
- package/.next/standalone/src/lib/schema.ts +77 -31
- package/.next/standalone/src/lib/specs-dir.ts +8 -8
- package/.next/standalone/src/lib/specs.ts +98 -92
- package/.next/standalone/src/lib/utils.ts +2 -2
- package/.next/standalone/src/mcp/server.ts +556 -349
- package/.next/standalone/src/mcp/websocket.ts +26 -23
- package/.next/standalone/src/schemas/backend-api/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/backend-api/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/data-engineering/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/data-engineering/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/devops-platform/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/devops-platform/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/frontend-product/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/frontend-product/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/spec-driven/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/spec-driven/templates/tasks.md +26 -0
- package/.next/standalone/src/websocket/server.ts +20 -18
- package/.next/standalone/tsconfig.json +3 -12
- package/.next/standalone/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/4f23f64d46848f57.js +1 -0
- package/.next/static/chunks/53081dcdcad4f31e.js +1 -0
- package/.next/static/chunks/{6a3d582315f1c214.js → 701cfcbb41e0ab47.js} +1 -1
- package/.next/static/chunks/ac4b6b4d5b7e486e.css +1 -0
- package/.next/static/chunks/d0309ea872db5d9f.js +1 -0
- package/.next/static/chunks/d4cf8893a018e965.js +1 -0
- package/.next/static/chunks/e6c0233269a4bd69.js +13 -0
- package/.next/static/chunks/{7e65cfa9841f66a5.js → e7d83ce855afe416.js} +2 -2
- package/.next/static/chunks/ee7035560fc9e5e9.js +1 -0
- package/.next/static/chunks/{turbopack-f4d3806ab575051d.js → turbopack-8b3b66a22a5e0fb4.js} +2 -2
- package/README.md +166 -25
- package/bin/devflow.js +12 -5
- package/drizzle.config.ts +7 -7
- package/next.config.ts +11 -2
- package/package.json +16 -7
- package/scripts/init-db.js +3 -5
- package/scripts/init-db.test.js +6 -6
- package/scripts/init-schema.js +22 -22
- package/scripts/init-schema.test.js +45 -45
- package/scripts/install-environments.js +27 -8
- package/scripts/install-environments.test.js +19 -10
- package/scripts/install-skills.js +104 -31
- package/scripts/install-skills.test.js +6 -6
- package/src/app/api/agents/route.ts +2 -2
- package/src/app/api/projects/[id]/route.ts +10 -19
- package/src/app/api/projects/route.ts +4 -10
- package/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
- package/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
- package/src/app/api/specs/[name]/promote/route.ts +17 -23
- package/src/app/api/specs/[name]/route.ts +34 -36
- package/src/app/api/specs/route.ts +10 -10
- package/src/app/api/tasks/[id]/route.ts +11 -33
- package/src/app/api/tasks/route.ts +3 -6
- package/src/app/globals.css +3 -3
- package/src/app/layout.tsx +9 -5
- package/src/app/page.tsx +1 -1
- package/src/app/specs/[name]/page.tsx +26 -68
- package/src/components/kanban-board.tsx +78 -157
- package/src/components/kanban-column.tsx +10 -12
- package/src/components/markdown-preview.tsx +36 -19
- package/src/components/providers.tsx +20 -0
- package/src/components/specs/artifact-dag-status.tsx +12 -14
- package/src/components/specs/artifact-editor.tsx +55 -26
- package/src/components/specs/spec-detail.tsx +48 -40
- package/src/components/specs/spec-kanban-column.tsx +49 -68
- package/src/components/specs/spec-modal.tsx +119 -83
- package/src/components/task-card.tsx +34 -38
- package/src/components/task-dialog.tsx +16 -31
- package/src/components/ui/badge.tsx +12 -18
- package/src/components/ui/button.tsx +23 -28
- package/src/components/ui/card.tsx +42 -62
- package/src/components/ui/dialog.tsx +17 -35
- package/src/db/index.ts +10 -10
- package/src/db/schema.ts +37 -37
- package/src/hooks/use-queries.ts +81 -0
- package/src/hooks/use-websocket.ts +74 -0
- package/src/lib/schema.test.ts +37 -37
- package/src/lib/schema.ts +77 -31
- package/src/lib/specs-dir.ts +8 -8
- package/src/lib/specs.ts +98 -92
- package/src/lib/utils.ts +2 -2
- package/src/mcp/server.ts +556 -349
- package/src/mcp/websocket.ts +26 -23
- package/src/schemas/backend-api/templates/proposal.md +6 -4
- package/src/schemas/backend-api/templates/tasks.md +6 -0
- package/src/schemas/data-engineering/templates/proposal.md +6 -4
- package/src/schemas/data-engineering/templates/tasks.md +6 -0
- package/src/schemas/devops-platform/templates/proposal.md +6 -4
- package/src/schemas/devops-platform/templates/tasks.md +6 -0
- package/src/schemas/frontend-product/templates/proposal.md +6 -4
- package/src/schemas/frontend-product/templates/tasks.md +6 -0
- package/src/schemas/spec-driven/templates/proposal.md +6 -4
- package/src/schemas/spec-driven/templates/tasks.md +26 -0
- package/src/types/bun-sqlite.d.ts +1 -1
- package/src/websocket/server.ts +20 -18
- package/tsconfig.json +3 -12
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1be4e4b6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__492a4a24._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c59ae1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6cc7aecd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__83a77b07._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__88d91cb5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9e095e8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b367d327._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb413bbc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b8c072a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2191f._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15316462._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19c9c409._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19e5e22f._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__25b5ccb3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2f78c3da._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3160b3f4._.js +0 -9
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__319559be._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__34f7cbcb._.js +0 -31
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3abab94b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3b3d8930._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4250799b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4c29cbc3._.js +0 -26
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4e0bb6eb._.js +0 -9
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__5678d2e3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__673445e0._.js +0 -31
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__934de06b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9b6c6f09._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a1b83a98._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b00a15c5._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8567be3._.js +0 -26
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce64536e._.js +0 -45
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e96d33d2._.js +0 -45
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fd7ec054._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_16a3f9e7._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_45bce0e1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5e5a372d._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_6ece6f1e._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d173e749._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d3-shape_src_arc_fb1ac087.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1f73a830._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_663ac803._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_4f485529._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_8436a62a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_f78d2dc4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_app_layout_tsx_cc8184fa._.js +0 -3
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/.approvals.json +0 -26
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/.meta.json +0 -8
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/design.md +0 -126
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/proposal.md +0 -65
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/specs.md +0 -107
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/tasks.md +0 -235
- package/.next/standalone/devflow/specs/test-no-project/.approvals.json +0 -17
- package/.next/standalone/devflow/specs/test-no-project/.meta.json +0 -6
- package/.next/standalone/devflow/specs/ui-cleanup/.approvals.json +0 -29
- package/.next/standalone/devflow/specs/ui-cleanup/.meta.json +0 -6
- package/.next/standalone/devflow/specs/ui-cleanup/design.md +0 -49
- package/.next/standalone/devflow/specs/ui-cleanup/proposal.md +0 -34
- package/.next/standalone/devflow/specs/ui-cleanup/specs.md +0 -55
- package/.next/standalone/devflow/specs/ui-cleanup/tasks.md +0 -28
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -45
- package/.next/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +0 -220
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
- package/.next/standalone/node_modules/buffer-from/index.js +0 -72
- package/.next/standalone/node_modules/buffer-from/package.json +0 -19
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/elf.js +0 -39
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/process.js +0 -24
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
- package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
- package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
- package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
- package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
- package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
- package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
- package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
- package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
- package/.next/standalone/node_modules/source-map/package.json +0 -73
- package/.next/standalone/node_modules/source-map/source-map.js +0 -8
- package/.next/standalone/node_modules/source-map-support/LICENSE.md +0 -21
- package/.next/standalone/node_modules/source-map-support/README.md +0 -284
- package/.next/standalone/node_modules/source-map-support/browser-source-map-support.js +0 -114
- package/.next/standalone/node_modules/source-map-support/package.json +0 -31
- package/.next/standalone/node_modules/source-map-support/register-hook-require.js +0 -1
- package/.next/standalone/node_modules/source-map-support/register.js +0 -1
- package/.next/standalone/node_modules/source-map-support/source-map-support.js +0 -625
- package/.next/standalone/node_modules/typescript/lib/_tsc.js +0 -133818
- package/.next/standalone/node_modules/typescript/lib/_tsserver.js +0 -659
- package/.next/standalone/node_modules/typescript/lib/_typingsInstaller.js +0 -222
- package/.next/standalone/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/tsc.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/tsserver.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/tsserverlibrary.js +0 -21
- package/.next/standalone/node_modules/typescript/lib/typesMap.json +0 -497
- package/.next/standalone/node_modules/typescript/lib/typescript.js +0 -200276
- package/.next/standalone/node_modules/typescript/lib/typingsInstaller.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/watchGuard.js +0 -53
- package/.next/standalone/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/package.json +0 -120
- package/.next/standalone/src/components/ui/collapsible.tsx +0 -12
- package/.next/standalone/src/components/ui/sheet.tsx +0 -130
- package/.next/standalone/src/components/ui/tabs.tsx +0 -58
- package/.next/static/chunks/0177331b8adf7346.js +0 -7
- package/.next/static/chunks/06af74e2f3e207c5.js +0 -7
- package/.next/static/chunks/1748d5cd2443723b.css +0 -1
- package/.next/static/chunks/7ae917cb100be2b9.js +0 -7
- package/.next/static/chunks/7c4b901b394c3a8c.js +0 -7
- package/src/components/ui/collapsible.tsx +0 -12
- package/src/components/ui/sheet.tsx +0 -130
- package/src/components/ui/tabs.tsx +0 -58
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/detect-libc.js +0 -0
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/filesystem.js +0 -0
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/process.js +0 -0
- /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_buildManifest.js +0 -0
- /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_ssgManifest.js +0 -0
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
# Tasks: Add Default Schema Template Selection and Team-Oriented Templates
|
|
2
|
-
|
|
3
|
-
## How To Use This File
|
|
4
|
-
- Create one task card per meaningful unit of delivery.
|
|
5
|
-
- Keep tasks dependency-ordered and independently executable where possible.
|
|
6
|
-
- Every task card must include enough context that a new agent can execute it without re-discovery work.
|
|
7
|
-
- Replace all placeholders before implementation starts.
|
|
8
|
-
|
|
9
|
-
## 1. Delivery Overview
|
|
10
|
-
|
|
11
|
-
### 1.1 Objective
|
|
12
|
-
Deliver four built-in schema templates (frontend, backend, data engineering, devops), add schema selection to `devflow init`, persist the selected default per project, and ensure new specs use that default while preserving custom template compatibility.
|
|
13
|
-
|
|
14
|
-
### 1.2 In-Scope Outcomes
|
|
15
|
-
- Built-in template registry and assets for four team-oriented defaults.
|
|
16
|
-
- Interactive and non-interactive `devflow init` schema selection behavior.
|
|
17
|
-
- Project default schema persistence and spec-creation integration.
|
|
18
|
-
|
|
19
|
-
### 1.3 Non-Goals
|
|
20
|
-
- Auto-migrating existing specs to new template structures.
|
|
21
|
-
- Template marketplace/download support.
|
|
22
|
-
|
|
23
|
-
### 1.4 Global Constraints
|
|
24
|
-
- Existing projects and custom templates must remain backward compatible.
|
|
25
|
-
- Selection behavior must be deterministic in non-interactive environments.
|
|
26
|
-
|
|
27
|
-
### 1.5 Shared References
|
|
28
|
-
- Proposal: `devflow/specs/add-default-schema-template-selection/proposal.md`
|
|
29
|
-
- Design: `devflow/specs/add-default-schema-template-selection/design.md`
|
|
30
|
-
- Specs: `devflow/specs/add-default-schema-template-selection/specs.md`
|
|
31
|
-
- Additional docs/code:
|
|
32
|
-
- `scripts/init-db.js`
|
|
33
|
-
- `src/lib/schema.ts`
|
|
34
|
-
|
|
35
|
-
## 2. Task Cards
|
|
36
|
-
|
|
37
|
-
**Execution Plan**
|
|
38
|
-
|
|
39
|
-
Inspect current schema template layout and loader logic, add four built-in template sets and metadata IDs, extend registry/discovery to include built-ins and custom templates with conflict validation, add unit tests, run targeted tests, update task summary, and check out.
|
|
40
|
-
|
|
41
|
-
### 2.1 Task: Add built-in schema template assets and registry support
|
|
42
|
-
- [ ] **Status**
|
|
43
|
-
- **Task ID:** `T1`
|
|
44
|
-
- **Owner Type:** `agent`
|
|
45
|
-
- **Priority:** `P0`
|
|
46
|
-
- **Depends On:** `none`
|
|
47
|
-
|
|
48
|
-
**Goal**
|
|
49
|
-
Introduce four built-in schema templates and expose them through a registry/discovery mechanism used by init and spec creation flows.
|
|
50
|
-
|
|
51
|
-
**Context**
|
|
52
|
-
Template assets and IDs are the foundation for selection and persistence behavior. IDs must be stable and validated.
|
|
53
|
-
|
|
54
|
-
**Scope**
|
|
55
|
-
- In scope:
|
|
56
|
-
- Add built-in template assets for `frontend-product`, `backend-api`, `data-engineering`, `devops-platform`.
|
|
57
|
-
- Implement template registry listing built-in plus custom templates.
|
|
58
|
-
- Add validation for template ID conflicts and unknown IDs.
|
|
59
|
-
- Out of scope:
|
|
60
|
-
- CLI prompt and persistence flow.
|
|
61
|
-
|
|
62
|
-
**Implementation Targets**
|
|
63
|
-
- Files to create/update:
|
|
64
|
-
- schema template directories/files under `src/schemas/`
|
|
65
|
-
- schema/template registry loader in `src/lib/schema.ts` (or equivalent)
|
|
66
|
-
- Public interfaces or contracts affected:
|
|
67
|
-
- template registry/listing functions
|
|
68
|
-
- template metadata shape
|
|
69
|
-
|
|
70
|
-
**Execution Steps**
|
|
71
|
-
1. Add four built-in template definitions and artifact templates.
|
|
72
|
-
2. Update registry loader to return built-ins and discovered custom templates.
|
|
73
|
-
3. Add unit tests for registry contents, conflict handling, and lookup behavior.
|
|
74
|
-
|
|
75
|
-
**Validation**
|
|
76
|
-
- Automated tests to add/update:
|
|
77
|
-
- schema registry unit tests
|
|
78
|
-
- Commands to run:
|
|
79
|
-
- project test command for schema library/tests
|
|
80
|
-
- lint/typecheck command
|
|
81
|
-
- Manual checks:
|
|
82
|
-
- verify registry output includes all four built-ins with expected IDs
|
|
83
|
-
|
|
84
|
-
**Acceptance Criteria**
|
|
85
|
-
- Registry reliably exposes all four built-in templates.
|
|
86
|
-
- Unknown/conflicting IDs produce actionable errors.
|
|
87
|
-
|
|
88
|
-
**Risks and Mitigations**
|
|
89
|
-
- Risk: ID collisions with custom templates.
|
|
90
|
-
- Mitigation: fail fast with explicit conflict message and resolution guidance.
|
|
91
|
-
|
|
92
|
-
**Handoff Notes**
|
|
93
|
-
Document final template IDs and metadata contract for init flow integration.
|
|
94
|
-
|
|
95
|
-
**Task Summary**
|
|
96
|
-
- Completed: no
|
|
97
|
-
- What was done: N/A
|
|
98
|
-
- Files changed: N/A
|
|
99
|
-
- Issues encountered: N/A
|
|
100
|
-
- Follow-ups: N/A
|
|
101
|
-
**Execution Plan**
|
|
102
|
-
|
|
103
|
-
Inspect current init flow and project metadata persistence paths, add schema selection strategy for init (explicit flag, existing default, prompt/fallback), persist default schema at project level, add tests for explicit and non-interactive behavior, update task summary, and check out.
|
|
104
|
-
|
|
105
|
-
### 2.2 Task: Implement init-time schema selection and default persistence
|
|
106
|
-
- [ ] **Status**
|
|
107
|
-
- **Task ID:** `T2`
|
|
108
|
-
- **Owner Type:** `agent`
|
|
109
|
-
- **Priority:** `P0`
|
|
110
|
-
- **Depends On:** `T1`
|
|
111
|
-
|
|
112
|
-
**Goal**
|
|
113
|
-
Add schema template selection during `devflow init`, support non-interactive behavior, and persist project default schema.
|
|
114
|
-
|
|
115
|
-
**Context**
|
|
116
|
-
Selection logic must be precedence-driven and deterministic: explicit flag > existing default > interactive prompt > documented fallback/error.
|
|
117
|
-
|
|
118
|
-
**Scope**
|
|
119
|
-
- In scope:
|
|
120
|
-
- Add init selection prompt and option parsing.
|
|
121
|
-
- Add `--schema <id>` handling for non-interactive/explicit selection.
|
|
122
|
-
- Persist selected default schema in project config/metadata.
|
|
123
|
-
- Out of scope:
|
|
124
|
-
- Spec-creation default usage integration.
|
|
125
|
-
|
|
126
|
-
**Implementation Targets**
|
|
127
|
-
- Files to create/update:
|
|
128
|
-
- `bin/devflow.js` init command logic
|
|
129
|
-
- init orchestration scripts (`scripts/init-db.js` and related config persistence code)
|
|
130
|
-
- Public interfaces or contracts affected:
|
|
131
|
-
- init CLI options/help output
|
|
132
|
-
- project metadata schema/default field
|
|
133
|
-
|
|
134
|
-
**Execution Steps**
|
|
135
|
-
1. Add schema selection strategy and prompt flow to `devflow init`.
|
|
136
|
-
2. Implement persistence of selected/default schema ID.
|
|
137
|
-
3. Add tests for interactive path (mocked), explicit flag path, and non-interactive fallback behavior.
|
|
138
|
-
|
|
139
|
-
**Validation**
|
|
140
|
-
- Automated tests to add/update:
|
|
141
|
-
- init flow tests for schema selection and persistence
|
|
142
|
-
- Commands to run:
|
|
143
|
-
- relevant test commands
|
|
144
|
-
- CLI help command
|
|
145
|
-
- Manual checks:
|
|
146
|
-
- run `devflow init` interactively and verify selected template is confirmed in output
|
|
147
|
-
|
|
148
|
-
**Acceptance Criteria**
|
|
149
|
-
- `devflow init` can set default schema through prompt or explicit flag.
|
|
150
|
-
- Non-interactive behavior is deterministic and documented.
|
|
151
|
-
|
|
152
|
-
**Risks and Mitigations**
|
|
153
|
-
- Risk: init prompts break automation scripts.
|
|
154
|
-
- Mitigation: explicit `--schema` non-interactive path and clear fallback errors.
|
|
155
|
-
|
|
156
|
-
**Handoff Notes**
|
|
157
|
-
Provide persisted config key and location details for spec creation integration.
|
|
158
|
-
|
|
159
|
-
**Task Summary**
|
|
160
|
-
- Completed: no
|
|
161
|
-
- What was done: N/A
|
|
162
|
-
- Files changed: N/A
|
|
163
|
-
- Issues encountered: N/A
|
|
164
|
-
- Follow-ups: N/A
|
|
165
|
-
### 2.3 Task: Apply project default schema to spec creation and update docs
|
|
166
|
-
- [ ] **Status**
|
|
167
|
-
- **Task ID:** `T3`
|
|
168
|
-
- **Owner Type:** `agent`
|
|
169
|
-
- **Priority:** `P1`
|
|
170
|
-
- **Depends On:** `T2`
|
|
171
|
-
|
|
172
|
-
**Goal**
|
|
173
|
-
Ensure spec creation uses project default schema by default, preserving explicit override precedence, and update user-facing docs/help.
|
|
174
|
-
|
|
175
|
-
**Context**
|
|
176
|
-
This task closes the loop from template selection to runtime behavior in spec workflows.
|
|
177
|
-
|
|
178
|
-
**Scope**
|
|
179
|
-
- In scope:
|
|
180
|
-
- Integrate default schema resolution into spec creation flow.
|
|
181
|
-
- Preserve explicit schema override precedence.
|
|
182
|
-
- Update docs/help with template IDs and init usage examples.
|
|
183
|
-
- Out of scope:
|
|
184
|
-
- UI redesign beyond required messaging updates.
|
|
185
|
-
|
|
186
|
-
**Implementation Targets**
|
|
187
|
-
- Files to create/update:
|
|
188
|
-
- spec creation logic (e.g., `src/lib/specs.ts`, API routes)
|
|
189
|
-
- docs/help text (`README.md`, CLI help output)
|
|
190
|
-
- Public interfaces or contracts affected:
|
|
191
|
-
- spec creation default schema behavior
|
|
192
|
-
|
|
193
|
-
**Execution Steps**
|
|
194
|
-
1. Read project default schema when creating new specs.
|
|
195
|
-
2. Keep explicit per-spec schema override as highest precedence.
|
|
196
|
-
3. Add regression tests and update documentation/examples.
|
|
197
|
-
|
|
198
|
-
**Validation**
|
|
199
|
-
- Automated tests to add/update:
|
|
200
|
-
- spec creation tests for default/override behavior
|
|
201
|
-
- Commands to run:
|
|
202
|
-
- full relevant test suite
|
|
203
|
-
- lint/typecheck command
|
|
204
|
-
- Manual checks:
|
|
205
|
-
- create specs with and without schema override and verify resolved templates
|
|
206
|
-
|
|
207
|
-
**Acceptance Criteria**
|
|
208
|
-
- New specs use project default template when no override is given.
|
|
209
|
-
- Explicit override still selects the requested template.
|
|
210
|
-
- Docs clearly explain template selection and custom-template compatibility.
|
|
211
|
-
|
|
212
|
-
**Risks and Mitigations**
|
|
213
|
-
- Risk: regression in existing spec creation defaults.
|
|
214
|
-
- Mitigation: add regression tests for legacy/no-default paths.
|
|
215
|
-
|
|
216
|
-
**Handoff Notes**
|
|
217
|
-
Capture any migration or release-note caveats if defaults impact existing onboarding behavior.
|
|
218
|
-
|
|
219
|
-
**Task Summary**
|
|
220
|
-
- Completed: no
|
|
221
|
-
- What was done: N/A
|
|
222
|
-
- Files changed: N/A
|
|
223
|
-
- Issues encountered: N/A
|
|
224
|
-
- Follow-ups: N/A
|
|
225
|
-
|
|
226
|
-
## 3. Cross-Task Verification
|
|
227
|
-
- [ ] End-to-end behavior matches `specs.md` requirements and scenarios.
|
|
228
|
-
- [ ] All affected tests are updated and passing.
|
|
229
|
-
- [ ] User-facing docs and command help are updated where behavior changed.
|
|
230
|
-
- [ ] Rollback path is documented for risky changes.
|
|
231
|
-
|
|
232
|
-
## 4. Completion Gate
|
|
233
|
-
- [ ] All task cards are checked complete.
|
|
234
|
-
- [ ] Spec validation command passes for `add-default-schema-template-selection`.
|
|
235
|
-
- [ ] Implementation summary and follow-up items are recorded in handoff notes.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"artifacts": {
|
|
4
|
-
"proposal": {
|
|
5
|
-
"state": "approved",
|
|
6
|
-
"approvedAt": "2026-02-23T16:05:18.545Z",
|
|
7
|
-
"contentHash": "1db474c909255286bfcc0c8d3b794472ae9a9f8a3183e5fa5c1b13c36b581f90",
|
|
8
|
-
"approvedBy": "human"
|
|
9
|
-
},
|
|
10
|
-
"specs": {
|
|
11
|
-
"state": "approved",
|
|
12
|
-
"approvedAt": "2026-02-23T16:08:36.862Z",
|
|
13
|
-
"contentHash": "0094b2e2327556f9a97ed64528b2ef383e92fd873681637572e3c446d65c03e5",
|
|
14
|
-
"approvedBy": "human"
|
|
15
|
-
},
|
|
16
|
-
"design": {
|
|
17
|
-
"state": "approved",
|
|
18
|
-
"approvedAt": "2026-02-23T16:09:50.272Z",
|
|
19
|
-
"contentHash": "c0f39256b0bde4a444df47388c3961938d16e85f66b59cad1ccedcb082345dc8",
|
|
20
|
-
"approvedBy": "human"
|
|
21
|
-
},
|
|
22
|
-
"tasks": {
|
|
23
|
-
"state": "approved",
|
|
24
|
-
"approvedAt": "2026-02-23T16:15:18.599Z",
|
|
25
|
-
"contentHash": "10e034a7dc945c72080bd2012f37a458a707f0b59abf7115ed29a2393641ca80",
|
|
26
|
-
"approvedBy": "human"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Design: UI Cleanup
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This change removes manual project/task creation paths from user-accessible UI and API layers while preserving agent-driven creation flows. The implementation is subtractive: remove controls, remove (or hard-disable) direct-create endpoints, and clean related references.
|
|
6
|
-
|
|
7
|
-
## Architecture
|
|
8
|
-
|
|
9
|
-
- Frontend: remove `Create Project` and `Create Task` action controls from relevant screens/components.
|
|
10
|
-
- Frontend state/actions: remove client calls tied to direct-create endpoints and any UI wiring for those actions.
|
|
11
|
-
- Backend/API: remove route handlers (or return explicit rejection) for direct project/task creation endpoints exposed for manual usage.
|
|
12
|
-
- Agent workflow boundary: keep agent creation mechanisms intact through existing agent tool routes/services.
|
|
13
|
-
|
|
14
|
-
Interaction after change:
|
|
15
|
-
- User UI no longer provides create-project/task actions.
|
|
16
|
-
- Client cannot call removed manual create endpoints through existing UI flows.
|
|
17
|
-
- Agent workflows continue to create projects/tasks through approved internal path.
|
|
18
|
-
|
|
19
|
-
## Data Model Changes
|
|
20
|
-
|
|
21
|
-
No database schema changes are required.
|
|
22
|
-
|
|
23
|
-
## API Changes
|
|
24
|
-
|
|
25
|
-
- Remove or disable direct project creation endpoint currently used by manual UI creation flow.
|
|
26
|
-
- Remove or disable direct task creation endpoint currently used by manual UI creation flow.
|
|
27
|
-
- If endpoints are disabled instead of deleted, return a clear non-success response (for example, 404 or 403 based on service policy) and document behavior.
|
|
28
|
-
|
|
29
|
-
## Implementation Notes
|
|
30
|
-
|
|
31
|
-
- Remove all visible entry points, including toolbar buttons, empty-state CTAs, and context-menu actions.
|
|
32
|
-
- Remove dead code paths after button/API removal (hooks, action creators, service methods, tests referencing old manual flow).
|
|
33
|
-
- Ensure no broken navigation or dangling click handlers remain.
|
|
34
|
-
- Preserve any internal/agent-only service paths used by MCP/agent workflows.
|
|
35
|
-
- If external clients depend on removed endpoints, note this as a breaking change in release notes/changelog.
|
|
36
|
-
|
|
37
|
-
## Testing Strategy
|
|
38
|
-
|
|
39
|
-
- UI tests:
|
|
40
|
-
- Verify projects UI renders without `Create Project` action.
|
|
41
|
-
- Verify tasks UI renders without `Create Task` action.
|
|
42
|
-
- Verify layouts remain stable after control removal.
|
|
43
|
-
- API tests:
|
|
44
|
-
- Verify former direct-create project route is unavailable/rejected.
|
|
45
|
-
- Verify former direct-create task route is unavailable/rejected.
|
|
46
|
-
- Integration tests:
|
|
47
|
-
- Verify agent-driven project/task creation still succeeds.
|
|
48
|
-
- Regression checks:
|
|
49
|
-
- Search for stale references to removed create actions/routes and confirm none remain in active code paths.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Proposal: UI Cleanup
|
|
2
|
-
|
|
3
|
-
## Problem Statement
|
|
4
|
-
|
|
5
|
-
The UI currently exposes `Create Project` and `Create Task` actions, and corresponding API endpoints are still available for manual creation flows that should be restricted to agent-only operations.
|
|
6
|
-
|
|
7
|
-
## Proposed Solution
|
|
8
|
-
|
|
9
|
-
Remove `Create Project` and `Create Task` entry points from the UI and remove the related public API endpoints for direct project/task creation. Creation will remain available only through agent-driven workflows.
|
|
10
|
-
|
|
11
|
-
## Scope
|
|
12
|
-
|
|
13
|
-
### In Scope
|
|
14
|
-
- Remove `Create Project` button from UI surfaces where it is currently shown.
|
|
15
|
-
- Remove `Create Task` button from UI surfaces where it is currently shown.
|
|
16
|
-
- Remove relevant API endpoints for direct project/task creation.
|
|
17
|
-
- Ensure UI states and layout remain clean after button removal.
|
|
18
|
-
|
|
19
|
-
### Out of Scope
|
|
20
|
-
- Changes to core agent-side creation workflows.
|
|
21
|
-
- Broader UI restyling unrelated to these controls/endpoints.
|
|
22
|
-
|
|
23
|
-
## Success Criteria
|
|
24
|
-
|
|
25
|
-
- `Create Project` is no longer visible in the UI.
|
|
26
|
-
- `Create Task` is no longer visible in the UI.
|
|
27
|
-
- Direct create project/task API endpoints are removed or disabled.
|
|
28
|
-
- No broken layouts or dead UI references remain where buttons were removed.
|
|
29
|
-
|
|
30
|
-
## Risks & Assumptions
|
|
31
|
-
|
|
32
|
-
- Risk: Hidden alternate UI entry points might still expose creation actions.
|
|
33
|
-
- Risk: External consumers may rely on removed create endpoints.
|
|
34
|
-
- Assumption: Agent workflows already support all required project/task creation use cases.
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Specifications: UI Cleanup
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This spec removes manual project/task creation capabilities from user-facing surfaces. The UI must no longer expose creation controls, and direct API routes for creating projects/tasks must be removed or disabled. Project/task creation is restricted to agent workflows.
|
|
6
|
-
|
|
7
|
-
### Requirement: Remove Project Creation UI Entry Point
|
|
8
|
-
|
|
9
|
-
**SHALL** remove any user-facing `Create Project` control from the application UI.
|
|
10
|
-
|
|
11
|
-
#### Scenario: Projects page controls
|
|
12
|
-
|
|
13
|
-
**Given** a user opens the projects interface
|
|
14
|
-
**When** the page renders available actions
|
|
15
|
-
**Then** no `Create Project` button or equivalent create-project trigger is visible
|
|
16
|
-
|
|
17
|
-
### Requirement: Remove Task Creation UI Entry Point
|
|
18
|
-
|
|
19
|
-
**SHALL** remove any user-facing `Create Task` control from the application UI.
|
|
20
|
-
|
|
21
|
-
#### Scenario: Tasks page controls
|
|
22
|
-
|
|
23
|
-
**Given** a user opens the tasks interface
|
|
24
|
-
**When** the page renders available actions
|
|
25
|
-
**Then** no `Create Task` button or equivalent create-task trigger is visible
|
|
26
|
-
|
|
27
|
-
### Requirement: Remove Direct Create Project API Endpoint
|
|
28
|
-
|
|
29
|
-
**SHALL** remove or disable the direct API endpoint used for manual project creation.
|
|
30
|
-
|
|
31
|
-
#### Scenario: Direct project creation request
|
|
32
|
-
|
|
33
|
-
**Given** a client attempts to call the previous project-creation API route
|
|
34
|
-
**When** the request is processed
|
|
35
|
-
**Then** the route is unavailable or rejects the request per implementation policy
|
|
36
|
-
|
|
37
|
-
### Requirement: Remove Direct Create Task API Endpoint
|
|
38
|
-
|
|
39
|
-
**SHALL** remove or disable the direct API endpoint used for manual task creation.
|
|
40
|
-
|
|
41
|
-
#### Scenario: Direct task creation request
|
|
42
|
-
|
|
43
|
-
**Given** a client attempts to call the previous task-creation API route
|
|
44
|
-
**When** the request is processed
|
|
45
|
-
**Then** the route is unavailable or rejects the request per implementation policy
|
|
46
|
-
|
|
47
|
-
### Requirement: Preserve Agent-Driven Creation Workflows
|
|
48
|
-
|
|
49
|
-
**SHALL** keep agent-driven project/task creation workflows functional.
|
|
50
|
-
|
|
51
|
-
#### Scenario: Agent creates project/task
|
|
52
|
-
|
|
53
|
-
**Given** an agent workflow invokes supported creation tools
|
|
54
|
-
**When** the workflow executes creation operations
|
|
55
|
-
**Then** project and task creation completes successfully without using removed UI controls or removed direct-create endpoints
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Tasks: UI Cleanup
|
|
2
|
-
|
|
3
|
-
## Task: Remove create project/task controls from UI
|
|
4
|
-
Priority: high
|
|
5
|
-
Remove all user-facing `Create Project` and `Create Task` controls from projects/tasks screens, including toolbar buttons, empty-state CTAs, and menu entries.
|
|
6
|
-
|
|
7
|
-
Acceptance notes:
|
|
8
|
-
- UI no longer renders create controls for projects or tasks.
|
|
9
|
-
- Related click handlers, hooks, and dead references are removed.
|
|
10
|
-
- Layouts remain stable after control removal.
|
|
11
|
-
|
|
12
|
-
## Task: Remove direct manual create API endpoints
|
|
13
|
-
Priority: high
|
|
14
|
-
Remove or disable direct API endpoints used for manual project and task creation from the UI-facing API surface.
|
|
15
|
-
|
|
16
|
-
Acceptance notes:
|
|
17
|
-
- Former direct create-project route is unavailable or explicitly rejected.
|
|
18
|
-
- Former direct create-task route is unavailable or explicitly rejected.
|
|
19
|
-
- Route registration and API tests are updated accordingly.
|
|
20
|
-
|
|
21
|
-
## Task: Verify agent-driven project/task creation still works
|
|
22
|
-
Priority: high
|
|
23
|
-
Validate that MCP/agent workflows can still create projects and tasks after UI controls and manual endpoints are removed.
|
|
24
|
-
|
|
25
|
-
Acceptance notes:
|
|
26
|
-
- Agent workflow successfully creates a project.
|
|
27
|
-
- Agent workflow successfully creates a task.
|
|
28
|
-
- Regression tests cover agent creation path independent of removed manual endpoints.
|