Docs / Sharing

Sharing

Visibility, orgs, and team write access.

Anonymous read is the default hello

agit clone alice/photo          # public agents: no account needed

Public agents are anonymous-readable over both the API and git smart-HTTP. “Just looking” should not require an account.

A clone is a real clone: full history, original authorship preserved (git log still shows Alice’s name), your first turn hangs off her last one instead of flattening her three days into a fresh start. Running agit clone again is a fetch: you get her newer turns; if both sides moved, no fast-forward — the divergence is shown plainly.

clone —mine — make it yours

agit clone alice/photo --mine

The server copies the bare repo into your namespace; origin becomes your copy, upstream stays Alice’s. On a machine that already has a read-only checkout it’s an in-place promotion: copy is created, origin re-pointed, the directory moves ~/.agit/agents/alice/photo~/.agit/agents/bob/photo, and every version you committed locally survives.

Visibility is inherited from the source: a public source yields a public copy; a private source (which only authorized people can even copy) stays private. Making someone else’s private transcript public must not be a one-command side effect.

Pushing from a read-only checkout isn’t a wall — it’s a question: “build bob/photo under your name and publish?” In non-interactive environments it exits 8 and prints the exact command to run.

Organizations

Org agents let a team push to one shared repo. On the public hub, org creation is operator-run, not self-serve — org names are first-come, unrecyclable, and usually company names, so self-serve claiming would be an impersonation lever. Once an org exists, membership and team grants go through the REST API (POST /api/orgs/{org}/teams, members via /api/orgs/{org}/members). And once bob is on a team that covers the agent:

# bob's side — no org flags needed, the org is just the owner
agit clone acme/recon
agit import <session> --repo acme/recon -b recon-exp   # adopt into the org's agent
agit push acme/recon                                   # team grant = write

Org agents are always public: within the org, read access is unconditionally true; teams govern write. Grant resolution order: org owner shortcut → collaborator → team membership.

agit share 3bac37d7 --views 5 --expire 24h --password   # a session, by id or prefix

A one-shot read-only link for people who don’t run agit. The payload is client-encrypted by default (--public opts out); the hub never sees the plaintext. agit share --list and agit share --revoke <slug> manage them.

agit search "that flaky retry thing"

Searches the corpus you can read (public + yours), backed by a per-blob statistic cache. The MCP tool is the same index, reachable from inside a running agent.