m2-market/.specify/workflows/speckit/workflow.yml
m2 (AI Agent) e8ee3920de factory-loop: onboard spec-kit, ratify constitution v1.0.0, draft 001-market-first-wedge spec
- spec-kit initialized (claude integration; /speckit.* skills in .claude/skills/)
- constitution: 7 principles from CONCEPT.md v0.2 + inherited fleet constraints
- spec 001-market-first-wedge: 5 prioritized stories, FR-001..015, SC-001..007
- operator steer from README §open-forks folded into assumptions (ledger standalone
  now / m2-gpt-billing crypto later, fixed pricing + job headroom, Electron MVP
  store, Scout host = explore spike)
- .m2herd/ context fabric initialized (gitignored)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 02:03:14 +02:00

77 lines
2.1 KiB
YAML

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 }}"