Repolode
Canop

Canop/bacon

A background code checker for Rust that runs cargo check, clippy, and tests on save and shows warnings and errors in a terminal UI.

Stars
3,468
Forks
129
Open issues
37
Last commit
2 days ago

What is it?

bacon is a terminal tool for Rust developers that runs in the background alongside an editor. It watches the project and re-runs checks as files change, so warnings, errors, or failing tests show up without manual commands.

The default job is cargo check, and single keystrokes switch to other jobs such as Clippy, tests, and documentation builds. Failing tests can be narrowed to just the failures, and jobs can be customized through a bacon.toml file that can be committed to source control. It can also check another project by path.

Installation is via cargo install, and precompiled binaries are available. Clipboard and sound actions are optional compile-time features.

Key features

  • 01Runs cargo check by default and re-runs automatically on file changes.
  • 02Switches between jobs like Clippy, tests, and docs with single keys.
  • 03Narrows failing tests to rerun only the failures.
  • 04Customizes jobs with a bacon.toml file.
  • 05Supports shell completion for bash, zsh, fish, elvish, and PowerShell.

Use cases

  • Keeping Rust compiler and Clippy feedback visible while editing in another window.
  • Running tests continuously during development and rerunning only failing ones.
  • Checking cross-compilation targets or examples with custom jobs.

Quick start

  1. 1

    Install bacon from crates.io with cargo

    cargo install --locked bacon
  2. 2

    Run bacon in your Rust project directory to start checking

    bacon

Things to know

  • Licensed under AGPL-3.0, a strong copyleft license with network-use obligations.
  • Designed for Rust projects only, so it does not check code in other languages.

In collections

Topics

#rust#cargo#terminal#clippy#code-checker#testing#check#compilation

FAQ

What is bacon?
A background code checker for Rust that runs cargo check, clippy, and tests on save and shows warnings and errors in a terminal UI. bacon is a terminal tool for Rust developers that runs in the background alongside an editor. It watches the project and re-runs checks as files change, so warnings, errors, or failing tests show up without manual commands.
Is bacon free to use? What license does it have?
bacon is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is bacon still maintained?
Actively maintained. The last commit to bacon was on Nov 4, 2026.
What can I use bacon for?
Keeping Rust compiler and Clippy feedback visible while editing in another window. Running tests continuously during development and rerunning only failing ones. Checking cross-compilation targets or examples with custom jobs.
How do I install bacon?
Install bacon from crates.io with cargo: cargo install --locked bacon Run bacon in your Rust project directory to start checking: bacon
Where can I get bacon?
The source code and installation instructions are on GitHub: https://github.com/Canop/bacon

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects