@arimakouyou/spec-workflow-mcp 2.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/.claude-plugin/.mcp.json +8 -0
- package/.claude-plugin/agents/code-simplifier.md +80 -0
- package/.claude-plugin/agents/integ-test-auditor.md +91 -0
- package/.claude-plugin/agents/integ-test-worker.md +73 -0
- package/.claude-plugin/agents/parallel-worker.md +136 -0
- package/.claude-plugin/agents/review-worker.md +279 -0
- package/.claude-plugin/agents/unit-test-engineer.md +148 -0
- package/.claude-plugin/agents/wave-harness-worker.md +158 -0
- package/.claude-plugin/hooks/hooks.json +16 -0
- package/.claude-plugin/hooks/tasks-read-guard.sh +17 -0
- package/.claude-plugin/marketplace.json +33 -0
- package/.claude-plugin/plugin.json +11 -0
- package/.claude-plugin/rules/axum.md +154 -0
- package/.claude-plugin/rules/cargo-toml.md +63 -0
- package/.claude-plugin/rules/context7.md +17 -0
- package/.claude-plugin/rules/design-conformance.md +82 -0
- package/.claude-plugin/rules/design-principles.md +53 -0
- package/.claude-plugin/rules/diesel.md +176 -0
- package/.claude-plugin/rules/feedback-loop.md +33 -0
- package/.claude-plugin/rules/leptos.md +319 -0
- package/.claude-plugin/rules/project-architecture.md +134 -0
- package/.claude-plugin/rules/quality-checks.md +265 -0
- package/.claude-plugin/rules/rust-style.md +242 -0
- package/.claude-plugin/rules/security.md +67 -0
- package/.claude-plugin/rules/spec-workflow-enforcement.md +47 -0
- package/.claude-plugin/rules/valkey.md +167 -0
- package/.claude-plugin/skills/integration-test/SKILL.md +230 -0
- package/.claude-plugin/skills/integration-test/references/auditor-prompt.md +78 -0
- package/.claude-plugin/skills/integration-test/references/external-api-mock.md +98 -0
- package/.claude-plugin/skills/integration-test/references/fixture-catalog.md +155 -0
- package/.claude-plugin/skills/integration-test/references/parallel-execution.md +124 -0
- package/.claude-plugin/skills/integration-test/references/quality-gate.md +80 -0
- package/.claude-plugin/skills/integration-test/references/test-case-design.md +88 -0
- package/.claude-plugin/skills/integration-test/references/test-patterns.md +215 -0
- package/.claude-plugin/skills/integration-test/references/whiteboard-template.md +81 -0
- package/.claude-plugin/skills/integration-test/references/worker-prompt.md +70 -0
- package/.claude-plugin/skills/knowhow-capture/SKILL.md +143 -0
- package/.claude-plugin/skills/phase-review-team/SKILL.md +380 -0
- package/.claude-plugin/skills/spec-design/SKILL.md +282 -0
- package/.claude-plugin/skills/spec-e2e-implement/SKILL.md +259 -0
- package/.claude-plugin/skills/spec-impl-code/SKILL.md +101 -0
- package/.claude-plugin/skills/spec-impl-review/SKILL.md +115 -0
- package/.claude-plugin/skills/spec-impl-test-run/SKILL.md +98 -0
- package/.claude-plugin/skills/spec-impl-test-write/SKILL.md +121 -0
- package/.claude-plugin/skills/spec-implement/SKILL.md +822 -0
- package/.claude-plugin/skills/spec-requirements/SKILL.md +130 -0
- package/.claude-plugin/skills/spec-review/SKILL.md +274 -0
- package/.claude-plugin/skills/spec-tasks/SKILL.md +372 -0
- package/.claude-plugin/skills/spec-test-design/SKILL.md +233 -0
- package/.claude-plugin/skills/tdd-skills/SKILL.md +95 -0
- package/.claude-plugin/skills/tdd-skills/references/advanced-techniques.md +49 -0
- package/.claude-plugin/skills/tdd-skills/references/green-strategies.md +70 -0
- package/.claude-plugin/skills/tdd-skills/references/tdd-and-design.md +48 -0
- package/.claude-plugin/skills/tdd-skills/references/test-design.md +43 -0
- package/.claude-plugin/skills/tdd-skills/references/test-doubles.md +53 -0
- package/.claude-plugin/skills/tdd-skills/references/test-patterns.md +40 -0
- package/.claude-plugin/skills/tdd-skills-rust/SKILL.md +128 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/advanced-techniques.md +205 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/green-strategies.md +166 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/tdd-and-design.md +215 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/test-design.md +128 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/test-doubles.md +208 -0
- package/.claude-plugin/skills/tdd-skills-rust/references/test-patterns.md +223 -0
- package/.claude-plugin/with-dashboard/.mcp.json +8 -0
- package/.claude-plugin/with-dashboard/plugin.json +10 -0
- package/CHANGELOG.md +1007 -0
- package/LICENSE +674 -0
- package/README.ja.md +380 -0
- package/README.md +437 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +264 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/index-args.test.d.ts +2 -0
- package/dist/__tests__/index-args.test.d.ts.map +1 -0
- package/dist/__tests__/index-args.test.js +43 -0
- package/dist/__tests__/index-args.test.js.map +1 -0
- package/dist/__tests__/index-entrypoint.test.d.ts +2 -0
- package/dist/__tests__/index-entrypoint.test.d.ts.map +1 -0
- package/dist/__tests__/index-entrypoint.test.js +23 -0
- package/dist/__tests__/index-entrypoint.test.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +188 -0
- package/dist/config.js.map +1 -0
- package/dist/core/__tests__/git-utils.test.d.ts +2 -0
- package/dist/core/__tests__/git-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/git-utils.test.js +179 -0
- package/dist/core/__tests__/git-utils.test.js.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts +2 -0
- package/dist/core/__tests__/mdx-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/mdx-validator.test.js +42 -0
- package/dist/core/__tests__/mdx-validator.test.js.map +1 -0
- package/dist/core/__tests__/path-utils.test.d.ts +2 -0
- package/dist/core/__tests__/path-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/path-utils.test.js +342 -0
- package/dist/core/__tests__/path-utils.test.js.map +1 -0
- package/dist/core/__tests__/project-registry.test.d.ts +2 -0
- package/dist/core/__tests__/project-registry.test.d.ts.map +1 -0
- package/dist/core/__tests__/project-registry.test.js +62 -0
- package/dist/core/__tests__/project-registry.test.js.map +1 -0
- package/dist/core/__tests__/security-utils.test.d.ts +2 -0
- package/dist/core/__tests__/security-utils.test.d.ts.map +1 -0
- package/dist/core/__tests__/security-utils.test.js +657 -0
- package/dist/core/__tests__/security-utils.test.js.map +1 -0
- package/dist/core/__tests__/task-parser.test.d.ts +2 -0
- package/dist/core/__tests__/task-parser.test.d.ts.map +1 -0
- package/dist/core/__tests__/task-parser.test.js +222 -0
- package/dist/core/__tests__/task-parser.test.js.map +1 -0
- package/dist/core/__tests__/task-validator.test.d.ts +2 -0
- package/dist/core/__tests__/task-validator.test.d.ts.map +1 -0
- package/dist/core/__tests__/task-validator.test.js +308 -0
- package/dist/core/__tests__/task-validator.test.js.map +1 -0
- package/dist/core/archive-service.d.ts +10 -0
- package/dist/core/archive-service.d.ts.map +1 -0
- package/dist/core/archive-service.js +99 -0
- package/dist/core/archive-service.js.map +1 -0
- package/dist/core/dashboard-session.d.ts +49 -0
- package/dist/core/dashboard-session.d.ts.map +1 -0
- package/dist/core/dashboard-session.js +132 -0
- package/dist/core/dashboard-session.js.map +1 -0
- package/dist/core/git-utils.d.ts +25 -0
- package/dist/core/git-utils.d.ts.map +1 -0
- package/dist/core/git-utils.js +87 -0
- package/dist/core/git-utils.js.map +1 -0
- package/dist/core/global-dir.d.ts +44 -0
- package/dist/core/global-dir.d.ts.map +1 -0
- package/dist/core/global-dir.js +74 -0
- package/dist/core/global-dir.js.map +1 -0
- package/dist/core/implementation-log-migrator.d.ts +41 -0
- package/dist/core/implementation-log-migrator.d.ts.map +1 -0
- package/dist/core/implementation-log-migrator.js +258 -0
- package/dist/core/implementation-log-migrator.js.map +1 -0
- package/dist/core/mdx-validator.d.ts +14 -0
- package/dist/core/mdx-validator.d.ts.map +1 -0
- package/dist/core/mdx-validator.js +34 -0
- package/dist/core/mdx-validator.js.map +1 -0
- package/dist/core/parser.d.ts +11 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +128 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +68 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +302 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/project-registry.d.ts +94 -0
- package/dist/core/project-registry.d.ts.map +1 -0
- package/dist/core/project-registry.js +297 -0
- package/dist/core/project-registry.js.map +1 -0
- package/dist/core/security-utils.d.ts +99 -0
- package/dist/core/security-utils.d.ts.map +1 -0
- package/dist/core/security-utils.js +275 -0
- package/dist/core/security-utils.js.map +1 -0
- package/dist/core/task-parser.d.ts +90 -0
- package/dist/core/task-parser.d.ts.map +1 -0
- package/dist/core/task-parser.js +477 -0
- package/dist/core/task-parser.js.map +1 -0
- package/dist/core/task-validator.d.ts +37 -0
- package/dist/core/task-validator.d.ts.map +1 -0
- package/dist/core/task-validator.js +499 -0
- package/dist/core/task-validator.js.map +1 -0
- package/dist/core/workspace-initializer.d.ts +16 -0
- package/dist/core/workspace-initializer.d.ts.map +1 -0
- package/dist/core/workspace-initializer.js +168 -0
- package/dist/core/workspace-initializer.js.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts +2 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js +78 -0
- package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts +2 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js +115 -0
- package/dist/dashboard/__tests__/multi-server-approvals-content.test.js.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts +2 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts.map +1 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js +118 -0
- package/dist/dashboard/__tests__/watcher-error-handling.test.js.map +1 -0
- package/dist/dashboard/approval-storage.d.ts +139 -0
- package/dist/dashboard/approval-storage.d.ts.map +1 -0
- package/dist/dashboard/approval-storage.js +608 -0
- package/dist/dashboard/approval-storage.js.map +1 -0
- package/dist/dashboard/execution-history-manager.d.ts +52 -0
- package/dist/dashboard/execution-history-manager.d.ts.map +1 -0
- package/dist/dashboard/execution-history-manager.js +161 -0
- package/dist/dashboard/execution-history-manager.js.map +1 -0
- package/dist/dashboard/implementation-log-manager.d.ts +97 -0
- package/dist/dashboard/implementation-log-manager.d.ts.map +1 -0
- package/dist/dashboard/implementation-log-manager.js +617 -0
- package/dist/dashboard/implementation-log-manager.js.map +1 -0
- package/dist/dashboard/job-scheduler.d.ts +91 -0
- package/dist/dashboard/job-scheduler.d.ts.map +1 -0
- package/dist/dashboard/job-scheduler.js +321 -0
- package/dist/dashboard/job-scheduler.js.map +1 -0
- package/dist/dashboard/multi-server.d.ts +42 -0
- package/dist/dashboard/multi-server.d.ts.map +1 -0
- package/dist/dashboard/multi-server.js +1460 -0
- package/dist/dashboard/multi-server.js.map +1 -0
- package/dist/dashboard/parser.d.ts +18 -0
- package/dist/dashboard/parser.d.ts.map +1 -0
- package/dist/dashboard/parser.js +269 -0
- package/dist/dashboard/parser.js.map +1 -0
- package/dist/dashboard/project-manager.d.ts +82 -0
- package/dist/dashboard/project-manager.d.ts.map +1 -0
- package/dist/dashboard/project-manager.js +257 -0
- package/dist/dashboard/project-manager.js.map +1 -0
- package/dist/dashboard/public/assets/Inter-Bold-CD3Pr7BX.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Medium-B_8v_WHh.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-Regular-DRVdRqcI.woff2 +0 -0
- package/dist/dashboard/public/assets/Inter-SemiBold-CtskMddL.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Bold-D4WEaHbo.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
- package/dist/dashboard/public/assets/JetBrainsMono-Regular-BQaDgvhP.woff2 +0 -0
- package/dist/dashboard/public/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dist/dashboard/public/assets/apl-B4CMkyY2.js +1 -0
- package/dist/dashboard/public/assets/arc-a5wW942W.js +1 -0
- package/dist/dashboard/public/assets/array-BKyUJesY.js +1 -0
- package/dist/dashboard/public/assets/asciiarmor-Df11BRmG.js +1 -0
- package/dist/dashboard/public/assets/asn1-EdZsLKOL.js +1 -0
- package/dist/dashboard/public/assets/asterisk-B-8jnY81.js +1 -0
- package/dist/dashboard/public/assets/blockDiagram-c4efeb88-CvjTuK-w.js +118 -0
- package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/dist/dashboard/public/assets/c4Diagram-c83219d4-NwVQo5kf.js +10 -0
- package/dist/dashboard/public/assets/channel-Bi16YZhk.js +1 -0
- package/dist/dashboard/public/assets/classDiagram-beda092f-BmSeXDdU.js +2 -0
- package/dist/dashboard/public/assets/classDiagram-v2-2358418a-D7GvvuPr.js +2 -0
- package/dist/dashboard/public/assets/clike-B9uivgTg.js +1 -0
- package/dist/dashboard/public/assets/clojure-BMjYHr_A.js +1 -0
- package/dist/dashboard/public/assets/clone-BpKTiq7P.js +1 -0
- package/dist/dashboard/public/assets/cmake-BQqOBYOt.js +1 -0
- package/dist/dashboard/public/assets/cobol-CWcv1MsR.js +1 -0
- package/dist/dashboard/public/assets/coffeescript-S37ZYGWr.js +1 -0
- package/dist/dashboard/public/assets/commonlisp-DBKNyK5s.js +1 -0
- package/dist/dashboard/public/assets/createText-1719965b-qASbqHUP.js +7 -0
- package/dist/dashboard/public/assets/crystal-SjHAIU92.js +1 -0
- package/dist/dashboard/public/assets/css-BnMrqG3P.js +1 -0
- package/dist/dashboard/public/assets/cypher-C_CwsFkJ.js +1 -0
- package/dist/dashboard/public/assets/d-pRatUO7H.js +1 -0
- package/dist/dashboard/public/assets/diff-DbItnlRl.js +1 -0
- package/dist/dashboard/public/assets/dockerfile-BKs6k2Af.js +1 -0
- package/dist/dashboard/public/assets/dtd-DF_7sFjM.js +1 -0
- package/dist/dashboard/public/assets/dylan-DwRh75JA.js +1 -0
- package/dist/dashboard/public/assets/ebnf-CDyGwa7X.js +1 -0
- package/dist/dashboard/public/assets/ecl-Cabwm37j.js +1 -0
- package/dist/dashboard/public/assets/edges-96097737-BItTSnH7.js +4 -0
- package/dist/dashboard/public/assets/eiffel-CnydiIhH.js +1 -0
- package/dist/dashboard/public/assets/elm-vLlmbW-K.js +1 -0
- package/dist/dashboard/public/assets/erDiagram-0228fc6a-DT224olg.js +51 -0
- package/dist/dashboard/public/assets/erlang-BNw1qcRV.js +1 -0
- package/dist/dashboard/public/assets/factor-kuTfRLto.js +1 -0
- package/dist/dashboard/public/assets/fcl-Kvtd6kyn.js +1 -0
- package/dist/dashboard/public/assets/flowDb-c6c81e3f-D9_ukKtv.js +10 -0
- package/dist/dashboard/public/assets/flowDiagram-50d868cf-CylE8siG.js +4 -0
- package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-B2O3JN7Y.js +1 -0
- package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-BCaqFKf3.js +139 -0
- package/dist/dashboard/public/assets/forth-Ffai-XNe.js +1 -0
- package/dist/dashboard/public/assets/fortran-DYz_wnZ1.js +1 -0
- package/dist/dashboard/public/assets/ganttDiagram-a2739b55-WQUL1QW_.js +257 -0
- package/dist/dashboard/public/assets/gas-Bneqetm1.js +1 -0
- package/dist/dashboard/public/assets/gherkin-heZmZLOM.js +1 -0
- package/dist/dashboard/public/assets/gitGraphDiagram-82fe8481-CttZrdmr.js +70 -0
- package/dist/dashboard/public/assets/graph-Ch-rVueN.js +1 -0
- package/dist/dashboard/public/assets/groovy-D9Dt4D0W.js +1 -0
- package/dist/dashboard/public/assets/haskell-Cw1EW3IL.js +1 -0
- package/dist/dashboard/public/assets/haxe-H-WmDvRZ.js +1 -0
- package/dist/dashboard/public/assets/http-DBlCnlav.js +1 -0
- package/dist/dashboard/public/assets/idl-BEugSyMb.js +1 -0
- package/dist/dashboard/public/assets/index--kbPpDKv.js +1 -0
- package/dist/dashboard/public/assets/index-3scDwWm6.js +1 -0
- package/dist/dashboard/public/assets/index-5325376f-BL2zVOJU.js +1 -0
- package/dist/dashboard/public/assets/index-BZdjbO25.js +1 -0
- package/dist/dashboard/public/assets/index-BmA_batZ.js +1 -0
- package/dist/dashboard/public/assets/index-Bu0u99kF.js +2 -0
- package/dist/dashboard/public/assets/index-Ch-lr7F4.js +1 -0
- package/dist/dashboard/public/assets/index-ClgWbdoq.js +1 -0
- package/dist/dashboard/public/assets/index-CzLwOMQ_.js +3 -0
- package/dist/dashboard/public/assets/index-DAOEjGO7.js +1 -0
- package/dist/dashboard/public/assets/index-DXqf0B9c.js +1 -0
- package/dist/dashboard/public/assets/index-DegWdR16.js +1 -0
- package/dist/dashboard/public/assets/index-DiHyYGim.js +1 -0
- package/dist/dashboard/public/assets/index-DlZtG7I5.js +1 -0
- package/dist/dashboard/public/assets/index-DmhGE2M8.js +1 -0
- package/dist/dashboard/public/assets/index-QEGvld4x.js +1 -0
- package/dist/dashboard/public/assets/index-RfZPGAJu.js +1 -0
- package/dist/dashboard/public/assets/index-UybBj_7u.js +319 -0
- package/dist/dashboard/public/assets/index-bVekzPnl.js +7 -0
- package/dist/dashboard/public/assets/index-f5bysQzW.css +1 -0
- package/dist/dashboard/public/assets/infoDiagram-8eee0895-DjzkkE3o.js +7 -0
- package/dist/dashboard/public/assets/init-Gi6I4Gst.js +1 -0
- package/dist/dashboard/public/assets/javascript-iXu5QeM3.js +1 -0
- package/dist/dashboard/public/assets/journeyDiagram-c64418c1-CxPZkNdB.js +139 -0
- package/dist/dashboard/public/assets/julia-DuME0IfC.js +1 -0
- package/dist/dashboard/public/assets/katex-XbL3y5x-.js +261 -0
- package/dist/dashboard/public/assets/layout-DX7DNTRm.js +1 -0
- package/dist/dashboard/public/assets/line-DfvpmKOn.js +1 -0
- package/dist/dashboard/public/assets/linear-gQbBPHO5.js +1 -0
- package/dist/dashboard/public/assets/livescript-BwQOo05w.js +1 -0
- package/dist/dashboard/public/assets/lua-BgMRiT3U.js +1 -0
- package/dist/dashboard/public/assets/mathematica-DTrFuWx2.js +1 -0
- package/dist/dashboard/public/assets/mbox-CNhZ1qSd.js +1 -0
- package/dist/dashboard/public/assets/mindmap-definition-8da855dc-CNxmpyG6.js +415 -0
- package/dist/dashboard/public/assets/mirc-CjQqDB4T.js +1 -0
- package/dist/dashboard/public/assets/mllike-CXdrOF99.js +1 -0
- package/dist/dashboard/public/assets/modelica-Dc1JOy9r.js +1 -0
- package/dist/dashboard/public/assets/mscgen-BA5vi2Kp.js +1 -0
- package/dist/dashboard/public/assets/mumps-BT43cFF4.js +1 -0
- package/dist/dashboard/public/assets/nginx-DdIZxoE0.js +1 -0
- package/dist/dashboard/public/assets/nsis-LdVXkNf5.js +1 -0
- package/dist/dashboard/public/assets/ntriples-BfvgReVJ.js +1 -0
- package/dist/dashboard/public/assets/octave-Ck1zUtKM.js +1 -0
- package/dist/dashboard/public/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/dashboard/public/assets/oz-BzwKVEFT.js +1 -0
- package/dist/dashboard/public/assets/pascal--L3eBynH.js +1 -0
- package/dist/dashboard/public/assets/path-CbwjOpE9.js +1 -0
- package/dist/dashboard/public/assets/perl-CdXCOZ3F.js +1 -0
- package/dist/dashboard/public/assets/pieDiagram-a8764435-D-xy_NSA.js +35 -0
- package/dist/dashboard/public/assets/pig-CevX1Tat.js +1 -0
- package/dist/dashboard/public/assets/powershell-CFHJl5sT.js +1 -0
- package/dist/dashboard/public/assets/properties-C78fOPTZ.js +1 -0
- package/dist/dashboard/public/assets/protobuf-ChK-085T.js +1 -0
- package/dist/dashboard/public/assets/pug-DeIclll2.js +1 -0
- package/dist/dashboard/public/assets/puppet-DMA9R1ak.js +1 -0
- package/dist/dashboard/public/assets/python-BuPzkPfP.js +1 -0
- package/dist/dashboard/public/assets/q-pXgVlZs6.js +1 -0
- package/dist/dashboard/public/assets/quadrantDiagram-1e28029f-BoL2wzz0.js +7 -0
- package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
- package/dist/dashboard/public/assets/requirementDiagram-08caed73-BujFz0q1.js +52 -0
- package/dist/dashboard/public/assets/rpm-CTu-6PCP.js +1 -0
- package/dist/dashboard/public/assets/ruby-B2Rjki9n.js +1 -0
- package/dist/dashboard/public/assets/sankeyDiagram-a04cb91d-D03_NARm.js +8 -0
- package/dist/dashboard/public/assets/sas-B4kiWyti.js +1 -0
- package/dist/dashboard/public/assets/scheme-C41bIUwD.js +1 -0
- package/dist/dashboard/public/assets/sequenceDiagram-c5b8d532-B65eFcaT.js +122 -0
- package/dist/dashboard/public/assets/shell-CjFT_Tl9.js +1 -0
- package/dist/dashboard/public/assets/sieve-C3Gn_uJK.js +1 -0
- package/dist/dashboard/public/assets/simple-mode-GW_nhZxv.js +1 -0
- package/dist/dashboard/public/assets/smalltalk-CnHTOXQT.js +1 -0
- package/dist/dashboard/public/assets/solr-DehyRSwq.js +1 -0
- package/dist/dashboard/public/assets/sparql-DkYu6x3z.js +1 -0
- package/dist/dashboard/public/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/dist/dashboard/public/assets/sql-D0XecflT.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-1ecb1508-BDbqu0Vl.js +1 -0
- package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-CBHvk4b8.js +1 -0
- package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
- package/dist/dashboard/public/assets/styles-b4e223ce-CELsPqaO.js +160 -0
- package/dist/dashboard/public/assets/styles-ca3715f6-BRqMqT6F.js +207 -0
- package/dist/dashboard/public/assets/styles-d45a18b0-e8N-oLPy.js +116 -0
- package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
- package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-vNDtmQc-.js +1 -0
- package/dist/dashboard/public/assets/swift-BzpIVaGY.js +1 -0
- package/dist/dashboard/public/assets/tcl-DVfN8rqt.js +1 -0
- package/dist/dashboard/public/assets/textile-CnDTJFAw.js +1 -0
- package/dist/dashboard/public/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/dist/dashboard/public/assets/tiki-DGYXhP31.js +1 -0
- package/dist/dashboard/public/assets/timeline-definition-faaaa080-Dh2_A5VU.js +61 -0
- package/dist/dashboard/public/assets/toml-Bm5Em-hy.js +1 -0
- package/dist/dashboard/public/assets/troff-wAsdV37c.js +1 -0
- package/dist/dashboard/public/assets/ttcn-CfJYG6tj.js +1 -0
- package/dist/dashboard/public/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/dist/dashboard/public/assets/turtle-B1tBg_DP.js +1 -0
- package/dist/dashboard/public/assets/vb-CmGdzxic.js +1 -0
- package/dist/dashboard/public/assets/vbscript-BuJXcnF6.js +1 -0
- package/dist/dashboard/public/assets/velocity-D8B20fx6.js +1 -0
- package/dist/dashboard/public/assets/verilog-C6RDOZhf.js +1 -0
- package/dist/dashboard/public/assets/vhdl-lSbBsy5d.js +1 -0
- package/dist/dashboard/public/assets/webidl-ZXfAyPTL.js +1 -0
- package/dist/dashboard/public/assets/xquery-DzFWVndE.js +1 -0
- package/dist/dashboard/public/assets/xychartDiagram-f5964ef8-B76v1AVF.js +7 -0
- package/dist/dashboard/public/assets/yacas-BJ4BC0dw.js +1 -0
- package/dist/dashboard/public/assets/z80-Hz9HOZM7.js +1 -0
- package/dist/dashboard/public/claude-icon-dark.svg +1 -0
- package/dist/dashboard/public/claude-icon.svg +1 -0
- package/dist/dashboard/public/index.html +16 -0
- package/dist/dashboard/settings-manager.d.ts +47 -0
- package/dist/dashboard/settings-manager.d.ts.map +1 -0
- package/dist/dashboard/settings-manager.js +180 -0
- package/dist/dashboard/settings-manager.js.map +1 -0
- package/dist/dashboard/utils.d.ts +31 -0
- package/dist/dashboard/utils.d.ts.map +1 -0
- package/dist/dashboard/utils.js +102 -0
- package/dist/dashboard/utils.js.map +1 -0
- package/dist/dashboard/watcher.d.ts +32 -0
- package/dist/dashboard/watcher.d.ts.map +1 -0
- package/dist/dashboard/watcher.js +173 -0
- package/dist/dashboard/watcher.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +380 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown/templates/design-template.md +126 -0
- package/dist/markdown/templates/product-template.md +51 -0
- package/dist/markdown/templates/requirements-template.md +50 -0
- package/dist/markdown/templates/structure-template.md +145 -0
- package/dist/markdown/templates/tasks-template.md +100 -0
- package/dist/markdown/templates/tech-template.md +99 -0
- package/dist/markdown/templates/test-design-template.md +221 -0
- package/dist/prompts/create-spec.d.ts +3 -0
- package/dist/prompts/create-spec.d.ts.map +1 -0
- package/dist/prompts/create-spec.js +97 -0
- package/dist/prompts/create-spec.js.map +1 -0
- package/dist/prompts/create-steering-doc.d.ts +3 -0
- package/dist/prompts/create-steering-doc.d.ts.map +1 -0
- package/dist/prompts/create-steering-doc.js +75 -0
- package/dist/prompts/create-steering-doc.js.map +1 -0
- package/dist/prompts/implement-task.d.ts +3 -0
- package/dist/prompts/implement-task.d.ts.map +1 -0
- package/dist/prompts/implement-task.js +174 -0
- package/dist/prompts/implement-task.js.map +1 -0
- package/dist/prompts/index.d.ts +20 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +103 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts +3 -0
- package/dist/prompts/inject-spec-workflow-guide.d.ts.map +1 -0
- package/dist/prompts/inject-spec-workflow-guide.js +60 -0
- package/dist/prompts/inject-spec-workflow-guide.js.map +1 -0
- package/dist/prompts/inject-steering-guide.d.ts +3 -0
- package/dist/prompts/inject-steering-guide.d.ts.map +1 -0
- package/dist/prompts/inject-steering-guide.js +64 -0
- package/dist/prompts/inject-steering-guide.js.map +1 -0
- package/dist/prompts/refresh-tasks.d.ts +3 -0
- package/dist/prompts/refresh-tasks.d.ts.map +1 -0
- package/dist/prompts/refresh-tasks.js +237 -0
- package/dist/prompts/refresh-tasks.js.map +1 -0
- package/dist/prompts/spec-status.d.ts +3 -0
- package/dist/prompts/spec-status.d.ts.map +1 -0
- package/dist/prompts/spec-status.js +77 -0
- package/dist/prompts/spec-status.js.map +1 -0
- package/dist/prompts/types.d.ts +13 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +2 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/__tests__/log-implementation-review-process.test.d.ts +2 -0
- package/dist/tools/__tests__/log-implementation-review-process.test.d.ts.map +1 -0
- package/dist/tools/__tests__/log-implementation-review-process.test.js +190 -0
- package/dist/tools/__tests__/log-implementation-review-process.test.js.map +1 -0
- package/dist/tools/__tests__/projectPath.test.d.ts +2 -0
- package/dist/tools/__tests__/projectPath.test.d.ts.map +1 -0
- package/dist/tools/__tests__/projectPath.test.js +187 -0
- package/dist/tools/__tests__/projectPath.test.js.map +1 -0
- package/dist/tools/approvals.d.ts +14 -0
- package/dist/tools/approvals.d.ts.map +1 -0
- package/dist/tools/approvals.js +505 -0
- package/dist/tools/approvals.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +52 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/log-implementation.d.ts +5 -0
- package/dist/tools/log-implementation.d.ts.map +1 -0
- package/dist/tools/log-implementation.js +498 -0
- package/dist/tools/log-implementation.js.map +1 -0
- package/dist/tools/spec-status.d.ts +5 -0
- package/dist/tools/spec-status.d.ts.map +1 -0
- package/dist/tools/spec-status.js +192 -0
- package/dist/tools/spec-status.js.map +1 -0
- package/dist/tools/spec-workflow-guide.d.ts +5 -0
- package/dist/tools/spec-workflow-guide.d.ts.map +1 -0
- package/dist/tools/spec-workflow-guide.js +116 -0
- package/dist/tools/spec-workflow-guide.js.map +1 -0
- package/dist/tools/steering-guide.d.ts +5 -0
- package/dist/tools/steering-guide.d.ts.map +1 -0
- package/dist/tools/steering-guide.js +192 -0
- package/dist/tools/steering-guide.js.map +1 -0
- package/dist/types.d.ts +183 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Project Structure
|
|
2
|
+
|
|
3
|
+
## Directory Organization
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
[Define your project's directory structure. Examples below - adapt to your project type]
|
|
7
|
+
|
|
8
|
+
Example for a library/package:
|
|
9
|
+
project-root/
|
|
10
|
+
├── src/ # Source code
|
|
11
|
+
├── tests/ # Test files
|
|
12
|
+
├── docs/ # Documentation
|
|
13
|
+
├── examples/ # Usage examples
|
|
14
|
+
└── [build/dist/out] # Build output
|
|
15
|
+
|
|
16
|
+
Example for an application:
|
|
17
|
+
project-root/
|
|
18
|
+
├── [src/app/lib] # Main source code
|
|
19
|
+
├── [assets/resources] # Static resources
|
|
20
|
+
├── [config/settings] # Configuration
|
|
21
|
+
├── [scripts/tools] # Build/utility scripts
|
|
22
|
+
└── [tests/spec] # Test files
|
|
23
|
+
|
|
24
|
+
Common patterns:
|
|
25
|
+
- Group by feature/module
|
|
26
|
+
- Group by layer (UI, business logic, data)
|
|
27
|
+
- Group by type (models, controllers, views)
|
|
28
|
+
- Flat structure for simple projects
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Naming Conventions
|
|
32
|
+
|
|
33
|
+
### Files
|
|
34
|
+
- **Components/Modules**: [e.g., `PascalCase`, `snake_case`, `kebab-case`]
|
|
35
|
+
- **Services/Handlers**: [e.g., `UserService`, `user_service`, `user-service`]
|
|
36
|
+
- **Utilities/Helpers**: [e.g., `dateUtils`, `date_utils`, `date-utils`]
|
|
37
|
+
- **Tests**: [e.g., `[filename]_test`, `[filename].test`, `[filename]Test`]
|
|
38
|
+
|
|
39
|
+
### Code
|
|
40
|
+
- **Classes/Types**: [e.g., `PascalCase`, `CamelCase`, `snake_case`]
|
|
41
|
+
- **Functions/Methods**: [e.g., `camelCase`, `snake_case`, `PascalCase`]
|
|
42
|
+
- **Constants**: [e.g., `UPPER_SNAKE_CASE`, `SCREAMING_CASE`, `PascalCase`]
|
|
43
|
+
- **Variables**: [e.g., `camelCase`, `snake_case`, `lowercase`]
|
|
44
|
+
|
|
45
|
+
## Import Patterns
|
|
46
|
+
|
|
47
|
+
### Import Order
|
|
48
|
+
1. External dependencies
|
|
49
|
+
2. Internal modules
|
|
50
|
+
3. Relative imports
|
|
51
|
+
4. Style imports
|
|
52
|
+
|
|
53
|
+
### Module/Package Organization
|
|
54
|
+
```
|
|
55
|
+
[Describe your project's import/include patterns]
|
|
56
|
+
Examples:
|
|
57
|
+
- Absolute imports from project root
|
|
58
|
+
- Relative imports within modules
|
|
59
|
+
- Package/namespace organization
|
|
60
|
+
- Dependency management approach
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Code Structure Patterns
|
|
64
|
+
|
|
65
|
+
[Define common patterns for organizing code within files. Below are examples - choose what applies to your project]
|
|
66
|
+
|
|
67
|
+
### Module/Class Organization
|
|
68
|
+
```
|
|
69
|
+
Example patterns:
|
|
70
|
+
1. Imports/includes/dependencies
|
|
71
|
+
2. Constants and configuration
|
|
72
|
+
3. Type/interface definitions
|
|
73
|
+
4. Main implementation
|
|
74
|
+
5. Helper/utility functions
|
|
75
|
+
6. Exports/public API
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Function/Method Organization
|
|
79
|
+
```
|
|
80
|
+
Example patterns:
|
|
81
|
+
- Input validation first
|
|
82
|
+
- Core logic in the middle
|
|
83
|
+
- Error handling throughout
|
|
84
|
+
- Clear return points
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### File Organization Principles
|
|
88
|
+
```
|
|
89
|
+
Choose what works for your project:
|
|
90
|
+
- One class/module per file
|
|
91
|
+
- Related functionality grouped together
|
|
92
|
+
- Public API at the top/bottom
|
|
93
|
+
- Implementation details hidden
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Code Organization Principles
|
|
97
|
+
|
|
98
|
+
1. **Single Responsibility**: Each file should have one clear purpose
|
|
99
|
+
2. **Modularity**: Code should be organized into reusable modules
|
|
100
|
+
3. **Testability**: Structure code to be easily testable
|
|
101
|
+
4. **Consistency**: Follow patterns established in the codebase
|
|
102
|
+
|
|
103
|
+
## Module Boundaries
|
|
104
|
+
[Define how different parts of your project interact and maintain separation of concerns]
|
|
105
|
+
|
|
106
|
+
Examples of boundary patterns:
|
|
107
|
+
- **Core vs Plugins**: Core functionality vs extensible plugins
|
|
108
|
+
- **Public API vs Internal**: What's exposed vs implementation details
|
|
109
|
+
- **Platform-specific vs Cross-platform**: OS-specific code isolation
|
|
110
|
+
- **Stable vs Experimental**: Production code vs experimental features
|
|
111
|
+
- **Dependencies direction**: Which modules can depend on which
|
|
112
|
+
|
|
113
|
+
## Code Size Guidelines
|
|
114
|
+
[Define your project's guidelines for file and function sizes]
|
|
115
|
+
|
|
116
|
+
Suggested guidelines:
|
|
117
|
+
- **File size**: [Define maximum lines per file]
|
|
118
|
+
- **Function/Method size**: [Define maximum lines per function]
|
|
119
|
+
- **Class/Module complexity**: [Define complexity limits]
|
|
120
|
+
- **Nesting depth**: [Maximum nesting levels]
|
|
121
|
+
|
|
122
|
+
## Dashboard/Monitoring Structure (if applicable)
|
|
123
|
+
[How dashboard or monitoring components are organized]
|
|
124
|
+
|
|
125
|
+
### Example Structure:
|
|
126
|
+
```
|
|
127
|
+
src/
|
|
128
|
+
└── dashboard/ # Self-contained dashboard subsystem
|
|
129
|
+
├── server/ # Backend server components
|
|
130
|
+
├── client/ # Frontend assets
|
|
131
|
+
├── shared/ # Shared types/utilities
|
|
132
|
+
└── public/ # Static assets
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Separation of Concerns
|
|
136
|
+
- Dashboard isolated from core business logic
|
|
137
|
+
- Own CLI entry point for independent operation
|
|
138
|
+
- Minimal dependencies on main application
|
|
139
|
+
- Can be disabled without affecting core functionality
|
|
140
|
+
|
|
141
|
+
## Documentation Standards
|
|
142
|
+
- All public APIs must have documentation
|
|
143
|
+
- Complex logic should include inline comments
|
|
144
|
+
- README files for major modules
|
|
145
|
+
- Follow language-specific documentation conventions
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Tasks Document
|
|
2
|
+
|
|
3
|
+
## Phase 1: Core Domain Layer
|
|
4
|
+
|
|
5
|
+
- [ ] 1.1 Create core interfaces and model in src/types/feature.ts, src/models/FeatureModel.ts
|
|
6
|
+
- File: src/types/feature.ts, src/models/FeatureModel.ts
|
|
7
|
+
- Define TypeScript interfaces and implement model with validation/CRUD
|
|
8
|
+
- Purpose: Establish type-safe data layer
|
|
9
|
+
- _Leverage: src/types/base.ts, src/models/BaseModel.ts, src/utils/validation.ts_
|
|
10
|
+
- _Requirements: 1.1, 2.1, 2.2_
|
|
11
|
+
- _TestFocus: Interface contract validation, CRUD success/failure, validation boundaries, relationship integrity_
|
|
12
|
+
- _Prompt: Role: TypeScript Developer specializing in type systems and data modeling | Task: Create comprehensive TypeScript interfaces and implement model with validation and CRUD operations following requirements 1.1, 2.1, 2.2, extending existing base interfaces and model from src/types/base.ts and src/models/BaseModel.ts | Restrictions: Do not modify existing base interfaces, maintain backward compatibility, follow project naming conventions | Success: All interfaces compile without errors, model extends BaseModel correctly, validation methods implemented, full type coverage for feature requirements_
|
|
13
|
+
|
|
14
|
+
- [ ] 1.2 Create service interface and implementation in src/services/IFeatureService.ts, src/services/FeatureService.ts
|
|
15
|
+
- File: src/services/IFeatureService.ts, src/services/FeatureService.ts
|
|
16
|
+
- Define service contract and implement concrete service using FeatureModel
|
|
17
|
+
- Add error handling with existing error utilities
|
|
18
|
+
- Purpose: Provide business logic layer for feature operations
|
|
19
|
+
- _DependsOn: 1.1_
|
|
20
|
+
- _Leverage: src/services/IBaseService.ts, src/services/BaseService.ts, src/utils/errorHandler.ts, src/models/FeatureModel.ts_
|
|
21
|
+
- _Requirements: 3.1, 3.2_
|
|
22
|
+
- _TestFocus: Service contract compliance, error propagation, business logic edge cases, dependency injection_
|
|
23
|
+
- _Prompt: Role: Backend Developer with expertise in service layer architecture | Task: Design service interface and implement concrete FeatureService following requirements 3.1 and 3.2, using FeatureModel and extending BaseService patterns with proper error handling | Restrictions: Must implement interface contract exactly, do not bypass model validation, maintain separation of concerns | Success: Interface is well-defined, service implements all methods correctly, robust error handling, business logic is testable_
|
|
24
|
+
|
|
25
|
+
- [ ] 1.3 Register service in dependency injection container
|
|
26
|
+
- File: src/utils/di.ts
|
|
27
|
+
- Register FeatureService in DI container with proper lifetime configuration
|
|
28
|
+
- Purpose: Enable service injection throughout application
|
|
29
|
+
- _DependsOn: 1.1, 1.2_
|
|
30
|
+
- _Leverage: existing DI configuration in src/utils/di.ts_
|
|
31
|
+
- _Requirements: 3.1_
|
|
32
|
+
- _TestFocus: Service resolution, dependency chain, lifetime management_
|
|
33
|
+
- _Prompt: Role: Backend Developer with expertise in dependency injection | Task: Register FeatureService in DI container following requirement 3.1, configuring appropriate lifetime and dependencies using existing patterns | Restrictions: Must follow existing DI patterns, do not create circular dependencies | Success: FeatureService is properly registered and resolvable, dependencies correctly configured_
|
|
34
|
+
|
|
35
|
+
- [ ] 1.4 Review and commit Phase 1
|
|
36
|
+
- _PhaseReview: true_
|
|
37
|
+
- _Prompt: Role: Code reviewer | Task: Review all Phase 1 changes for code quality, consistency, and correctness. Run full test suite and verify all tests pass. Stage and commit with a summary of Phase 1 deliverables. | Success: All tests pass, code review complete, changes committed_
|
|
38
|
+
|
|
39
|
+
## Phase 2: API Layer
|
|
40
|
+
|
|
41
|
+
- [ ] 2.1 Create API routing and middleware configuration
|
|
42
|
+
- File: src/api/featureRoutes.ts, src/middleware/featureMiddleware.ts
|
|
43
|
+
- Set up routing with authentication and error handling middleware
|
|
44
|
+
- Purpose: Establish API infrastructure for feature
|
|
45
|
+
- _Leverage: src/api/baseApi.ts, src/middleware/auth.ts, src/middleware/errorHandler.ts_
|
|
46
|
+
- _Requirements: 4.1_
|
|
47
|
+
- _TestFocus: Route registration, middleware chain order, auth enforcement, error response format_
|
|
48
|
+
- _Prompt: Role: Backend API developer specializing in Express.js | Task: Configure API routes and middleware following requirement 4.1, integrating authentication and error handling from existing middleware | Restrictions: Must maintain middleware order, do not bypass security middleware | Success: Routes properly configured with correct middleware chain, authentication works correctly_
|
|
49
|
+
|
|
50
|
+
- [ ] 2.2 Implement CRUD endpoints with request validation
|
|
51
|
+
- File: src/controllers/FeatureController.ts
|
|
52
|
+
- Create API endpoints with input validation
|
|
53
|
+
- Purpose: Expose feature operations via REST API
|
|
54
|
+
- _Leverage: src/controllers/BaseController.ts, src/utils/validation.ts_
|
|
55
|
+
- _Requirements: 4.2, 4.3_
|
|
56
|
+
- _TestFocus: CRUD endpoint responses, input validation rejection, HTTP status codes, error payloads_
|
|
57
|
+
- _Prompt: Role: Full-stack Developer with expertise in API development | Task: Implement CRUD endpoints following requirements 4.2 and 4.3, extending BaseController patterns with request validation | Restrictions: Must validate all inputs, follow existing controller patterns, ensure proper HTTP status codes | Success: All CRUD operations work correctly, request validation prevents invalid data_
|
|
58
|
+
|
|
59
|
+
- [ ] 2.3 Review and commit Phase 2
|
|
60
|
+
- _PhaseReview: true_
|
|
61
|
+
- _Prompt: Role: Code reviewer | Task: Review all Phase 2 changes for API design quality, security, and correctness. Run full test suite. Stage and commit with a summary of Phase 2 deliverables. | Success: All tests pass, API endpoints reviewed, changes committed_
|
|
62
|
+
|
|
63
|
+
## Phase 3: Frontend Components
|
|
64
|
+
|
|
65
|
+
- [ ] 3.1 Create base UI components
|
|
66
|
+
- File: src/components/feature/FeatureList.tsx, src/components/feature/FeatureForm.tsx
|
|
67
|
+
- Implement reusable components with styling and theming
|
|
68
|
+
- Purpose: Build UI building blocks for feature
|
|
69
|
+
- _Leverage: src/components/BaseComponent.tsx, src/styles/theme.ts_
|
|
70
|
+
- _Requirements: 5.1_
|
|
71
|
+
- _TestFocus: Component rendering, prop handling, accessibility, theme integration_
|
|
72
|
+
- _Prompt: Role: Frontend Developer specializing in React | Task: Create reusable UI components following requirement 5.1, extending BaseComponent patterns and using existing theme system | Restrictions: Must use existing theme variables, follow component patterns, ensure accessibility | Success: Components are reusable, properly themed, accessible and responsive_
|
|
73
|
+
|
|
74
|
+
- [ ] 3.2 Implement feature-specific components with state and API integration
|
|
75
|
+
- File: src/components/feature/FeaturePage.tsx, src/hooks/useFeature.ts
|
|
76
|
+
- Create feature page with state management connected to API
|
|
77
|
+
- Purpose: Complete frontend user experience
|
|
78
|
+
- _Leverage: src/hooks/useApi.ts, src/components/BaseComponent.tsx_
|
|
79
|
+
- _Requirements: 5.2, 5.3_
|
|
80
|
+
- _TestFocus: State transitions, API integration, loading/error states, user interactions_
|
|
81
|
+
- _Prompt: Role: React Developer with expertise in state management | Task: Implement feature page and custom hook following requirements 5.2 and 5.3, using API hooks and extending BaseComponent patterns | Restrictions: Must use existing state management patterns, handle loading and error states | Success: Components fully functional with proper state, API integration works smoothly_
|
|
82
|
+
|
|
83
|
+
- [ ] 3.3 Review and commit Phase 3
|
|
84
|
+
- _PhaseReview: true_
|
|
85
|
+
- _Prompt: Role: Code reviewer | Task: Review all Phase 3 changes for component quality, accessibility, and UX. Run full test suite. Stage and commit with a summary of Phase 3 deliverables. | Success: All tests pass, UI reviewed, changes committed_
|
|
86
|
+
|
|
87
|
+
## Phase 4: Integration
|
|
88
|
+
|
|
89
|
+
- [ ] 4.1 End-to-end integration and verification
|
|
90
|
+
- File: tests/e2e/feature.e2e.ts
|
|
91
|
+
- Write E2E tests covering critical user journeys across all layers
|
|
92
|
+
- Purpose: Verify full-stack integration works correctly
|
|
93
|
+
- _Leverage: tests/helpers/testUtils.ts, tests/fixtures/data.ts_
|
|
94
|
+
- _Requirements: All_
|
|
95
|
+
- _TestFocus: User journey flows, cross-layer data integrity, error recovery paths_
|
|
96
|
+
- _Prompt: Role: QA Engineer with expertise in E2E testing | Task: Implement end-to-end tests covering all critical user journeys across all layers | Restrictions: Must test real user workflows, ensure tests are maintainable | Success: E2E tests cover critical journeys, tests run reliably_
|
|
97
|
+
|
|
98
|
+
- [ ] 4.2 Final review and commit Phase 4
|
|
99
|
+
- _PhaseReview: true_
|
|
100
|
+
- _Prompt: Role: Code reviewer | Task: Final review of all integration work. Run full test suite including E2E. Stage and commit with a summary of all deliverables. Clean up any remaining issues. | Success: All tests pass, full integration verified, final commit made_
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
[Describe what kind of project this is: web application, CLI tool, desktop application, mobile app, library, API service, embedded system, game, etc.]
|
|
5
|
+
|
|
6
|
+
## Core Technologies
|
|
7
|
+
|
|
8
|
+
### Primary Language(s)
|
|
9
|
+
- **Language**: [e.g., Python 3.11, Go 1.21, TypeScript, Rust, C++]
|
|
10
|
+
- **Runtime/Compiler**: [if applicable]
|
|
11
|
+
- **Language-specific tools**: [package managers, build tools, etc.]
|
|
12
|
+
|
|
13
|
+
### Key Dependencies/Libraries
|
|
14
|
+
[List the main libraries and frameworks your project depends on]
|
|
15
|
+
- **[Library/Framework name]**: [Purpose and version]
|
|
16
|
+
- **[Library/Framework name]**: [Purpose and version]
|
|
17
|
+
|
|
18
|
+
### Application Architecture
|
|
19
|
+
[Describe how your application is structured - this could be MVC, event-driven, plugin-based, client-server, standalone, microservices, monolithic, etc.]
|
|
20
|
+
|
|
21
|
+
### Data Storage (if applicable)
|
|
22
|
+
- **Primary storage**: [e.g., PostgreSQL, files, in-memory, cloud storage]
|
|
23
|
+
- **Caching**: [e.g., Redis, in-memory, disk cache]
|
|
24
|
+
- **Data formats**: [e.g., JSON, Protocol Buffers, XML, binary]
|
|
25
|
+
|
|
26
|
+
### External Integrations (if applicable)
|
|
27
|
+
- **APIs**: [External services you integrate with]
|
|
28
|
+
- **Protocols**: [e.g., HTTP/REST, gRPC, WebSocket, TCP/IP]
|
|
29
|
+
- **Authentication**: [e.g., OAuth, API keys, certificates]
|
|
30
|
+
|
|
31
|
+
### Monitoring & Dashboard Technologies (if applicable)
|
|
32
|
+
- **Dashboard Framework**: [e.g., React, Vue, vanilla JS, terminal UI]
|
|
33
|
+
- **Real-time Communication**: [e.g., WebSocket, Server-Sent Events, polling]
|
|
34
|
+
- **Visualization Libraries**: [e.g., Chart.js, D3, terminal graphs]
|
|
35
|
+
- **State Management**: [e.g., Redux, Vuex, file system as source of truth]
|
|
36
|
+
|
|
37
|
+
## Development Environment
|
|
38
|
+
|
|
39
|
+
### Build & Development Tools
|
|
40
|
+
- **Build System**: [e.g., Make, CMake, Gradle, npm scripts, cargo]
|
|
41
|
+
- **Package Management**: [e.g., pip, npm, cargo, go mod, apt, brew]
|
|
42
|
+
- **Development workflow**: [e.g., hot reload, watch mode, REPL]
|
|
43
|
+
|
|
44
|
+
### Code Quality Tools
|
|
45
|
+
- **Static Analysis**: [Tools for code quality and correctness]
|
|
46
|
+
- **Formatting**: [Code style enforcement tools]
|
|
47
|
+
- **Testing Framework**: [Unit, integration, and/or end-to-end testing tools]
|
|
48
|
+
- **Documentation**: [Documentation generation tools]
|
|
49
|
+
|
|
50
|
+
### Version Control & Collaboration
|
|
51
|
+
- **VCS**: [e.g., Git, Mercurial, SVN]
|
|
52
|
+
- **Branching Strategy**: [e.g., Git Flow, GitHub Flow, trunk-based]
|
|
53
|
+
- **Code Review Process**: [How code reviews are conducted]
|
|
54
|
+
|
|
55
|
+
### Dashboard Development (if applicable)
|
|
56
|
+
- **Live Reload**: [e.g., Hot module replacement, file watchers]
|
|
57
|
+
- **Port Management**: [e.g., Dynamic allocation, configurable ports]
|
|
58
|
+
- **Multi-Instance Support**: [e.g., Running multiple dashboards simultaneously]
|
|
59
|
+
|
|
60
|
+
## Deployment & Distribution (if applicable)
|
|
61
|
+
- **Target Platform(s)**: [Where/how the project runs: cloud, on-premise, desktop, mobile, embedded]
|
|
62
|
+
- **Distribution Method**: [How users get your software: download, package manager, app store, SaaS]
|
|
63
|
+
- **Installation Requirements**: [Prerequisites, system requirements]
|
|
64
|
+
- **Update Mechanism**: [How updates are delivered]
|
|
65
|
+
|
|
66
|
+
## Technical Requirements & Constraints
|
|
67
|
+
|
|
68
|
+
### Performance Requirements
|
|
69
|
+
- [e.g., response time, throughput, memory usage, startup time]
|
|
70
|
+
- [Specific benchmarks or targets]
|
|
71
|
+
|
|
72
|
+
### Compatibility Requirements
|
|
73
|
+
- **Platform Support**: [Operating systems, architectures, versions]
|
|
74
|
+
- **Dependency Versions**: [Minimum/maximum versions of dependencies]
|
|
75
|
+
- **Standards Compliance**: [Industry standards, protocols, specifications]
|
|
76
|
+
|
|
77
|
+
### Security & Compliance
|
|
78
|
+
- **Security Requirements**: [Authentication, encryption, data protection]
|
|
79
|
+
- **Compliance Standards**: [GDPR, HIPAA, SOC2, etc. if applicable]
|
|
80
|
+
- **Threat Model**: [Key security considerations]
|
|
81
|
+
|
|
82
|
+
### Scalability & Reliability
|
|
83
|
+
- **Expected Load**: [Users, requests, data volume]
|
|
84
|
+
- **Availability Requirements**: [Uptime targets, disaster recovery]
|
|
85
|
+
- **Growth Projections**: [How the system needs to scale]
|
|
86
|
+
|
|
87
|
+
## Technical Decisions & Rationale
|
|
88
|
+
[Document key architectural and technology choices]
|
|
89
|
+
|
|
90
|
+
### Decision Log
|
|
91
|
+
1. **[Technology/Pattern Choice]**: [Why this was chosen, alternatives considered]
|
|
92
|
+
2. **[Architecture Decision]**: [Rationale, trade-offs accepted]
|
|
93
|
+
3. **[Tool/Library Selection]**: [Reasoning, evaluation criteria]
|
|
94
|
+
|
|
95
|
+
## Known Limitations
|
|
96
|
+
[Document any technical debt, limitations, or areas for improvement]
|
|
97
|
+
|
|
98
|
+
- [Limitation 1]: [Impact and potential future solutions]
|
|
99
|
+
- [Limitation 2]: [Why it exists and when it might be addressed]
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Test Design Document
|
|
2
|
+
|
|
3
|
+
## Test Strategy Overview
|
|
4
|
+
|
|
5
|
+
### Testing Philosophy
|
|
6
|
+
[このフィーチャーのテスト全体方針を記述する。TDD を前提とし、品質保証の考え方を明記]
|
|
7
|
+
|
|
8
|
+
### Test Pyramid
|
|
9
|
+
[UT / IT / E2E のバランスと優先順位を定義する]
|
|
10
|
+
|
|
11
|
+
| Level | 目的 | 実行タイミング | 想定件数 |
|
|
12
|
+
|-------|------|--------------|---------|
|
|
13
|
+
| Unit Test (UT) | コンポーネント単体の契約検証 | TDD RED フェーズ | [N] |
|
|
14
|
+
| Integration Test (IT) | コンポーネント間結合の検証 | Phase Review | [N] |
|
|
15
|
+
| E2E Test | ユーザージャーニーの検証 | Final E2E Gate | [N] |
|
|
16
|
+
|
|
17
|
+
### Test Environment Requirements
|
|
18
|
+
|
|
19
|
+
- **Container Runtime:** Docker / Podman (必須)
|
|
20
|
+
- **テストフレームワーク:** [例: cargo test + mockall, jest + testcontainers, pytest]
|
|
21
|
+
- **テスト用コンテナ:**
|
|
22
|
+
|
|
23
|
+
| Service | Image | Purpose |
|
|
24
|
+
|---------|-------|---------|
|
|
25
|
+
| DB | [例: postgres:16-alpine] | テスト用 DB (testcontainers) |
|
|
26
|
+
| [Other] | [image] | [purpose] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Unit Test Specifications
|
|
31
|
+
|
|
32
|
+
### Component: [ComponentName1]
|
|
33
|
+
- **Target:** [テスト対象のモジュール/ファイルパス]
|
|
34
|
+
- **Dependencies to Mock:** [モック対象の依存コンポーネント]
|
|
35
|
+
|
|
36
|
+
#### UT-1.1: [テストケース名]
|
|
37
|
+
- **Category:** Happy Path
|
|
38
|
+
- **Preconditions:** [事前条件]
|
|
39
|
+
- **Input:** [入力データ]
|
|
40
|
+
- **Expected Output:** [期待結果]
|
|
41
|
+
- **Verification:** [検証方法(assert 内容等)]
|
|
42
|
+
|
|
43
|
+
#### UT-1.2: [テストケース名]
|
|
44
|
+
- **Category:** Boundary Values
|
|
45
|
+
- **Preconditions:** [事前条件]
|
|
46
|
+
- **Input:** [入力データ(境界値)]
|
|
47
|
+
- **Expected Output:** [期待結果]
|
|
48
|
+
- **Verification:** [検証方法]
|
|
49
|
+
|
|
50
|
+
#### UT-1.3: [テストケース名]
|
|
51
|
+
- **Category:** Error Handling
|
|
52
|
+
- **Preconditions:** [事前条件]
|
|
53
|
+
- **Input:** [異常入力]
|
|
54
|
+
- **Expected Output:** [エラー種別・メッセージ]
|
|
55
|
+
- **Verification:** [検証方法]
|
|
56
|
+
|
|
57
|
+
#### UT-1.4: [テストケース名]
|
|
58
|
+
- **Category:** Edge Cases
|
|
59
|
+
- **Preconditions:** [事前条件]
|
|
60
|
+
- **Input:** [エッジケース入力]
|
|
61
|
+
- **Expected Output:** [期待結果]
|
|
62
|
+
- **Verification:** [検証方法]
|
|
63
|
+
|
|
64
|
+
### Component: [ComponentName2]
|
|
65
|
+
- **Target:** [テスト対象のモジュール/ファイルパス]
|
|
66
|
+
- **Dependencies to Mock:** [モック対象の依存コンポーネント]
|
|
67
|
+
|
|
68
|
+
#### UT-2.1: [テストケース名]
|
|
69
|
+
- **Category:** Happy Path
|
|
70
|
+
- **Preconditions:** [事前条件]
|
|
71
|
+
- **Input:** [入力データ]
|
|
72
|
+
- **Expected Output:** [期待結果]
|
|
73
|
+
- **Verification:** [検証方法]
|
|
74
|
+
|
|
75
|
+
[必要なコンポーネント分だけ繰り返す]
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Integration Test Specifications
|
|
80
|
+
|
|
81
|
+
### IT-1: [統合テストシナリオ名]
|
|
82
|
+
- **Components:** [関与するコンポーネント一覧]
|
|
83
|
+
- **Interaction:** [テスト対象の相互作用の説明]
|
|
84
|
+
- **Technology:**
|
|
85
|
+
- **DB:** testcontainers (PostgreSQL) | docker-compose.test.yml
|
|
86
|
+
- **External API:** wiremock container | trait-based DI | nock
|
|
87
|
+
- **Setup:** migration + seed data via container
|
|
88
|
+
- **Preconditions:** [事前条件(DB状態、外部サービス状態等)]
|
|
89
|
+
- **Steps:**
|
|
90
|
+
1. [操作手順1]
|
|
91
|
+
2. [操作手順2]
|
|
92
|
+
3. [操作手順3]
|
|
93
|
+
- **Expected Result:** [期待される最終結果]
|
|
94
|
+
- **Verification Points:**
|
|
95
|
+
- [検証ポイント1: 例 — DB にレコードが挿入されていること]
|
|
96
|
+
- [検証ポイント2: 例 — レスポンスの HTTP ステータスが 201 であること]
|
|
97
|
+
|
|
98
|
+
### IT-2: [統合テストシナリオ名]
|
|
99
|
+
- **Components:** [関与するコンポーネント一覧]
|
|
100
|
+
- **Interaction:** [テスト対象の相互作用の説明]
|
|
101
|
+
- **Technology:**
|
|
102
|
+
- **DB:** testcontainers (PostgreSQL) | docker-compose.test.yml
|
|
103
|
+
- **External API:** wiremock container | trait-based DI | nock
|
|
104
|
+
- **Setup:** migration + seed data via container
|
|
105
|
+
- **Preconditions:** [事前条件]
|
|
106
|
+
- **Steps:**
|
|
107
|
+
1. [操作手順1]
|
|
108
|
+
2. [操作手順2]
|
|
109
|
+
- **Expected Result:** [期待される最終結果]
|
|
110
|
+
- **Verification Points:**
|
|
111
|
+
- [検証ポイント1]
|
|
112
|
+
- [検証ポイント2]
|
|
113
|
+
|
|
114
|
+
[必要なシナリオ分だけ繰り返す]
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## E2E Test Specifications
|
|
119
|
+
|
|
120
|
+
### E2E-1: [ユーザージャーニー名]
|
|
121
|
+
- **User Story:** [対応するユーザーストーリー(REQ-N の参照)]
|
|
122
|
+
- **Test Type:** API E2E | Browser E2E | Full-Stack E2E
|
|
123
|
+
- **Technology:**
|
|
124
|
+
- **Runner:** Playwright | Cypress | reqwest | supertest
|
|
125
|
+
- **App Container:** docker-compose up で全サービス起動
|
|
126
|
+
- **DB Setup:** migration + seed via container
|
|
127
|
+
- **Browser:** Chromium | Firefox | WebKit (Browser E2E のみ)
|
|
128
|
+
- **Preconditions:** [システム状態の前提条件]
|
|
129
|
+
- **Scenario Steps:**
|
|
130
|
+
1. [ユーザー操作1] → [期待されるシステム応答]
|
|
131
|
+
2. [ユーザー操作2] → [期待されるシステム応答]
|
|
132
|
+
3. [ユーザー操作3] → [期待されるシステム応答]
|
|
133
|
+
- **Success Criteria:** [最終的な成功判定条件]
|
|
134
|
+
- **Failure Scenarios:**
|
|
135
|
+
- [想定される失敗パターン1 → 期待される挙動]
|
|
136
|
+
- [想定される失敗パターン2 → 期待される挙動]
|
|
137
|
+
|
|
138
|
+
### E2E-2: [ユーザージャーニー名]
|
|
139
|
+
- **User Story:** [対応するユーザーストーリー]
|
|
140
|
+
- **Test Type:** API E2E | Browser E2E | Full-Stack E2E
|
|
141
|
+
- **Technology:**
|
|
142
|
+
- **Runner:** Playwright | Cypress | reqwest | supertest
|
|
143
|
+
- **App Container:** docker-compose up で全サービス起動
|
|
144
|
+
- **DB Setup:** migration + seed via container
|
|
145
|
+
- **Browser:** Chromium | Firefox | WebKit (Browser E2E のみ)
|
|
146
|
+
- **Preconditions:** [前提条件]
|
|
147
|
+
- **Scenario Steps:**
|
|
148
|
+
1. [操作1] → [応答]
|
|
149
|
+
2. [操作2] → [応答]
|
|
150
|
+
- **Success Criteria:** [成功判定条件]
|
|
151
|
+
- **Failure Scenarios:**
|
|
152
|
+
- [失敗パターン → 期待される挙動]
|
|
153
|
+
|
|
154
|
+
[必要なジャーニー分だけ繰り返す]
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Requirements-Test Traceability Matrix
|
|
159
|
+
|
|
160
|
+
| Requirement ID | UT Specs | IT Specs | E2E Specs | Notes |
|
|
161
|
+
|---------------|----------|----------|-----------|-------|
|
|
162
|
+
| REQ-1 | UT-1.1, UT-1.2 | IT-1 | E2E-1 | |
|
|
163
|
+
| REQ-2 | UT-2.1 | IT-2 | E2E-1, E2E-2 | |
|
|
164
|
+
| REQ-N | | | | |
|
|
165
|
+
|
|
166
|
+
**カバレッジ基準**: 全 Requirement ID に対して、最低1つの UT と、関連する IT または E2E が紐づいていること。
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Test Data Requirements
|
|
171
|
+
|
|
172
|
+
### Shared Test Fixtures
|
|
173
|
+
[テスト間で共有するテストデータの定義]
|
|
174
|
+
|
|
175
|
+
| Fixture Name | Description | Used By |
|
|
176
|
+
|-------------|-------------|---------|
|
|
177
|
+
| [fixture1] | [説明] | UT-1.1, IT-1 |
|
|
178
|
+
| [fixture2] | [説明] | UT-2.1, E2E-1 |
|
|
179
|
+
|
|
180
|
+
### Test Data Generation Strategy
|
|
181
|
+
[テストデータの生成方針: ファクトリパターン、ビルダーパターン、フィクスチャファイル等]
|
|
182
|
+
|
|
183
|
+
- **ユニットテスト**: [例 — テスト内でインラインで生成、ビルダーパターン使用]
|
|
184
|
+
- **統合テスト**: [例 — testcontainers で DB コンテナ起動 + マイグレーション + シードデータ]
|
|
185
|
+
- **E2Eテスト**: [例 — docker-compose.test.yml で全サービス起動、API 経由でデータ投入]
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## E2E Test Infrastructure
|
|
190
|
+
|
|
191
|
+
### Project Type Detection
|
|
192
|
+
|
|
193
|
+
| 検出条件 | テストランナー | DB 戦略 |
|
|
194
|
+
|----------|-------------|---------|
|
|
195
|
+
| `Cargo.toml` + `[package.metadata.leptos]` | Playwright + reqwest | testcontainers |
|
|
196
|
+
| `Cargo.toml` + axum/actix-web | reqwest | testcontainers |
|
|
197
|
+
| `package.json` + React/Next.js | Playwright | testcontainers / docker-compose |
|
|
198
|
+
| `package.json` + Express/Fastify | supertest + Playwright | testcontainers |
|
|
199
|
+
|
|
200
|
+
### Container Test Setup
|
|
201
|
+
|
|
202
|
+
- **IT (統合テスト)**: testcontainers でテストプロセス内からコンテナを起動・破棄。テストごとにクリーンな状態を保証
|
|
203
|
+
- **E2E**: docker-compose.test.yml で全サービスを起動後にテスト実行。終了後にコンテナ停止・クリーンアップ
|
|
204
|
+
|
|
205
|
+
### docker-compose.test.yml
|
|
206
|
+
[テスト専用の compose 定義]
|
|
207
|
+
- ポート衝突回避: 本番用ポートからオフセット(例: 5432 → 15432)
|
|
208
|
+
- DB 初期化: テスト用マイグレーション + シードデータ
|
|
209
|
+
- ボリューム: tmpfs で永続化しない(テストごとにクリーン)
|
|
210
|
+
|
|
211
|
+
### Test Server Setup
|
|
212
|
+
[テスト時のアプリケーションサーバ起動方法]
|
|
213
|
+
- `docker-compose -f docker-compose.test.yml up -d`
|
|
214
|
+
- ヘルスチェック待機後にテスト開始
|
|
215
|
+
|
|
216
|
+
### Browser Test Configuration (フロントエンドがある場合)
|
|
217
|
+
[Playwright / Cypress の設定]
|
|
218
|
+
- **baseURL:** [例: http://localhost:13000]
|
|
219
|
+
- **viewport:** [例: 1280x720]
|
|
220
|
+
- **timeout:** [例: 30000ms]
|
|
221
|
+
- **screenshot:** on failure
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/prompts/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqG9C,eAAO,MAAM,gBAAgB,EAAE,gBAG9B,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const prompt = {
|
|
2
|
+
name: 'create-spec',
|
|
3
|
+
title: 'Create Specification Document',
|
|
4
|
+
description: 'Guide for creating spec documents directly in the file system. Shows how to use templates and create requirements, design, test-design, or tasks documents at the correct paths.',
|
|
5
|
+
arguments: [
|
|
6
|
+
{
|
|
7
|
+
name: 'specName',
|
|
8
|
+
description: 'Feature name in kebab-case (e.g., user-authentication, data-export)',
|
|
9
|
+
required: true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'documentType',
|
|
13
|
+
description: 'Type of document to create: requirements, design, test-design, or tasks',
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'description',
|
|
18
|
+
description: 'Brief description of what this spec should accomplish',
|
|
19
|
+
required: false
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
async function handler(args, context) {
|
|
24
|
+
const { specName, documentType, description } = args;
|
|
25
|
+
if (!specName || !documentType) {
|
|
26
|
+
throw new Error('specName and documentType are required arguments');
|
|
27
|
+
}
|
|
28
|
+
const validDocTypes = ['requirements', 'design', 'test-design', 'tasks'];
|
|
29
|
+
// ダッシュボードのプレビュー用サンプルコンテキストではバリデーションをスキップ
|
|
30
|
+
const isPreviewContext = context.projectPath === '{{projectPath}}';
|
|
31
|
+
if (!isPreviewContext && !validDocTypes.includes(documentType)) {
|
|
32
|
+
throw new Error(`documentType must be one of: ${validDocTypes.join(', ')}`);
|
|
33
|
+
}
|
|
34
|
+
// Build context-aware messages
|
|
35
|
+
const messages = [
|
|
36
|
+
{
|
|
37
|
+
role: 'user',
|
|
38
|
+
content: {
|
|
39
|
+
type: 'text',
|
|
40
|
+
text: `Create a ${documentType} document for the "${specName}" feature using the spec-workflow methodology.
|
|
41
|
+
|
|
42
|
+
**Context:**
|
|
43
|
+
- Project: ${context.projectPath}
|
|
44
|
+
- Feature: ${specName}
|
|
45
|
+
- Document type: ${documentType}
|
|
46
|
+
${description ? `- Description: ${description}` : ''}
|
|
47
|
+
${context.dashboardUrl ? `- Dashboard: ${context.dashboardUrl}` : ''}
|
|
48
|
+
|
|
49
|
+
**Instructions:**
|
|
50
|
+
1. First, read the template at: .spec-workflow/templates/${documentType}-template.md
|
|
51
|
+
2. Follow the template structure exactly - this ensures consistency across the project
|
|
52
|
+
3. Create comprehensive content that follows spec-driven development best practices
|
|
53
|
+
4. Include all required sections from the template
|
|
54
|
+
5. Use clear, actionable language
|
|
55
|
+
6. Create the document at: .spec-workflow/specs/${specName}/${documentType}.md
|
|
56
|
+
7. After creating, use approvals tool with action:'request' to get user approval
|
|
57
|
+
|
|
58
|
+
**File Paths:**
|
|
59
|
+
- Template location: .spec-workflow/templates/${documentType}-template.md
|
|
60
|
+
- Document destination: .spec-workflow/specs/${specName}/${documentType}.md
|
|
61
|
+
|
|
62
|
+
**Workflow Guidelines:**
|
|
63
|
+
- Requirements documents define WHAT needs to be built
|
|
64
|
+
- Design documents define HOW it will be built
|
|
65
|
+
- Test design documents define HOW TO TEST the feature (UT/IT/E2E specifications)
|
|
66
|
+
- Tasks documents break down implementation into actionable steps
|
|
67
|
+
- Sequence: Requirements → Design → Test Design → Tasks
|
|
68
|
+
- Each document builds upon the previous one in sequence
|
|
69
|
+
- Templates are automatically updated on server start
|
|
70
|
+
|
|
71
|
+
${documentType === 'tasks' ? `
|
|
72
|
+
**Special Instructions for Tasks Document:**
|
|
73
|
+
- For each task, generate a _Prompt field with structured AI guidance
|
|
74
|
+
- Format: _Prompt: Role: [role] | Task: [description] | Restrictions: [constraints] | Success: [criteria]
|
|
75
|
+
- Make prompts specific to the project context and requirements
|
|
76
|
+
- Include _Leverage fields pointing to existing code to reuse
|
|
77
|
+
- Include _Requirements fields showing which requirements each task implements
|
|
78
|
+
- Tasks should be atomic (1-3 files each) and in logical order
|
|
79
|
+
|
|
80
|
+
**Implementation Logging:**
|
|
81
|
+
- When implementing tasks, developers will use the log-implementation tool to record what was done
|
|
82
|
+
- Implementation logs appear in the dashboard's "Logs" tab for easy reference
|
|
83
|
+
- These logs prevent implementation details from being lost in chat history
|
|
84
|
+
- Good task descriptions help developers write better implementation summaries
|
|
85
|
+
` : ''}
|
|
86
|
+
|
|
87
|
+
Please read the ${documentType} template and create the comprehensive document at the specified path.`
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
];
|
|
91
|
+
return messages;
|
|
92
|
+
}
|
|
93
|
+
export const createSpecPrompt = {
|
|
94
|
+
prompt,
|
|
95
|
+
handler
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=create-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/prompts/create-spec.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAW;IACrB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,+BAA+B;IACtC,WAAW,EAAE,kLAAkL;IAC/L,SAAS,EAAE;QACT;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,qEAAqE;YAClF,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,yEAAyE;YACtF,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAyB,EAAE,OAAoB;IACpE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAErD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACzE,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,KAAK,iBAAiB,CAAC;IACnE,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAoB;QAChC;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY,YAAY,sBAAsB,QAAQ;;;aAGvD,OAAO,CAAC,WAAW;aACnB,QAAQ;mBACF,YAAY;EAC7B,WAAW,CAAC,CAAC,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EAClD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;;;2DAGT,YAAY;;;;;kDAKrB,QAAQ,IAAI,YAAY;;;;gDAI1B,YAAY;+CACb,QAAQ,IAAI,YAAY;;;;;;;;;;;EAWrE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC;;;;;;;;;;;;;;CAc5B,CAAC,CAAC,CAAC,EAAE;;kBAEY,YAAY,wEAAwE;aAC/F;SACF;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,MAAM;IACN,OAAO;CACR,CAAC"}
|