Skip to content

Repository files navigation

Beez logo: three bees in a honeycomb cell

Beez

CI crates.io GitHub release Homebrew License: MIT

Beez runs coding agents and shell commands as tasks, inside a sandbox, on your own machine. You describe the tasks in one YAML file. Beez runs them in the right order, shows their output, saves a log of every run, and can start the same file on a schedule.

A coding agent is a program such as Claude Code or Codex. You give it a written instruction, called a prompt, and it reads and changes files and runs commands to carry it out. Beez calls these programs harnesses. A sandbox is a set of operating-system rules that limit what a program can read, write, run, and connect to. Beez puts every task in a sandbox by default, so an agent cannot reach your secrets or send data to hosts you did not allow.

Requirements

  • macOS or Linux.
  • On Linux, the bwrap package (bubblewrap). Kernel 5.13 or later for the program restrictions.
  • One or more harnesses on your PATH: claude, codex, pi, or omp. Command tasks need no harness.

Install

With Homebrew on macOS or Linux:

brew install mcuste/tap/beez

With Rust installed:

cargo install beez --locked

Or download a binary from the releases page and put beez on your PATH. Each release includes a SHA256SUMS file to check the download.

Quick start

Run one prompt in a sandbox:

beez run claude "inspect the repository and list the problems you find"

Run a workflow. Save this as review.yaml:

tasks:
  - id: changed
    command: [git, diff, --name-only, main]

  - id: review
    depends_on: [changed]
    harness: claude
    prompt: |
      Review these files and report problems:
      {{ tasks.changed.stdout }}

  - id: test
    depends_on: [review]
    command: [cargo, test, --workspace]
beez run workflow review.yaml

Beez runs changed first, gives its output to the review prompt, and runs test after the review. Tasks that do not depend on each other run at the same time. The output of each task is labeled with its ID, and the whole run is saved under .beez/ next to your repository.

Run the same file every night at 03:00 UTC by adding a schedule and starting the daemon:

schedule:
  cron: "0 3 * * *"
beez schedule add review.yaml
beez daemon start

Documentation

License

MIT

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages