docs: add workflows reference, reorganize into docs/reference/, and add --version flag (#2244)

* docs: add workflows reference, reorganize into docs/reference/, and add --version flag

- Move integrations.md, extensions.md, presets.md into docs/reference/
- New docs/reference/workflows.md: command reference for all workflow
  commands, built-in SDD Cycle workflow with Mermaid diagram, step types,
  expressions, input types, state/resume, and FAQ
- Rename workflow input feature_name to spec with prompt 'Describe what
  you want to build' to match speckit.specify command terminology
- Add --version / -V flag to root specify command with tests
- Update docs/toc.yml, README.md links, and docs/upgrade.md cross-reference
  to use reference/ paths
- Add workflow command to README CLI reference table

* docs: update speckit_version requirement to >=0.7.2 in workflow example
This commit is contained in:
Manfred Riem
2026-04-16 13:34:08 -05:00
committed by GitHub
parent 8d2797dc03
commit 02a1d610df
14 changed files with 369 additions and 34 deletions

View File

@@ -62,10 +62,10 @@ requires:
any: ["claude", "gemini"] # At least one required
inputs:
feature_name:
spec:
type: string
required: true
prompt: "Feature name"
prompt: "Describe what you want to build"
scope:
type: string
default: "full"
@@ -75,7 +75,7 @@ steps:
- id: specify
command: speckit.specify
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
- id: review
type: gate
@@ -99,7 +99,7 @@ steps:
```bash
# Run with required inputs
specify workflow run ./workflow.yml --input feature_name="user-auth"
specify workflow run ./workflow.yml --input spec="Build a user authentication system with OAuth support"
# Check validation
specify workflow info ./workflow.yml

View File

@@ -11,7 +11,7 @@ steps:
- id: specify
command: speckit.specify
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
- id: review
type: gate
@@ -35,10 +35,10 @@ specify workflow search
specify workflow add speckit
# Or run directly from a local YAML file
specify workflow run ./workflow.yml --input feature_name="user-auth"
specify workflow run ./workflow.yml --input spec="Build a user authentication system with OAuth support"
# Run an installed workflow with inputs
specify workflow run speckit --input feature_name="user-auth"
specify workflow run speckit --input spec="Build a user authentication system with OAuth support"
# Check run status
specify workflow status
@@ -59,20 +59,20 @@ specify workflow remove speckit
```bash
specify workflow add speckit
specify workflow run speckit --input feature_name="user-auth"
specify workflow run speckit --input spec="Build a user authentication system with OAuth support"
```
### From a Local YAML File
```bash
specify workflow run ./my-workflow.yml --input feature_name="user-auth"
specify workflow run ./my-workflow.yml --input spec="Build a user authentication system with OAuth support"
```
### Multiple Inputs
```bash
specify workflow run speckit \
--input feature_name="user-auth" \
--input spec="Build a user authentication system with OAuth support" \
--input scope="backend-only"
```
@@ -88,7 +88,7 @@ Invoke an installed Spec Kit command by name via the integration CLI:
- id: specify
command: speckit.specify
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
integration: claude # Optional: override workflow default
model: "claude-sonnet-4-20250514" # Optional: override model
```
@@ -225,7 +225,7 @@ Workflow definitions use `{{ expression }}` syntax for dynamic values:
```yaml
# Access inputs
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
# Access previous step outputs
args: "{{ steps.specify.output.file }}"
@@ -245,10 +245,10 @@ Workflow inputs are type-checked and coerced from CLI string values:
```yaml
inputs:
feature_name:
spec:
type: string
required: true
prompt: "Feature name"
prompt: "Describe what you want to build"
task_count:
type: number
default: 5

View File

@@ -7,15 +7,15 @@ workflow:
description: "Runs specify → plan → tasks → implement with review gates"
requires:
speckit_version: ">=0.6.1"
speckit_version: ">=0.7.2"
integrations:
any: ["copilot", "claude", "gemini"]
inputs:
feature_name:
spec:
type: string
required: true
prompt: "Feature name"
prompt: "Describe what you want to build"
integration:
type: string
default: "copilot"
@@ -30,7 +30,7 @@ steps:
command: speckit.specify
integration: "{{ inputs.integration }}"
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
- id: review-spec
type: gate
@@ -42,7 +42,7 @@ steps:
command: speckit.plan
integration: "{{ inputs.integration }}"
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
- id: review-plan
type: gate
@@ -54,10 +54,10 @@ steps:
command: speckit.tasks
integration: "{{ inputs.integration }}"
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"
- id: implement
command: speckit.implement
integration: "{{ inputs.integration }}"
input:
args: "{{ inputs.feature_name }}"
args: "{{ inputs.spec }}"