| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- schema_version: "1.0"
- workflow:
- id: "speckit"
- name: "Full SDD Cycle"
- version: "1.0.0"
- author: "GitHub"
- description: "Runs specify → plan → tasks → implement with review gates"
- requires:
- # 0.8.5 is the first release with engine-side resolution of the
- # ``integration: "auto"`` default. Older versions would treat "auto"
- # as a literal integration key and fail at dispatch.
- speckit_version: ">=0.8.5"
- integrations:
- # The four commands below (specify, plan, tasks, implement) are core
- # spec-kit commands provided by every integration. The list here is an
- # advisory, non-exhaustive compatibility hint following the documented
- # ``any: [...]`` schema -- it is NOT a closed set. The workflow runs
- # against any integration the project was initialized with, including
- # ones not listed below, as long as that integration provides the four
- # core commands referenced in ``steps``.
- any:
- - "claude"
- - "copilot"
- - "gemini"
- - "opencode"
- inputs:
- spec:
- type: string
- required: true
- prompt: "Describe what you want to build"
- integration:
- type: string
- default: "auto"
- prompt: "Integration to use (e.g. claude, copilot, gemini; 'auto' uses the project's initialized integration)"
- scope:
- type: string
- default: "full"
- enum: ["full", "backend-only", "frontend-only"]
- steps:
- - id: specify
- command: speckit.specify
- integration: "{{ inputs.integration }}"
- input:
- args: "{{ inputs.spec }}"
- - id: review-spec
- type: gate
- message: "Review the generated spec before planning."
- options: [approve, reject]
- on_reject: abort
- - id: plan
- command: speckit.plan
- integration: "{{ inputs.integration }}"
- input:
- args: "{{ inputs.spec }}"
- - id: review-plan
- type: gate
- message: "Review the plan before generating tasks."
- options: [approve, reject]
- on_reject: abort
- - id: tasks
- command: speckit.tasks
- integration: "{{ inputs.integration }}"
- input:
- args: "{{ inputs.spec }}"
- - id: implement
- command: speckit.implement
- integration: "{{ inputs.integration }}"
- input:
- args: "{{ inputs.spec }}"
|