This guide captures the baseline operating model we recommend for production usage.Documentation Index
Fetch the complete documentation index at: https://docs.mesa.dev/llms.txt
Use this file to discover all available pages before exploring further.
Recommended patterns
- Create a timeline-per-session for non-trivial agent tasks.
- Treat
mainas promoted, reviewed state. - Scope API keys to the minimum required permissions.
- Add metadata in commit messages so runs are traceable.
Operational practices
- Track commit and merge latency in your critical paths.
- Enforce repository naming conventions and limits.
- Keep human review workflows for high-impact changes.
Repo-per-project
Use a separate repository for each project or similar concept in your application. This keeps history focused, reduces noisy diffs, and lets you apply permissions and retention policies per project. Use this when projects are logically independent and typically reviewed/deployed separately. Some examples of how to decide what’s a repo and what isn’t:- n8n-style workflows: each workflow is a separate repo
- app builder: each user app is a separate repo
- coding agents: each user codebase is a separate repo
- VMs & infra: each user volume is a separate repo
Checkpoint-per-prompt
Create a new change (and move the session bookmark to it) after each user prompt. This gives you a clean timeline of intent, makes undo/redo straightforward, and lets you restore the repository to a known good state if a later step goes wrong.- conversational coding agents,
- iterative content generation,
- any workflow where users expect “undo last prompt” behavior.
Timeline-per-session
Create one bookmark per user session/chat/run instead of mixing multiple sessions onmain. Each session can evolve independently, and you can merge or discard without affecting parallel work.
session/<session-id> or proposal/<feature-name>-<run-id>.
Short-lived bookmarks
Keep session/proposal bookmarks temporary. Merge approved work quickly and delete abandoned bookmarks. Short-lived bookmarks reduce drift frommain, lower conflict rates, and make reviews easier because diffs stay small.
main or delete it.
Approvals (proposal bookmark + diff)
Use a proposal bookmark for all non-trivial changes, then show users a diff before merge:- Agent writes changes on a proposal bookmark.
- Fetch the diff between
mainand the proposal bookmark. - Render the diff in your UI in a way that makes sense for your app.
- On user approval, merge the proposal into
main. - On reject, keep the bookmark for iteration or delete it.

