get started
Configuration
One file in your repository, a few environment variables, and two directories on your machine.
muxd.json
Created by muxd init at the project root and maintained by muxd sync. Commit it: it is what gives teammates, and their agents, the same docs. You only ever edit two fields.
muxd.json
{ "version": 1, "exclude": ["typescript", "npm:@types/node"], "extra": ["https://docs.stripe.com/llms.txt"], "sources": [ { "slug": "react", "url": "https://react.dev/llms.txt", "kind": "llms-txt", "packages": ["npm:react@19.1.0", "npm:react-dom@19.1.0"] } ], "unresolved": ["npm:left-pad@1.3.0"]}| Field | Edited by | Meaning |
|---|---|---|
exclude | you | Package names, or ecosystem:name, to leave out: build tools, type packages, anything whose docs are noise. |
extra | you | llms.txt URLs or local paths to index for this project even though they aren't dependencies. |
sources | muxd | What each dependency resolved to: the URL, its kind (llms-txt, rustdoc or readme) and the packages it documents. |
unresolved | muxd | Dependencies with no usable docs. They aren't retried until their version changes, or until muxd sync --force. |
fingerprint | muxd | A hash of the detected dependencies, so a sync with nothing to do returns instantly. |
After editing exclude or extra, run muxd sync.
Curated notes: .muxd/docs
When fetched docs are missing or thin, agents can write a verified reference back with the save_doc tool. Inside a project those notes land in .muxd/docs/<slug>.md; commit them and the whole team benefits. Syncs never overwrite them.
Environment variables
| Variable | Used for |
|---|---|
MUXD_SERVER_URL | The muxd API for registry and publishing commands. MUXD_API_BASE also works. Overrides muxd config set-server. |
MUXD_API_TOKEN | API token for muxd push and private conversions. MUXD_TOKEN also works. Overrides muxd config set-token. |
MUXD_RELEASE_TAG | Release to install with the install script or muxd upgrade. |
MUXD_INSTALL_DIR | Where the install script puts the binary. |
CLAUDE_PROJECT_DIR | Set by Claude Code; lets muxd mcp find the project when started from another directory. |
Where files live
| Path | Contents |
|---|---|
~/.muxd/servers | The local store: every indexed source, shared by all projects. |
config.json in your OS config directory | Server URL and API token saved by muxd config. |
<project>/muxd.json | The project's sources, committed. |
<project>/.muxd/docs | Curated notes from save_doc, committed. |