index is a shared, open-source monorepo of developer tools that anyone can
modify. The bet: one repo everyone can edit is the fastest way for all of us to
move. Add something useful, and everyone gets it.
It is one Nix flake holding ~45 packages (mostly Rust, with Python, Elixir,
TypeScript, and Svelte where they fit), a corpus of NixOS modules, fleet
examples, and the agent infrastructure that ties them together. Most packages have
a from-source page under doc/. To explore, point Claude at
this repo and ask whether anything here is useful for you.
The harness, governance, and tuning loop that runs coding agents (Claude Code and
Codex) across the fleet under one set of rules. The house system prompt is
system-prompt.nix, an ordered set of named,
reviewable bindings rather than a text blob, so behavior changes land as PR diffs.
| Package | What it does |
|---|---|
claude-code / codex |
Agent CLIs wrapped with the shared house prompt, MCP servers, and hooks baked in |
policy |
One source of tool-access rules for both wrappers (deny force-merge, block superseded builtins) |
system-prompt-eval |
Spawns sandboxed claude -p rollouts, scores them with an LLM judge, commits the scores |
claude-hooks |
Lifecycle hooks as one Rust binary; every hook fails open and silent, so a broken hook never blocks a session |
subagent-cache |
Memoizes read-only investigations across the team, validated by Postgres recall + a Haiku judge + file-freshness hashing |
symphony |
Elixir/OTP runtime orchestrating multi-repo Codex sessions from a .sym DSL, each in its own git worktree |
distiller |
Turns raw session transcripts into searchable, reusable lessons |
pi-harnesses |
Fixed agent postures: sandboxed engine, beam-search executor, skeptical prosecutor |
claude-stories |
A status-line row of teammate avatars, peer-discovered over Tailscale with no central server |
| Package | What it does |
|---|---|
nix-cargo-unit |
Renders the Cargo workspace as one content-addressed derivation per rustc unit, not per crate |
snix |
A Rust reimplementation of Nix, built here with cargo-unit (~1100 crate builds collapse into one incremental graph) |
nix-fast-build + nix-eval-jobs |
Patched to correctly skip already-realized CA outputs (an ~85s cache-check floor for ~1450 units becomes ~0.1s) |
oci-image-builder |
Splits image "describe" from "materialize" and shards per-layer tarring, so rebuilds stay fast and deterministic |
nix-web-monitor |
Streams Nix's internal JSON build log into a live browser dashboard while the build runs in your terminal |
blast-radius |
Reports how many derivations a PR would rebuild, and why |
indexbench |
Gates macro-benchmark and allocation-count regressions in CI |
| Package | What it does |
|---|---|
search |
Semantic code search by meaning; content-addressed, so identical files across branches share one embedding |
astlog |
Datalog over tree-sitter syntax trees (matches as relations, joins as rules); gates nix run .#lint |
scipql |
The same idea over a SCIP semantic index, so a rename never touches an unrelated same-named symbol |
| Package | What it does |
|---|---|
tui |
A PTY driver: drive any interactive program (gdb, vim, REPLs) and read back a rendered screen, not raw escape codes. Python + Node bindings |
reel |
Records a terminal demo through the PTY driver and encodes it to animated AVIF/WebP (see below) |
run |
Records a command under a terminal session, keeping agent logs small |
dashboard |
A live grid of running terminals in the browser over a Loro CRDT and SSE |
The demo at the top of this README is not a screen recording. reel
drives a real shell through the PTY driver, rasterizes the styled grid with a flat
palette and an embedded monospace face, and encodes a 60fps animated AVIF (WebP
fallback). AV1's inter-frame compression keeps it around 140 KB. Regenerate it any
time with nix run .#reel.
A Python mcp server hands all of the above to an LLM with no
install step. Its one general python_exec tool runs on a single shared,
persistent IPython kernel: namespace persists across calls, work can background
past the foreground budget, and sessions checkpoint to disk. Bundled modules
expose search, the PTY driver, a fleet cluster API (Ray, Spark, SSH fan-out to
Polars frames), browser and screen control, and cloud integrations.
The layer ix publishes on top of its closed-source VM primitives: reusable, auto-discovered NixOS modules and declarative fleet helpers.
| Package | What it does |
|---|---|
vmkit |
Spawns guests on macOS Virtualization.framework or Linux libkrun from one binary |
chrome-vm |
Runs headless Chromium inside a real VM |
ix-fleet |
Drives declarative multi-VM rollouts |
dag-runner |
Executes JSON task DAGs for parallel health checks |
nix flake show # list every package, module, and check
nix run .#lint # nixfmt, statix, deadnix, astlog (nix + rust)
nix build .#nginx-lifecycle-up # realize one example fleet wrapper
nix run .#reel # regenerate the demo above| Path | Contents |
|---|---|
packages/ |
Repo-owned tools and their package-local assets: agent stack, Nix build system, search, PTY driver, MCP server, reel |
packages/agent/skills/ |
Claude Code skills shipped to agents by the skills flake package |
packages/indexbench/filesystem/ |
Filesystem benchmark source for the bench-filesystem package |
packages/sdk/ |
Source-available SDK bindings and SDK-specific checks |
packages/maintainers/scripts/ |
Repo maintenance scripts that are packaged or called by flake outputs |
modules/ |
Opt-in NixOS service modules and profiles, auto-discovered |
lib/ |
Shared Nix APIs and reusable builders only; package-specific glue stays with its package |
doc/ |
From-source documentation, one page per package |
examples/ |
Standalone consumer fleets and copyable mkDev composition patterns |
rfcs/ |
Architecture decision records |
Bug reports and enhancement requests go to GitHub Issues. Security reports follow SECURITY.md. Code changes land through pull requests against the main branch; see CONTRIBUTING.md for local setup, coding standards, and commit conventions.
See AGENTS.md and CONTRIBUTING.md when you're ready to dig in.