Skip to content

precc 0.1.0 — initial release

Latest

Choose a tag to compare

@yijunyu yijunyu released this 24 May 11:46
· 14 commits to main since this release

First public release of precc, predictive error correction for LLM-driven shells.

precc is a pre-execution hook that rewrites commands before they run — turning what would have been a failed turn into a successful one. It is the missing input-shaping layer that sits next to output-compressing tools.

What's in 0.1.0

Pipeline

  • Skill matching (Pillar 4) — high-confidence patterns auto-apply
  • Context resolution (Pillar 1) — prepend the right `cd` when cwd is wrong
  • Compressor wrapping (opt-in) — pluggable adapters via `Compressor` trait

Front-ends

  • `precc-hook` — Claude Code `PreToolUse:Bash` hook
  • `precc-cursor-hook` — Cursor `beforeShellExecution` hook (allow/deny via `agent_message`, since Cursor's hook protocol does not support rewrites)
  • `precc-shell` — `$SHELL=` wrapper for tools without a hook surface (Aider)

Builtin skills (12)

`cargo-wrong-dir`, `git-wrong-dir`, `go-wrong-dir`, `make-wrong-dir`, `npm-wrong-dir`, `python-wrong-dir`, `gradle-wrong-dir`, `maven-wrong-dir`, `bazel-wrong-dir`, `docker-compose-wrong-dir`, `terraform-wrong-dir`, `just-wrong-dir`.

Compressor adapters

`none` (default) and `rtk` (opt-in via `~/.config/precc/config.toml`).

Measurement

  • `precc skills list` / `precc report` / `precc savings` — work out of the box.
    The hook appends activations to a log on the hot path; measurement commands
    replay the log into `skill_stats` in a single transaction before reading,
    so counters always reflect reality without depending on a background miner.

Install

```bash
cargo install --path crates/precc-cli
cargo install --path crates/precc-hook # Claude Code
cargo install --path crates/precc-cursor-hook # Cursor (optional)
cargo install --path crates/precc-shell # Aider (optional)
precc init
```

See the README for hook config and integration details.

License

Dual-licensed under MIT or Apache-2.0.