Files
librenotes/.wave/pipelines/onboard.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

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