Start with one repo

Point it. It indexes.

Paste any GitHub, GitLab, or git remote URL. No install, no webhook setup. History, symbols, audit row, and graph arrive together.
Import a remote repository: import
import

citadel-cli import https://<remote>/repo.git

1. cloning over HTTPS (read-only)

2. building symbol index

cloned

986 symbols indexed (go + ts)

audit row written - keyed to your namespace

knowledge graph ready

Next action
After indexing, the repo is queryable. Search symbols, view the knowledge graph, or open the wiki to start documenting.
What arrives
Everything, at once.
The import produces the same four outputs as a native push: a full clone, a symbol index, an immutable audit entry, and a queryable knowledge graph. Nothing is deferred.
cloneindexauditgraph
Permissions and scope
accessRead-only clone over HTTPS or SSH. GitHub OAuth, GitLab token, or any public remote.
arrivesCommit history, branches, tags, source files, and symbol graph.
not includedIssues, pull requests, CI status, and star counts are not imported. Those remain on your origin host.
Migration

Bring your repos.

From any git remote. No lock-in to leave, no lock-in to arrive.
Import
One-time copy over HTTPS or SSH. History, branches, tags - indexed on arrival.
Terminal session: import
import

citadel-cli import https://<remote>/repo.git

cloned - 986 symbols indexed - 6 edges

Mirror
Continuous sync from a source of truth, with source-wins push rejection so the mirror never diverges.
origin remote-> mirror ->src.land
local pushes to the mirror are rejected, not merged
Deploy

Cloud, or your own metal.

src.land
Managed cloud.
zero ops - push and go
automatic indexing and backups
free for solo and open source
self-host
One Go binary.
offline license - no phone-home
air-gap + IP/CIDR allowlist
your Postgres, your data
point inference at your own endpoint

Start with one repo

Paste a remote URL.

GitHub, GitLab, Gitea, or any HTTPS or SSH git remote. Indexing starts on arrival.