Skip to content

Cartographer — documentation index

Entry point for users, agents and contributors. Read this file first, then only the pages relevant to your task.

Using Cartographer

File Contents
getting-started.md Zero-to-wiki tutorial: install, first KB, connect an agent, first session
agent-install.md Command-by-command runbook for an agent to install Cartographer, mount a first KB, connect, and verify
deployment.md Native/k8s topologies, server configuration, health, backup/DR, upgrades and CI/CD
configurator.md Multi-provider client (cartographer agents/connect/disconnect/status/sync + TUI): flags, generated files per provider, .cartographer.yaml, lockfile v2, installation
control-plane.md Go server, complete MCP tool API (source of truth for the list), search index and validation
data-plane.md KB model: Atlas/Map/Journal hierarchy, filesystem layout, expanded concepts, OKF concepts, naming, extended type schema
skills-services-secrets.md Skill packaging (SKILL.md), type: Service descriptors, SOPS secrets
sync.md Client ↔ server provisioning sync: manifest+revision, lockfile, drift detection, layered triggers, prune, path-portability placeholders
use-cases.md Executable patterns for runbooks, imports, provider sharing and multi-KB separation

Internals & contributing

File Contents
overview.md Current architecture, runtime shapes, principles and component diagram
concurrency.md Single-writer boundary, git sync, if_match and conflict registry
transport-auth.md stdio / HTTP transport, static bearer tokens, per-KB scopes and statelessness
loop.md Current read, write, validate and lint workflow
interoperability.md OKF boundaries and ownership of provider-specific compatibility documentation
decisions.md Short router to topic-based decision records under docs/decisions/; decisions explain why, while topic docs define current behavior
conventions.md Go conventions (language, style, errors, data-plane safety, tests, dependencies)
testing.md Deterministic unit, smoke and end-to-end strategy plus release checks
references.md Bibliography (Karpathy, OKF, MCP spec, SOPS, agentskills.io)

Project state

Mutable state does not live in narrative documentation:

Quick reading paths

Goal Read
New user getting-started.mddeployment.md (for an always-on or shared server)
New to the codebase overview.mddata-plane.mdcontrol-plane.md
Add an MCP tool control-plane.md §tools → conventions.mdAGENTS.md (recipe)
Debug concurrency / git conflicts concurrency.md
Add a skill or external service skills-services-secrets.md
Deploy / production operations deployment.md
Understand an architectural choice decisions.md → the owning topic register; search docs/decisions/ for ## D<n> or a keyword
Configure an LLM provider interoperability.md
Connect/disconnect an agent (connect/disconnect/status/sync/TUI) configurator.md
Keep a client aligned with the KB skills sync.md
Write or understand a test (unit/smoke/agent) testing.md

Documentation maintenance rules

Docs describe the current state, not the history: no narration of how we got here (the why lives in docs/decisions/, the how in the git log) and no hardcoded counts (link the source of truth). Update the matching file in the same session/PR as the change:

What changes File to update
New MCP tool or change to its interface control-plane.md §MCP tools
Change to the KB model / OKF / filesystem layout data-plane.md
Change to transport, auth or scopes transport-auth.md
Change to concurrency / git-sync logic concurrency.md
New skill, service or secret handling skills-services-secrets.md
Client provisioning/sync logic sync.md
Client subcommands (agents/connect/disconnect/status/sync/TUI) or server YAML config configurator.md (client) / deployment.md (server config)
Token/scope format or enforcement (kb:<name>:r\|rw), per-KB git identity or SOPS transport-auth.md (auth/scopes) + deployment.md (server config, KBSpec)
New provisioning kind (beyond skill/agent/hook) or per-provider destination configurator.md (client) + sync.md (manifest/diff)
A feature is not implemented (deferred, planned, "future work") A GitHub issue labelled enhancement — never prose in docs/. The page keeps only the current limit, with a link to the issue
Project status, milestone, task or bug changes GitHub issue / pull request / release; update CHANGELOG.md only through the release workflow
Any non-obvious choice (why X and not Y) One owning topic file under docs/decisions/ (new D entry); do not duplicate it in other registers
New external dependency Owning topic under docs/decisions/ (D entry) + conventions.md §dependencies
New test level or pre-release checklist change testing.md
Contributor workflow (PR flow, plan issues, build loop) CONTRIBUTING.md
User-facing install/onboarding flow getting-started.md + README
Agent-driven install/onboarding flow agent-install.md + README