Wheat gives every agent its own workspace and a stable change. Work commits privately, revises in place, and integrates only when you ask. Conflicts are kept as data, not raised as errors.
In git, each agent builds its own isolation from worktrees, branches and an index. Whenever main moves, someone rebases, and whoever hits the conflict has to stop. In Wheat, isolation is the default: each agent starts from one exact view, owns one stable change and commits privately. Integration is a separate step, and any conflicts it finds are recorded rather than blocking anyone.
Each agent works in its own directory, and all three are attached to the same Wheat repository. They commit at the same moment. Nobody takes a lock, nobody waits on an index, and no commit overwrites another. Each commit lands as its own change.
Wheat doesn't depend on git, but git is always reachable. Import an existing repository into a new Wheat store, work in changes and revisions, then convert that history back into commits and push it to any git branch. Your CI, reviewers and forge don't need to change.
Workspaces follow your existing .gitignore rules.
Any work that grows with repository size comes with a benchmark and a budget. The numbers below come from release builds, and every result is committed to the repo.
Wheat is written in Rust and is built from source. It installs a single wheat binary into ~/.cargo/bin.
The design docs explain the model in depth: docs/design.