Skip to content

Delivery Pipeline

The delivery pipeline (shipwright pipeline) automates the entire software development lifecycle. Start from a GitHub issue or a goal description and Shipwright handles planning, building, testing, reviewing, and PR creation.

Pipeline Stages

intake → plan → design → build → test → review → compound_quality → pr → merge → deploy → validate → monitor

12 stages, each can be enabled/disabled and gated (auto-proceed or pause for approval).

StageWhat Happens
intakeFetch issue metadata from GitHub, or parse the goal description
planClaude generates an implementation plan with tasks and approach
designDesign interfaces, data models, and API contracts
buildDelegates to shipwright loop for autonomous multi-iteration development
testRun the test suite and validate coverage
reviewClaude reviews the changes for quality, security, and correctness
compound_qualityMulti-dimensional quality audit — adversarial, negative, e2e, DoD
prCreate a GitHub PR with labels, milestone, and reviewers
mergeAuto-merge with CI wait and squash (deployed/enterprise templates)
deployDeploy to staging/production (if configured)
validatePost-deploy smoke tests and health URL checks
monitorWatch for errors post-deploy with auto-rollback

Quick Start

Terminal window
# Fully autonomous — fetches issue, plans, builds, creates PR
shipwright pipeline start --issue 123 --skip-gates
Terminal window
# Parallel-safe — each pipeline runs in its own git worktree
shipwright pipeline start --issue 123 --worktree

Pipeline Templates

TemplateStagesGatesUse Case
standardintake → plan → build → test → review → PRapprove: plan, review, prNormal feature work
fastintake → build → test → PRall autoQuick fixes
fullall 12 stagesapprove: plan, review, pr, deployProduction deployment
hotfixintake → build → test → PRall autoUrgent production fixes
autonomousall 12 stagesall autoFully autonomous operation
deployedall 12 stages (incl. deploy, validate, monitor)approve: deployFull deploy + monitoring
enterpriseall 12 stagesall approve, auto-rollbackMaximum safety
cost-awareintake → plan → build → test → review → PRauto, budget checksBudget-limited delivery

Browse templates:

Terminal window
shipwright pipeline list # List all templates
shipwright pipeline show standard # View template details

Intelligence-Composed Pipelines

When the intelligence layer is enabled, Shipwright can compose custom pipelines dynamically instead of using static templates. The intelligence engine analyzes the issue semantically and builds a tailored stage configuration — adding extra stages for high-risk changes, removing unnecessary stages for simple fixes, and routing each stage to the optimal model (opus, sonnet, or haiku) based on task complexity and remaining budget.

Static templates remain as fallbacks when intelligence is disabled or when a Claude API call fails. See the Intelligence guide for configuration details.

Self-Healing Builds

When tests fail after a build, the pipeline automatically captures the error output and re-enters the build loop with that context — just like a human developer reading test failures and fixing them.

Terminal window
# Allow up to 3 self-healing cycles
shipwright pipeline start --goal "Build payment flow" --self-heal 3

The compound quality stage orchestrates this: it runs tests, and if they fail, feeds the failure output back to the build agent as context for the next iteration.

GitHub Integration

The pipeline deeply integrates with GitHub when starting from an issue:

  • Auto-fetches issue title, body, labels, and milestone
  • Self-assigns the issue to signal work has started
  • Posts progress comments as stages complete
  • Creates PRs with labels, milestone, and reviewers propagated from the issue
  • Closes the issue when the PR is ready

Auto-Detection

Shipwright automatically detects your project configuration:

  • Test command — supports 9+ project types (npm, pytest, go test, cargo test, etc.)
  • Branch prefix — derived from task type (feature/, fix/, hotfix/)
  • Reviewers — from CODEOWNERS or git history
  • Language and framework — for context-aware planning

Managing Pipelines

Terminal window
# Resume a pipeline from where it left off
shipwright pipeline resume
# Check pipeline progress
shipwright pipeline status
# Abort a running pipeline
shipwright pipeline abort

Notifications

Get notified about pipeline events via webhooks:

Terminal window
# Slack webhook
shipwright pipeline start --goal "Add auth" --slack-webhook https://hooks.slack.com/...
# Custom webhook (via environment variable)
export SHIPWRIGHT_WEBHOOK_URL=https://your-webhook.example.com
shipwright pipeline start --goal "Add auth"

Pipeline State

Pipeline progress is tracked in .claude/pipeline-state.md and artifacts are stored in .claude/pipeline-artifacts/. This allows pipelines to be resumed after interruption.