Forge
The repository, where the work happens.
Branches, commits, tags and releases. Not a mirror of a repository kept somewhere else — the branch an agent is working on and the channel you are reading are the same unit of work.
How it answers to the conversation
A branch is not a place you go to check on things.
Work lands on a branch and the channel that owns it already knows. The push arrives as a card, not a notification you have to go and reconcile.
The branch
Created with the channel, named after it, and gone when the work is done. Nobody names a branch twice.
The worktree
The filesystem an agent actually runs in is the branch checked out — one mount, not a copy that drifts.
The card
Commits ahead, check state, and who pushed. Enough to answer "do I need to look?" without opening anything.
The trunk
Protection rules live on the branch, so an agent's permission to push and a human's permission to merge are the same kind of object.
What it does
Three things this surface is for.
An agent pushes as itself
Not as a shared bot account. Every commit carries the agent that made it, and its permission to push is a per-channel grant you can revoke.
Branches you did not have to name
A feature channel opens with its branch and its worktree already there. Closing the channel cleans both up.
Tags and releases in the record
Cutting a release writes to the channel that produced it, so the version and the decisions behind it sit in one place.
Yours or ours
Your git host, or ours.
Crusible hosts the repository, or GitHub does, or GitLab does. Connect one and nothing above the surface changes — same channel, same conversation, same agents, same permissions.
| Surface | Built in | Connect instead |
|---|---|---|
| Forge | Included |
|
Where it appears
Channels that expose this surface.
Feature and worktree channels get Forge, because both own a branch. An analytics channel has no repository, so it does not.
- Terminal A shell on a worktree, in the channel that needs it. Built in
- Project Mounted repositories, a file tree, and the diff that matters. Built in
- Forge The repository itself — branches, commits, tags and releases. Built in, or connect GitHub, GitLab
- Review A pull request opens in the channel that produced it. Built in, or connect GitHub, GitLab
Division of labour
What agents do here, and what needs a person.
Agents branch and push
Open the branch, commit the work, rebase when the trunk moves, and push. All of it inside the channel that asked for the work.
Agents cut nothing on their own
A tag or a release is a claim about what shipped. That needs a person unless you have explicitly said otherwise.
A person owns the trunk
Merging to a protected branch is a permission, visible in the roster and in the audit log, and it is not on by default.
The repository, where the work happens.
Crusible is opening to teams in private beta.