Skip to content

Quick Start

heal turns codebase decay into agent work. Every commit, it re-measures complexity, hotspots, and duplication, then hands the resulting TODO list to Claude — which proposes fixes and applies the ones you approve, one commit each. The human steps out of the polling loop. This walkthrough sets that loop up end-to-end in about five minutes.

Before you start.

  • macOS or Linux
  • A git repository to evaluate
  • (Optional) Claude Code for the heal plugin’s /heal:setup, /heal:refactor, /heal:docs, and /heal:tests skills

Pick one — same heal binary regardless of method.

brew install kechol/tap/heal-cli
heal --version

Method-by-method details: Installation.

One command sets up .heal/ and installs the git hook.

heal init

Creates .heal/ (config and calibration) and installs the post-commit hook that flags the next Critical / High after every commit. It is safe to re-run: an existing config and calibration are kept unless you pass --force. heal doctor shows what is set up and what is left.

The skills ship as a Claude Code plugin. In Claude Code, run:

/plugin marketplace add kechol/heal
/plugin install heal@heal

Then run the setup skill. Optional but recommended on the first run:

/heal:setup

It starts from heal doctor, so it only does what is missing: it asks Strict / Default / Lenient and updates .heal/config.toml, offers to turn on the opt-in Test / Docs / Semantic families and builds what they need (doc pairs, a coverage reporter, a concept list), and recalibrates only when you agree. Re-run it any time — on a project that is already set up it just reports that everything is in place.

The TODO list is grouped by effective Drain Tier and Severity, with same-family rows ordered by descending hotspot score.

heal status

Prints the per-file TODO list in Tier, Severity, then score order. Filters and JSON output: CLI › heal status.

Each skill reads what heal found, proposes changes, and applies only the ones you approve — one commit per proposal, with your tests run before each commit. None of them push or open a pull request.

/heal:refactor # read the code findings as a system and propose refactors, structural ones included
/heal:refactor plan # propose only; apply later
/heal:docs # [features.docs]: fix, rewrite, move, or split docs through the Diátaxis lens
/heal:docs scaffold # [features.docs]: stand up a doc tree from the codebase on a project with no docs yet
/heal:tests # [features.test]: write, align, re-enable, or remove tests through the test pyramid

Skill details: Code › Skills, Docs › Skills, Test › Skills.

Topical pages on the docs site:

When you’re ready for more than the always-on Code family:

If a step does not behave as documented, please file an issue.