Files
librenotes/.wave/pipelines/prototype.yaml
Michael Czechowski fc24f9a8ab Add Wave general-purpose pipelines
ADR, changelog, code-review, debug, doc-sync, explain, feature,
hotfix, improve, onboard, plan, prototype, refactor, security-scan,
smoke-test, speckit-flow, supervise, test-gen, and more.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:02:36 +01:00

353 lines
9.3 KiB
YAML

kind: WavePipeline
metadata:
name: prototype
description: "Prototype-driven development pipeline with 5 phases (9 steps): spec, docs, dummy, implement, pr-cycle"
release: false
input:
source: cli
example: "build a REST API for user management with CRUD operations"
steps:
# Phase 1: Spec - Requirements capture with speckit integration
- id: spec
persona: craftsman
exec:
type: prompt
source: |
You are beginning the specification phase of a prototype-driven development pipeline.
Your goal is to analyze the project description and create a comprehensive feature specification:
Project description: {{ input }}
CRITICAL: Create both spec.md and requirements.md files:
spec.md should contain the complete feature specification including:
- Feature overview and business value
- User stories with acceptance criteria
- Functional requirements
- Success criteria and measurable outcomes
- Constraints and assumptions
requirements.md should contain extracted requirements (optional additional detail).
Use speckit integration where available to enhance specification quality.
The specification must be technology-agnostic and focused on user value.
Create artifact.json with your results.
workspace:
mount:
- source: .
target: /project
mode: readwrite
output_artifacts:
- name: spec
path: spec.md
type: markdown
- name: requirements
path: requirements.md
type: markdown
- name: contract_data
path: .wave/artifact.json
type: json
handover:
contract:
type: json_schema
schema_path: .wave/contracts/spec-phase.schema.json
must_pass: true
max_retries: 2
# Phase 2: Docs - Generate runnable documentation from specification
- id: docs
persona: philosopher
dependencies: [spec]
memory:
inject_artifacts:
- step: spec
artifact: spec
as: input-spec.md
exec:
type: prompt
source: |
You are in the documentation phase of prototype-driven development.
Your goal is to create comprehensive, runnable documentation from the specification.
Create feature documentation from the injected specification that includes:
- User-friendly explanation of the feature
- Usage examples and scenarios
- Integration guide for developers
- Stakeholder summary for non-technical audiences
Generate VitePress-compatible markdown that can be served as runnable documentation.
CRITICAL: Create both feature-docs.md and stakeholder-summary.md files.
Create artifact.json with your results.
workspace:
mount:
- source: .
target: /project
mode: readwrite
output_artifacts:
- name: feature-docs
path: feature-docs.md
type: markdown
- name: stakeholder-summary
path: stakeholder-summary.md
type: markdown
- name: contract_data
path: .wave/artifact.json
type: json
handover:
contract:
type: json_schema
schema_path: .wave/contracts/docs-phase.schema.json
must_pass: true
max_retries: 2
# Phase 3: Dummy - Build authentic functional prototype
- id: dummy
persona: craftsman
dependencies: [docs]
memory:
inject_artifacts:
- step: docs
artifact: feature-docs
as: feature-docs.md
- step: spec
artifact: spec
as: spec.md
exec:
type: prompt
source: |
You are in the dummy/prototype phase of development.
Your goal is to create a working prototype with authentic I/O handling but stub business logic.
Create a functional prototype that:
- Handles real input and output properly
- Implements all user interfaces and endpoints
- Uses placeholder/stub implementations for business logic
- Can be run and demonstrated to stakeholders
- Shows the complete user experience flow
Focus on proving the interface design and user flows work correctly.
CRITICAL: Create prototype/ directory with working code and interfaces.md with interface definitions.
Create artifact.json with your results.
workspace:
mount:
- source: .
target: /project
mode: readwrite
output_artifacts:
- name: prototype
path: prototype/
type: binary
- name: interface-definitions
path: interfaces.md
type: markdown
- name: contract_data
path: .wave/artifact.json
type: json
handover:
contract:
type: json_schema
schema_path: .wave/contracts/dummy-phase.schema.json
must_pass: true
max_retries: 2
# Phase 4: Implement - Transition to full implementation
- id: implement
persona: craftsman
dependencies: [dummy]
memory:
inject_artifacts:
- step: spec
artifact: spec
as: spec.md
- step: docs
artifact: feature-docs
as: feature-docs.md
- step: dummy
artifact: prototype
as: prototype/
exec:
type: prompt
source: |
You are in the implementation phase - transitioning from prototype to production code.
Your goal is to provide implementation guidance and begin real implementation:
- Review all previous artifacts for implementation readiness
- Create implementation plan and checklist
- Begin replacing stub logic with real implementations
- Ensure test coverage for all functionality
- Maintain compatibility with established interfaces
Focus on production-quality code that fulfills the original specification.
CRITICAL: Create implementation-plan.md and implementation-checklist.md files.
Create artifact.json with your results.
workspace:
mount:
- source: .
target: /project
mode: readwrite
output_artifacts:
- name: implementation-plan
path: implementation-plan.md
type: markdown
- name: progress-checklist
path: implementation-checklist.md
type: markdown
- name: contract_data
path: .wave/artifact.json
type: json
handover:
contract:
type: json_schema
schema_path: .wave/contracts/implement-phase.schema.json
must_pass: true
max_retries: 2
# Phase 5: PR-Cycle - Automated pull request lifecycle
- id: pr-create
persona: navigator
dependencies: [implement]
memory:
inject_artifacts:
- step: implement
artifact: implementation-plan
as: implementation-plan.md
exec:
type: prompt
source: |
You are creating a pull request for the implemented feature.
Create a comprehensive pull request:
- Clear PR title and description
- Link to related issues
- Include testing instructions
- Add appropriate labels and reviewers
- Request Copilot review
Use GitHub CLI to create the PR and configure automated review workflow.
workspace:
mount:
- source: .
target: /project
mode: readwrite
output_artifacts:
- name: pr-info
path: pr-info.json
type: json
handover:
contract:
type: json_schema
source: pr-info.json
schema_path: .wave/contracts/pr-result.schema.json
must_pass: true
on_failure: retry
max_retries: 2
- id: pr-review
persona: auditor
dependencies: [pr-create]
exec:
type: prompt
source: |
Monitor and manage the PR review process.
Poll for Copilot review completion and analyze feedback.
Prepare response strategy for review comments.
workspace:
mount:
- source: .
target: /project
mode: readwrite
- id: pr-respond
persona: philosopher
dependencies: [pr-review]
exec:
type: prompt
source: |
Analyze review comments and prepare thoughtful responses.
Generate responses to review feedback that:
- Address technical concerns professionally
- Explain design decisions clearly
- Propose solutions for identified issues
workspace:
mount:
- source: .
target: /project
mode: readwrite
- id: pr-fix
persona: craftsman
dependencies: [pr-respond]
exec:
type: prompt
source: |
Implement small fixes based on review feedback.
For larger changes, create follow-up issues instead of expanding this PR.
Focus on quick, low-risk improvements that address reviewer concerns.
workspace:
mount:
- source: .
target: /project
mode: readwrite
- id: pr-merge
persona: navigator
dependencies: [pr-fix]
exec:
type: prompt
source: |
Complete the PR lifecycle with merge.
Verify all checks pass, reviews are approved, and merge the PR.
Clean up branch and notify stakeholders of completion.
workspace:
mount:
- source: .
target: /project
mode: readwrite