Datacore Install Instructions for AI Agents =========================================== Datacore is an AI second brain: it captures what you learn, organises it with GTD and Zettelkasten, and runs agents that execute tasks overnight. Plain text, local first, on the user's own machine. Datacore ships WITH PLUR, its memory engine. Datacore organises; PLUR remembers. Installing Datacore installs both — you do not need to install PLUR separately, and an install without it produces an assistant that forgets every correction between sessions. See https://plur.ai for PLUR on its own. If a user has pointed you at this page and asked you to install Datacore, run ONE STEP below and then verify. Nothing else is required. STEP 1 — Install npx @datacore-one/cli init Or, if npx is unavailable: curl -fsSL https://datacore.one/install | bash This is an interactive wizard (about 10 steps). It will: - install missing prerequisites (Node 20+, git, python3, gh, Claude Code) - install the Datacore MCP server (@datacore-one/mcp) - install the PLUR memory server (@plur-ai/mcp) - register BOTH with Claude Code and Claude Desktop - create the user's ~/Data second brain and pick modules - ask the user to name their Chief of Staff and give it a personality - offer the desktop app at the end RUN IT IN A TERMINAL THE USER CAN SEE AND TYPE INTO. It asks real questions — their name, which modules, what to call their Chief of Staff. Do not run it with output piped or swallowed; you will hang on the first prompt. Non-interactive installs: `npx @datacore-one/cli init --yes` takes defaults for every prompt, including naming the Chief of Staff "Winston". STEP 1b — IF YOU ARE AN AGENT, ASK THE QUESTIONS YOURSELF (preferred) A person being helped by an assistant should not have to drive a CLI wizard. Ask them in conversation instead, then hand the answers over: npx @datacore-one/cli init --print-questions # JSON: the questions # ...ask the user, write their answers to answers.json... npx @datacore-one/cli init --answers answers.json --print-questions returns each question with its key, its default, and a note on why it matters, plus a filled example. Ask them in your own words. Every field is optional; anything omitted takes its default. Two worth asking rather than defaulting: what to call their Chief of Staff (it is the name they will address every day), and which modules they want. Naming defaults to Winston. For the email, use one attached to their GitHub account, or let it default: with `gh` signed in the installer offers that account's noreply address, which always attributes their commits correctly. This path does not need a TTY and will not hang on a prompt. STEP 2 — Verify datacore doctor Then confirm both MCP servers are registered: cat ~/Data/.mcp.json # expect BOTH "datacore" and "plur" under mcpServers In a new Claude Code session, ask: "What's my Datacore status?" — it should call datacore_status. Ask "What's my PLUR status?" — it should call plur_status. If only one answers, that server is not registered; re-run `npx @datacore-one/cli init` — it is idempotent and repairs config in place. WHAT THE USER GETS ~/Data/ their second brain, plain text, theirs ~/.plur/ their memory, plain YAML engrams datacore_* MCP tools capture, search, ingest, dates, GTD, modules plur_* MCP tools learn, recall, inject, feedback, forget, status A Chief of Staff named by them, runs the day through an approvals queue — nothing side-effecting without their decision MCP CONFIG (if you are wiring a client by hand) { "mcpServers": { "datacore": { "command": "datacore-mcp" }, "plur": { "command": "plur-mcp" } } } Requires `npm install -g @datacore-one/mcp @plur-ai/mcp` first. Works with Claude Code, Claude Desktop, Cursor, Windsurf, Zed, OpenClaw, and any MCP-compatible client. DESKTOP APP Optional, offered at the end of init: https://datacore.one/app.html The terminal install is complete and supported on its own. REQUIREMENTS Node.js 20+, Python 3.10+, git, and a terminal. Both versions are now CHECKED AND REFUSED, not warned about: the installer stops and names the upgrade. Older Node and Python 3.9 used to pass and fail much later, which is how one install spent hours getting nowhere. node --version python3 --version macOS and Linux: either install path above works. Windows: use the npm path, not the curl script (which needs bash): npm install -g @datacore-one/cli datacore init Or run the curl script inside WSL. Python 3 and the GitHub CLI are installed by the wizard when missing. IF SOMETHING GOES WRONG "node 18.x is older than 20" / "python 3.9 is older than 3.10" — a refusal, not a warning. Install the version named and re-run; nothing was half-built. "/datacore is not a fork of datacore-one/datacore" — the user has an unrelated repo of that name. The installer leaves it alone and clones upstream instead; nothing is wrong with the install. To get a real fork, rename that repo first. "Not a terminal" — you piped the output. The wizard would have skipped every question and taken every default silently, so it refuses. Run it where the user can type, or pass --yes to accept defaults on purpose. "npm's global directory is not writable" — the installer retries into ~/.datacore/npm automatically and records absolute paths in the MCP config, so it should still work. If it reports the fallback failed, use sudo. "MCP server binary not found" — the install did NOT succeed and exits non-zero. Claude Code will start with no Datacore or PLUR tools. Install the named package and re-run `datacore init`; it is idempotent. "~/Data exists and is not empty" — you have files there already. Move them or pass --force. The installer will not write over them. Modules reported as not installed are usually private repos you do not have access to. Datacore works without them. Docs: https://datacore.one | Machine summary: https://datacore.one/llms.txt Source: https://github.com/datacore-one | Memory engine: https://plur.ai