walgit is a single-binary Git server that stores repositories in an S3 or GCS object store instead of relying on a database or important local state. It serves Git fetches and pushes, Git LFS, repository browsing, an API, webhooks, and related repository features for deployments where machines act as disposable caches. The catalogue instruction helps coding agents work with this Git server.
Borrowing it
Nothing to install: this file belongs to tobi/walgit. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tobi/walgit/main/AGENTS.mdgit clone --depth 1 https://github.com/tobi/walgitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/tobi/walgit/agents-md)<a href="https://agentmods.dev/instructions/tobi/walgit/agents-md"><img src="https://agentmods.dev/badge/instructions/tobi/walgit/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/tobi/walgit/agents-md"><img src="https://agentmods.dev/badge/instructions/tobi/walgit/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.12942 | $0.12942 |
| Opus 5.5 | $0.05177 | $0.05177 |
| Sonnet 5.5 | $0.02588 | $0.02588 |
| Haiku 4.5 | $0.01294 | $0.01294 |
Grade A, and why
walgit AGENTS.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **The installer** (`crates/walgit-server/src/setup.rs`, POSIX sh, idempotent): git ≥ 2.46 + curl; pins a How it starts
The opening of the file, as written. The whole thing — 530 lines — stays where its author put it; the contents beside it link to each section on GitHub.
walgit — architecture and operating manual for contributors (humans and agents)
Context: everyone, first. Read this before touching the repository: the constraints the design answers
(§1), how the WAL works (§2), the principles a PR is judged against (§3), every design decision in force (§4),
and the working rules (§5). Reading order starts at GOAL.md; §0 maps every other document.
No backwards compatibility (pre-1.0). We owe nothing to previous shapes of this system. Do not keep aliases, fallbacks, shims, deprecated routes, old config keys, old proto fields or migration code. When a decision changes the shape, delete the old shape in the same change: routes, clients, tests, docs, config keys. Data in the bucket is the one exception — WAL/manifest/log formats stay append-only and replayable, because the bucket is the repository; everything else is disposable. If you find yourself writing "still accepted for …" or "legacy", stop and remove the thing instead.
walgit serves git over smart HTTP (v0/v2), receive-pack, upload-pack, LFS and a browsing web UI,
written in Rust, from disposable hosts whose only durable state is an object-store bucket. The reference workload
it was built against is a 57 GiB / 73 M-object / 1.4 M-commit / 466 k-ref monorepo with LFS, served from
machines whose "disk" is 20 GiB of tmpfs, next to a long tail of small repositories. The design follows Cursor's
Git at any scale (Continuity); README.md tells the story, this file keeps the rules.
0. Document map (one home per fact — link, don't duplicate)
| Doc | Who / when to read it |
|---|---|
GOAL.md |
Everyone, first. What walgit is for, the acceptance table, what we do not optimise for. |
AGENTS.md (this) |
Everyone. Constraints §1, WAL §2, principles §3, decisions §4, working rules §5. |
README.md |
The introduction: why (the Cursor lineage), what it does, how it works briefly, running it, invariants. |
docs/PACKFILE_URI_DESIGN.md |
Anyone implementing pack groups, proofs, lifecycle, or negotiated delivery. Design target; later layers require separate implementation and evidence. |
docs/PACKFILE_MIGRATION.md |
Bundle removal, saved settings, writer cutover, clients and rollout gates. |
docs/spec/README.md |
Bounded models, contract identifiers, result semantics, code/test map and remaining verification gaps. |
docs/ROUNDTRIPS.md |
Anyone touching a protocol that talks to the bucket (publish, sync, checkpoints, compaction/leases, remote reader, store backends). Round trips are the cost model; correct is not sufficient. |
docs/POLICY.md |
Anyone touching receive-pack authorization or writing a repo policy. Normative rule language. |
docs/LFS.md |
Anyone touching LFS (lfs.rs, lfs_upstream.rs) or importing a repository whose LFS history lives elsewhere. |
docs/INTEGRITY.md |
Anyone touching import, the maintainer's fsck/repair units, or seeing connectivity: missing object on a push. |
docs/EVENTS.md |
Anyone changing WAL-derived ref events, the webhook bridge, consumer semantics or event cursors. |
docs/CONTRACT.md |
When you touch a crate boundary. The cross-crate contract; extend, don't rename; code wins where they differ. |
docs/reference/cursor-git-at-any-scale.md |
The source design, verbatim. Read once before touching WAL/publish/sync/placement. |
web/API.md |
UI/SDK authors and anyone changing web/*.rs. Wire contract, caching rules, SSE envelope, tasks, prefix-first lanes. |
web/sdk/README.md |
Users of repos.js. |
web/README.md |
Frontend engineers changing the React SPA, Vite build, SDK adapter, static assets, loading states. |
walgit.example.toml |
Every config key with its default and a comment. Change it with the code. |
walgit.standalone.toml |
The one-machine shape: walgit-server --config walgit.standalone.toml → https://walgit.localhost:8080/. |
deploy/nginx.conf.example |
An optional nginx in front; documents the X-Accel-Redirect byte-offload contract. |
Containerfile, flake.nix |
An OCI image; a Nix package, image and devshell. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +83 lines · +1,223 tokens per session 983a89b91801
- 2mo ago First seen · 447 lines · 11,719 tokens per session scan A 4c0ff859f999
walgit AGENTS.md is an instructions file published in the GitHub repository tobi/walgit (2,707 stars, last pushed 1mo ago), licensed MIT. It adds 12,942 tokens to every session, about $0.0518 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
walgit AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| walgit AGENTS.mdtobi/walgit | Instructions file | 2.7k | 1mo ago | MIT | A | 12,942 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |