Getting started¶
This tutorial gets you from a fresh install to a useful carrier workflow.
What carrier is¶
carrier records command executions on your machine. It captures:
- command and arguments
- working directory
- start and finish time
- duration
- exit code
- stdout and stderr logs
- Git root, branch, commit, and dirty state
It is most useful for test runs, builds, migrations, deploy commands, long Docker tasks, and debugging sessions.
What carrier is not¶
carrier is not a hosted service, terminal replacement, shell history replacement, or CI system.
Note
Everything is local. Metadata is stored in SQLite, and output logs are stored as files under your local data directory.
Install carrier¶
Specific versions and Go installs are covered in Installation.
Verify:
Add a short alias¶
Most examples use:
Add that to ~/.zshrc or ~/.bashrc, then reload your shell:
Use source ~/.bashrc if you use bash.
Record your first command¶
Run a simple command:
You should see normal terminal output. carrier records metadata and saves logs.
Show latest run:
Inspect full details:
If your first run ID is not 1, use ID shown by last.
Record a command that fails¶
Run:
The final echo $? should print 7. carrier run preserves child exit code.
List failed runs:
Search output¶
Search command text, cwd, stdout, stderr, and terminal logs:
Export a run¶
Export run details as Markdown:
This is useful when sharing a failure with teammates or adding context to an issue.
Rerun a command¶
Run again from original working directory:
This creates a new run record. It does not overwrite the old run.
Clean old runs safely¶
Preview deletion:
Actually delete:
Next steps¶
- Read First run tutorial for a realistic build/test example.
- Read Commands for full command coverage.
- Read Configuration reference before changing storage, redaction, or notifications.