Projects, sessions and git
Each session works on its own branch; pull requests are followed for you.
Point motita at a repository and it becomes a project. Everything a session does happens in an isolated copy, so you can run several jobs at once without them touching each other or your checkout.
Sessions and worktrees
- Every session in a project gets its own git worktree on its own branch (
motita/<session>). Dependency folders such asnode_modulesare linked rather than reinstalled. - Every turn is a checkpoint. Go back to any turn; the conversation rewinds, and the files too when you ask.
- Ask the agent to integrate its work and it commits and merges the branch into the project's. The session becomes read-only, and continue opens a fresh one from the updated base.
- Deleting asks first. You see exactly which uncommitted files would be lost.
- Instruction files are read:
AGENTS.md(orCLAUDE.md) from the git root down, and your own~/.motita/AGENTS.md. They guide how to work and never override your request or your security settings.
Git hosts
Connect GitHub, GitLab, Bitbucket, or a self-hosted GitLab, Gitea or GitHub Enterprise once, from Settings → Git connections or /git connect. GitHub signs in with one click. The other hosts need either an OAuth application of yours or a token you create by hand; a token does everything the login does and is checked before it is saved.
After that, git clone, pull and push work inside a session. Logins go only to commands you approved, and are stored in ~/.motita/auth/ with owner-only permissions, never in the configuration file.
Pull requests and CI
- Commit messages and pull-request titles must be semantic (
type(scope): description); anything else is refused before it is made. - The agent opens a pull request with
motita forge pr create(you are asked first) and gives you its link. - From then on the gateway follows the CI, the reviews and the merge state without the model, so waiting costs no tokens. When a job fails or a reviewer comments, the agent is sent back to fix it, up to a limit you set (5 by default).
- A project can merge by itself (
auto_merge) and open the next session by itself (auto_continue).
Background agents
A job with independent pieces does not have to run one piece at a time. The agent can start background agents, each on its own branch, up to agent.max_parallel (3 by default). Each one has a role: code writes, review and research read and change nothing. You see each one's purpose, state, time and token cost in the terminal (Ctrl+G) and in the browser's agents drawer.