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.
Share links
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.
Search
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.