1. Create
You describe the task. The core resolves the repository root and derives a branch:2. Worktree
git worktree add off the current base — and the base SHA is pinned right here.
That’s what makes the review in step 5 usable: every diff you see later is base_sha..HEAD. An agent that spent two hours working doesn’t drown you in everything else that landed on main meanwhile.
If the repository has a .tyba/setup.sh, it runs now — that’s the place to symlink .env, run bun install, spin up a per-worktree database.
3. Spawn
The PTY starts inside the sandbox, with an env built from an allowlist. YourDATABASE_URL and your tokens are simply not there — the agent gets six variables plus whatever the repository’s .tyba/config.toml authorizes, after you approve it.
Writes are limited to the worktree and temp. Reads depend on the platform — and that difference is in Platforms.
4. Monitor
The session reports status:
When something needs your approval, it becomes an inbox item with a native notification — and the session stays blocked until you answer. You answer right there, without switching windows, and the answer is written straight into that PTY.
What needs approval and what goes through on its own is in Risk classification.
Status is not guessed by scraping the screen. TYBA injects hooks into the agent and listens for the events on a local channel: the tool about to run becomes
Running, the end of a turn becomes Idle, and a request for an answer becomes AwaitingInput. It’s the same channel that feeds the approvals inbox — how TYBA talks to the agent.5. Review
The review is built from local git only — there is no round-trip to GitHub. Commit timeline, per-file summary, and hunks loaded on demand when you click.A lockfile diff is tens of thousands of lines. It stays collapsed until you ask for it.
6. Integrate
Local merge, squash, orgh pr create through your own gh.
Push and merge are executed by TYBA, outside the jail. The agent’s session never had network credentials — and that is exactly the point. The button that approves a push lives inside the review, after you’ve seen the diff.
main or master is refused by the core. Always.
7. Clean up
git worktree remove and garbage collection of orphan branches.
What to do now
Run two sessions at once in the same repository. That’s where the design shows: session A editingsrc/ can’t see or clobber session B’s tree, and neither of them touches your working copy.
Risk classification
What the agent does on its own and what waits for you.
Configuration
Environment and default agent, per repository.