10 releases (4 breaking)

Uses new Rust 2024

new 0.10.0 Feb 4, 2026
0.9.5 Jan 21, 2026
0.9.3 Dec 30, 2025
0.9.0 Nov 1, 2025
0.1.0 Sep 21, 2025

#305 in Configuration


Used in capsula-cli

MIT/Apache

63KB
715 lines

Capsula

Crate Status Crates.io License Test Status codecov Documentation

[!WARNING] This project is in early development. The CLI interface and configuration format may change in future releases.

Capsula is a command-line tool that automatically captures and saves information about your command executions. It records what happened, when it happened, and the environment in which it happened.

What Does Capsula Do?

When you run a command with Capsula, it:

  1. Records the environment - Captures git state, environment variables, file contents, and system information
  2. Runs your command - Executes your command normally, capturing its output
  3. Saves everything - Stores all captured data in an organized directory structure

Quick Example

Create a capsula.toml file:

[vault]
name = "my-project"

[[pre-run.hooks]]
id = "capture-git-repo"
name = "my-project"
path = "."

[[post-run.hooks]]
id = "capture-file"
glob = "output.txt"
mode = "copy"

Run your command:

capsula run python train_model.py

Capsula creates an organized directory:

.capsula/my-project/2025-01-09/143022-happy-river/
├── _capsula/
│   ├── metadata.json      # What ran, when, and where
│   ├── pre-run.json       # Environment before
│   ├── command.json       # Command output
│   └── post-run.json      # Results after
└── output.txt             # Your output file

Why Use Capsula?

  • Reproducibility - Capture the exact environment and inputs for every run
  • Traceability - Know which code version produced which results
  • Auditing - Generate complete execution records
  • Debugging - Understand what went wrong by reviewing the complete context

License

Licensed under either of:

at your option.

Dependencies

~21–37MB
~517K SLoC