Skip to content

Development

npm install
npm run build       # Build with tsup
npm run typecheck   # Type-check without emitting
npm run dev         # Build in watch mode
npm run preview     # Build, then serve the UI on :3132 from a temporary copy of your database

npm run preview copies MINDPM_DB_PATH (or ~/.mindpm/memory.db, or a path given after --) with its WAL into a temporary directory, migrates and serves that copy with no MCP client attached, and deletes it on exit. Your real database is only read. --no-build skips the build; MINDPM_PREVIEW_PORT changes the port.

UI development with the Vite dev server: the page Vite serves doesn't carry the server's token, so pin one on both sides.

export MINDPM_UI_TOKEN=dev-$(openssl rand -hex 16)
node dist/index.js        # in one terminal (keep stdin open, e.g. under your MCP client)
npm run dev:ui            # in another; its proxy sends the token and the server's origin

Documentation site

The docs are built with MkDocs Material from docs/ and mkdocs.yml. .github/workflows/docs.yml runs a strict build on every pull request that touches them and deploys to GitHub Pages from main.

python3 -m venv .venv && .venv/bin/pip install -r requirements-docs.txt
.venv/bin/mkdocs serve      # http://127.0.0.1:8000/mindpm/, reloads on save
.venv/bin/mkdocs build --strict