A five-minute tour with the CLI, using a small GitLab pipeline. Every
output below is real — reproduce it with the fixture file
tests/cross_corpus/gitlab/ci_build_test.yml
from the repo, or your own CI file.
cargo build --release -p pipeline-cli
export PATH="$PWD/target/release:$PATH"
pipewright --help # prints the 13 subcommandspipewright detect ci.yml
# gitlab
pipewright inspect ci.yml | jq '.pipeline.jobs[].name'
# "test"
# "build"inspect returns the full structured model (stages, dependencies,
parameters, steps, byte offsets) as JSON — ready for jq or any
script. Auto-detection covers all 17 platforms; force one with
-p <key> when a dialect is ambiguous.
pipewright plan ci.ymlExecution plan — 2 job(s):
1. build
image: rust:1.75
$ cargo build --release
2. test (after: build)
image: (none — would default to alpine:latest)
$ cargo test
pipewright run ci.yml --job build # needs a reachable Docker daemonJobs run in dependency order, each in its declared image, output streamed live.
pipewright capabilities ci.yml | jq '{overall, summary}'{
"overall": "PossibleWithCaveats",
"summary": "2 job(s), 2 step(s); 3 non-universal capability families in use."
}PossibleWithCaveats means the pipeline uses features not every
platform expresses identically — the per-feature list in the full
output (and the Migrate tab's friction report) names them.
pipewright migrate ci.yml --to dronekind: pipeline
name: pipeline
steps:
- name: test
depends_on: [build]
commands:
- 'cargo test'
- name: build
image: 'rust:1.75'
commands:
- 'cargo build --release'That's a cross-family migration — GitLab's job-based shape into drone's flat step list — handled structurally, not by string templates. All 17×16 platform pairs are exercised by the project's interop gate.
pipewright render ci.yml --format md --locale de > RUNBOOK.de.mdA generated, human-readable runbook (en/de) of what the pipeline does, job by job.
Build and launch the desktop app (see Install) and drop any CI file onto the window: jobs list, editable DAG diagram, capability profile, migration with friction report, recipe composition, local runs, exportable runbook — same engine, same results. The User manual walks every tab, organised by role.