Skip to content

Documentation · Guides

Guides

Each guide walks through one task end to end. Read them in order the first time; every example was run against the release it documents.

All guides

  • Guide 01

    Run a command

    Declare a program, build its argument vector, run it, and read the result; meet the three ways a run can fail; and hold a running child when the caller must decide when it stops.

  • Guide 02

    Control output

    Capture, echo, per-line callbacks, lines streamed as they arrive, a heartbeat for a quiet child, a sink that goes away, a stream sent to a file or the parent, and byte-exact capture.

  • Guide 03

    Input, environment, and deadlines

    Feed standard input from memory or a streaming producer, overlay or replace the environment, set a deadline that tears the child down cleanly, and reclaim the descendants it leaves behind.

  • Guide 04

    Pipelines and concurrency

    Join commands stage to stage, find the stage that failed, and run independent commands side by side.

  • Guide 05

    Catalogues and builders

    Name the programs an application may run, and wrap argument construction in small, validated builders.

  • Guide 06

    Scopes, policy, and hooks

    Narrow what a block of code may run, bind a program to the executable it should run, and run code around every command.

  • Guide 07

    Observe production runs

    Structured logs, metrics, and traces from every run, the settled outcome, redaction for secrets, control operations, and output framed for GitHub Actions.

  • Guide 08

    Troubleshoot a run

    The first thing to check for each common outcome, from an unknown program to a missing speed-up.

  • Guide 09

    Migrate to 0.2.0

    The changes an application using Cuprum 0.1 meets on upgrade, each with its fix, then what 0.2.0 adds and how to adopt each part.