What notdocs is
A notdocs workspace is a folder of markdown files in a git repository. Each file is a document. The web app edits those files, the notdocs CLI edits them, and a coding agent edits them over MCP. There is no database of your content to keep in sync with the repository, because the repository is the content.
flowchart LR
repo[("Your repository<br/>docs/*.md")]
web["Web app"] -->|save = commit| repo
cli["notdocs CLI"] -->|write| repo
mcp["MCP server"] -->|docs.update| repo
repo -->|push webhook| index["Index<br/>search · boards · merges"]
index --> web
index --> cli
index --> mcpThe hosted service at notdocs.dev reads and commits through a GitHub App. Locally, the same code runs as a daemon on your machine against any folder, with no account.
Pick a path
Sign in, install the GitHub App, pick a repository. Every save is a commit.
LocalThe daemon and the CLI on your machine, against any folder, offline.
AgentsGive Claude Code, Cursor or any MCP client the same workspace.
CLIEvery command, for a local folder or a hosted workspace.
What is in a workspace
- docsthe documents root, configurable
- _templatesone file per template
- tasks
- annual-toggle.mdtype: task
- launches
- pricing.mdtype: launch, with a query block
- roadmap.mdtype: page
- .notdocs
- commentsone YAML file per document that has threads
- indexthe local daemon's index
- notdocs.config.jsondocs root, custom types, ignored paths
- CLAUDE.mda section for agents, appended by notdocs init
The content model is described under Documents, Query blocks and Comments; the page over the file under The editor; how edits meet under Editing together and Branches and merges; who can read it without an account under Publishing.