Browse docs ⌄
REPLUME / DOCS / HOW IT WORKS

How it works

What Replume writes, sees, checks and sends.

Replume runs alongside the coding agent through project hooks. Hook coverage depends on the agent and how you run it.

What exactly happens

1. Initialize the project

Today

replume init creates .replume/config and Replume's ignore file, then installs the supported project hooks for agents detected or selected. Claude Code uses .claude/settings.json; Cursor uses .cursor/hooks.json with --cursor or an existing .cursor/; Codex uses .codex/hooks.json with --codex or an existing .codex/. Existing hook settings are merged, with a backup when the installer changes an existing file. .replume/contract.yaml is created at the first task prompt in auto mode, not by init.

See: the matching hook file, .replume/config, and replume init output. A hook file shows installation, not that a hook fired.

2. Form the task contract

Today

The first prompt gives Replume the task. Auto mode writes its proposed scope, protected paths and test command to .replume/contract.yaml. These are assumptions from the prompt and repository, so read them when a result seems surprising.

See: .replume/contract.yaml after the first prompt and the task section of the report.

3. Observe and respond during work

Today

Supported before-action hooks can deny a protected edit or risky command, or return advice about scope. After-action hooks record what the agent tool reported. Events are appended to .replume/events.jsonl; they can include task text, file paths, test evidence and tool input, including text supplied to a Write tool. Replume applies pattern-based secret redaction before writing, but it is not a guarantee. This local file is editable, not tamper-proof.

See: replume watch during a task, then .replume/events.jsonl. A STEER line is advice; a BLOCK line is a denial.

4. Check the finish

Today

When a supported Stop hook fires after changed files, the Stop gate runs the selected test command. A failing or empty run can send the agent back with the failure and allowed files; retries are bounded. A timeout or missing hook is reported rather than treated as a pass.

See: TEST, HOLD, RETRY and GATE in replume watch, followed by the tests section in .replume/reports/.

5. Read the result and its limits

Today

At finish Replume verifies the changed snapshot and saves Markdown and HTML in .replume/reports/. PASS means the checks that ran passed. FAIL names a failed required check. INCOMPLETE means there was not enough evidence to verify the result; it never counts as PASS.

See: the verdict and evidence in the saved report. Re-run replume verify for a fresh check of committed work.

6. Know what leaves the machine

Today

Core hooks and local verify checks do not send data through Replume; your own test command may use network. In 0.2.3, the model review at finish is on by default and sends the data described in the next step. Optional replume share, replume github comment, registry checks and legacy model-judge flags can send data. Review their destination and preview before choosing them.

See: Privacy for the destination and exact data of each opt-in feature.

7. Model review at done

Today

Published 0.2.3 runs a second agent CLI review at finish by default. It was not in 0.2.1. That CLI sends the task text, diff and test output to its own model provider under your login, after best-effort redaction. The deterministic verdict does not depend on that review.

See: the model-review section of Privacy; 0.2.1 had no default model review.

8. Remove or disable

Today

To pause capture without deleting local reports, remove only Replume’s entries from the project hook files. Keep the other hooks. Removing the entries stops future capture but leaves reports already saved.

See: the hook files and the removal instructions.

9. One-command removal

Today

Published 0.2.3 includes replume uninstall. Run replume uninstall --dry-run to preview what it would remove.

See: Changelog for its release status.

10. What Replume cannot see

Today

Replume cannot guarantee capture when hooks are disabled or unsupported, or a tool action bypasses them. It cannot prove every requested behavior from a green test. Local ledger and baseline files can be edited by someone with repository access.

See: the report's capture coverage and changed paths outside captured tools, plus Privacy. A quiet ledger is not proof that no work happened.

NextAuto & Approve ↗