Metadata-Version: 2.4
Name: audited-runbook
Version: 0.1.0
Summary: Run multi-step shell procedures with atomic audit trail. Every step persisted before execution. Every failure recorded. No silent drops.
License-Expression: MIT
Project-URL: Repository, https://github.com/andrewhanover/audited-runbook
Keywords: runbook,audit,execution,shell,cli,devops
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: pyyaml

# Audited Runbook Executor

Multi-step shell procedures with atomic audit trail. Every step is persisted before execution. Every failure is recorded. No silent drops.

## Install

```
pip install audited-runbook
```

From source:

```
pip install -e .
```

## Verify

```
runbook --help
```

## Run a runbook

```
runbook run runbooks/test-success.yaml
```

With overrides:

```
runbook run --cwd /tmp --env FOO=bar --env BAZ=qux runbooks/test-success.yaml
runbook run --db /tmp/my.db runbooks/test-success.yaml
```

## Query history

```
runbook history
runbook history -n 5
```

## Inspect an execution

```
runbook inspect <execution-id>
```

## View audit trail

```
runbook audit <execution-id> --pretty
runbook audit <execution-id>            # raw JSON
```

## Validate a runbook (no execution)

```
runbook validate runbooks/test-success.yaml
```

## Runbook format

```yaml
name: my-deploy
description: Optional description.
steps:
  - name: run-tests
    command: pytest tests/ -x
  - name: build
    command: docker build -t myapp .
    timeout_seconds: 300
```

## Default database

`~/.runbook/runbook.db` — override with `--db PATH`.
