Example Pipelines
The pipelines/examples/ directory includes several reusable patterns for standalone Ripline usage.
Included examples
hello_world— minimal input → transform → outputparallel_agents— multiple agent steps with explicit edgesdaily-brief— recurring summary-style workflowimplement_story_claude/implement_story_codex— single coding task in a target repospec_then_build_queue_claude/spec_then_build_queue_codex— spec first, then fan out implementation workwrite_tech_script_claude— longer-form content generation with file output
Claude Code vs Codex variants
- Claude Code variants use
runner: claude-codeand typically expectcwdor path inputs from the run input or a profile. - Codex variants follow the same workflow shape with
runner: codex. - Both are intended to be copyable starting points, not framework-mandated patterns.
1. Implement Story
Purpose: Run a single development story: implement the described work in a codebase and commit.
- Input: One task with
id,title, anddetail. - Claude/Codex: Use
runner: claude-codeorrunner: codexwithcwd: "{{ run.inputs.projectRoot }}". SetprojectRootin a profile or when invoking.
Usually invoked by the Spec → Build → Queue pipeline (spawn/enqueue), not run directly. To run alone for testing:
ripline run implement_story_claude --input '{"projectRoot":"/path/to/repo","task":{"id":"1","title":"Add login","detail":"Implement user login with email/password."}}'Or use the dedicated Codex variant:
ripline run implement_story_codex --input '{"projectRoot":"/path/to/repo","task":{"id":"1","title":"Add login","detail":"Implement user login with email/password."}}'2. Spec → Build → Queue
Purpose: Turn a high-level feature idea into a spec, decompose it into implementation stories, enqueue each story as a separate run of the Implement Story pipeline, then collect results and verify (build, tests, sense-check) once all are done.
- Input:
task(string) — e.g. "Add a settings page with theme toggle and notification preferences." - Flow: intake → spec (agent) → decompose (agent) → queue (agent, outputs JSON) → parse (transform) → spawn (enqueue) → collect (collect_children) → verify (agent) → result.
- Model split (optional): Use Sonnet for spec, decompose, queue, and verify (reasoning); use Haiku for the per-story implement step (speed). The doc examples in
docs/pipelines/examples/illustrate this. - Spawn: The enqueue node creates one run of
implement_story_claudeorimplement_story_codexper parsed task. The parent run pauses until all children are terminal (completed or errored). The collect_children node then aggregates child run results so the verify step can run build/tests and reason over outcomes.
All agent nodes use a built-in code runner. The example files ship with either runner: claude-code or runner: codex. Use a profile to set projectRoot so spawned runs and the verify step have the correct working directory.
Run:
# Standalone (Claude) — use a profile that sets projectRoot for spawned runs
ripline run spec_then_build_queue_claude --profile my-project --input '{"task":"Add a settings page with theme toggle"}'Or use the dedicated Codex variant:
ripline run spec_then_build_queue_codex --profile my-project --input '{"task":"Add a settings page with theme toggle"}'3. Write Tech Script
Purpose: Produce a full YouTube tech-script package from a video idea: technical brief → script draft → fact-check → save to disk.
- Input:
idea(string, video concept/title),duration_minutes(number). - Flow: intake → tech_brief (agent) → write (agent) → fact_check (agent) → save (agent, writes file) → result.
- Claude/Codex: Save node uses
cwd: "{{ run.inputs.scriptsPath }}". SetscriptsPathin a profile or--input.
Run:
# Standalone (Claude) — profile supplies scriptsPath
ripline run write_tech_script_claude --profile my-scripts --input '{"idea":"How Ripline pipelines work","duration_minutes":12}'Example profile for standalone code-runner variants
Use a profile to supply paths so you don’t repeat --input every time:
# ~/.ripline/profiles/my-project.yaml
name: my-project
description: "Main repo and scripts dir"
inputs:
projectRoot: /path/to/your/repo
scriptsPath: /path/to/your/scriptsThen:
ripline run spec_then_build_queue_claude --profile my-project --input '{"task":"Add dark mode"}'
ripline run write_tech_script_claude --profile my-project --input '{"idea":"Intro to Ripline","duration_minutes":8}'These example pipelines live in pipelines/examples/ and are intended to be copy-paste-friendly starting points for standalone Ripline workflows.