- Store code and assets produced by coding agents, one repository per generated project
- Give agents a durable Git history with branches, merges, and activity attribution
- Create repositories at product scale from your control plane with the SDKs
- Mount a repository as a live directory in a sandbox, without cloning it first
- Track durable workspace checkpoints, snapshots, branch activity, and mount liveness from the control plane

Quickstart
Install the Tensorlake CLI and sign in:main, and verify the history with Git.
1
Create a repository
- CLI
- Python
- TypeScript
agent-outputs is an ordinary Git repository. Its default branch is main.2
Commit and push files
Use Git directly, or push a local worktree from your application.The repository now has a normal Git commit on
- Git CLI
- Python
- TypeScript
Clone with a short-lived credential, then use Git as usual:
First commit on a fresh machine? Git needs an identity:
git config user.name "Agent User" and git config user.email "agent@example.com".main.3
Mount the repository into a sandbox
agent-outputs has behaved like a normal Git repository, and git clone would work here too. Mounting skips the clone — content streams in as it’s read. A writable mount is the default; it creates its private server workspace lazily when the first autosave WAL checkpoint arrives. Add --ro for a stateless read-only view that follows the branch or pins a commit.4
Edit, snapshot, and promote
main contains the change. New mounts, git clone, and git fetch all see the same files.Mental Model
The workflow is:- A repository stores the durable Git history.
- A mount gives a sandbox an ephemeral directory backed by the repository, no clone required. A mount is writable by default; add
--rofor a stateless read-only view of a branch, a pinned commit, or a subtree of a monorepo. - The shared local journal records writes crash-safely. Autosave publishes those writes to a durable private workspace WAL without creating a commit or moving a branch.
- A workspace is created lazily on the first remote WAL checkpoint and holds an agent’s isolated state.
- A snapshot materializes the current WAL as a Git commit on the workspace.
- Promotion publishes a workspace snapshot to a branch so future mounts and Git users can use that version. Rebase replays a workspace onto a moved branch, server-side.
- The control plane can observe mount liveness and durable workspace operations. The unsealed local edit tail stays in the sandbox until autosave.
Git or the tl CLI?
Both work against the same repository. Which one you use depends on what is on disk in front of you:-
You cloned (
git clone) → use ordinary Git. A clone is a real checkout with a.gitdirectory; Tensorlake is a normal remote. Commit, rebase, merge, and push exactly as you would anywhere. -
You mounted (
tl git mount) → use thetl gitverbs. A mount has no.gitand Git commands do not run inside it; the verbs are the mount’s interface, and each maps onto a Git habit: -
You have no files at all (a control plane, CI, an SDK caller) → use
tl git mergeand the SDKs. Merges, preflights, and conflict queries run server-side without any checkout.
git fetch sees, and a git push shows up in mounts on their next refresh or sync.
What Tensorlake Provides
- Plain Git repositories: clone, branch, commit, merge, push, and fetch over Git smart HTTP.
- Server-side merges and rebases: merge branches, preflight conflicts, rebase workspaces, and query structured conflict records without a checkout.
- Repository mounts: instant read-only views of any branch, commit, or subtree — and isolated workspaces with private autosave WAL plus explicit snapshot, promote, and rebase when agents need to write.
- Fleet observability: durable workspace checkpoints, snapshots, operations, and mount liveness are available to the control plane, with actor attribution in activity history.
- SDKs: create repositories, push worktrees, and merge branches from Python or TypeScript.
Where To Go Next
Use with Git
Mint a credential, clone, branch, commit, merge, and push with ordinary Git.
Repository Mounts
Mount any branch, commit, or subtree into a sandbox; snapshot progress and promote finished work.
Repository SDKs
Create repositories, push worktrees, and merge branches from Python or TypeScript.
Merging Changes
Land workspaces on moved branches, resolve conflicts, and merge branches directly.
Authentication
How CLI credentials and short-lived Git credentials fit together.
Store Agent-Generated Code
Store generated apps, docs, and assets with snapshots, promotion, and activity history.