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>
120 lines
3.7 KiB
YAML
120 lines
3.7 KiB
YAML
kind: WavePipeline
|
|
metadata:
|
|
name: onboard
|
|
description: "Generate a project onboarding guide for new contributors"
|
|
release: true
|
|
|
|
input:
|
|
source: cli
|
|
example: "create an onboarding guide for this project"
|
|
|
|
steps:
|
|
- id: survey
|
|
persona: navigator
|
|
workspace:
|
|
mount:
|
|
- source: ./
|
|
target: /project
|
|
mode: readonly
|
|
exec:
|
|
type: prompt
|
|
source: |
|
|
Survey this project to build an onboarding guide: {{ input }}
|
|
|
|
## Survey Checklist
|
|
|
|
1. **Project identity**: Find README, package manifests (go.mod, package.json),
|
|
license, and config files. Determine language, framework, purpose.
|
|
|
|
2. **Build system**: How to build, test, and run the project.
|
|
Find Makefiles, scripts, CI configs, Dockerfiles.
|
|
|
|
3. **Directory structure**: Map the top-level layout and key directories.
|
|
What does each directory contain?
|
|
|
|
4. **Architecture**: Identify the main components and how they interact.
|
|
Find entry points (main.go, index.ts, etc.).
|
|
|
|
5. **Dependencies**: List key dependencies and their purposes.
|
|
Check go.mod, package.json, requirements.txt, etc.
|
|
|
|
6. **Configuration**: Find environment variables, config files, feature flags.
|
|
|
|
7. **Testing**: Where are tests? How to run them? What patterns are used?
|
|
|
|
8. **Development workflow**: Find contributing guides, PR templates,
|
|
commit conventions, branch strategies.
|
|
|
|
9. **Documentation**: Where is documentation? Is it up to date?
|
|
output_artifacts:
|
|
- name: survey
|
|
path: .wave/output/project-survey.json
|
|
type: json
|
|
handover:
|
|
contract:
|
|
type: json_schema
|
|
source: .wave/output/project-survey.json
|
|
schema_path: .wave/contracts/project-survey.schema.json
|
|
on_failure: retry
|
|
max_retries: 2
|
|
|
|
- id: guide
|
|
persona: philosopher
|
|
dependencies: [survey]
|
|
memory:
|
|
inject_artifacts:
|
|
- step: survey
|
|
artifact: survey
|
|
as: project_info
|
|
exec:
|
|
type: prompt
|
|
source: |
|
|
Write a comprehensive onboarding guide for new contributors.
|
|
|
|
Using the injected project survey data, write a guide with these sections:
|
|
|
|
# Onboarding Guide: [Project Name]
|
|
|
|
## Quick Start
|
|
- Prerequisites (what to install)
|
|
- Clone and build (exact commands)
|
|
- Run tests (exact commands)
|
|
- Run the project (exact commands)
|
|
|
|
## Project Overview
|
|
- What this project does (2-3 sentences)
|
|
- Key technologies and why they were chosen
|
|
- High-level architecture (ASCII diagram)
|
|
|
|
## Directory Map
|
|
- What each top-level directory contains
|
|
- Where to find things (tests, configs, docs)
|
|
|
|
## Core Concepts
|
|
- Key abstractions and terminology
|
|
- How the main components interact
|
|
- Data flow through the system
|
|
|
|
## Development Workflow
|
|
- How to create a feature branch
|
|
- Commit message conventions
|
|
- How to run tests before pushing
|
|
- PR process
|
|
|
|
## Common Tasks
|
|
- "I want to add a new [feature/command/endpoint]" → where to start
|
|
- "I want to fix a bug" → debugging approach
|
|
- "I want to understand [component]" → where to look
|
|
|
|
## Helpful Resources
|
|
- Documentation locations
|
|
- Key files to read first
|
|
- Related external docs
|
|
|
|
Write for someone on their first day with this codebase.
|
|
Be specific — use real paths, real commands, real examples.
|
|
output_artifacts:
|
|
- name: guide
|
|
path: .wave/output/onboarding-guide.md
|
|
type: markdown
|