Thanks for your interest in vault-cortex! This guide covers everything you need to get started.
-
Prerequisites: Node.js >= 24 (see
.nvmrc), Docker (optional, for container mode) -
Clone and install:
git clone https://github.com/aliasunder/vault-cortex.git cd vault-cortex npm install -
Run the checks:
npm test npm run lint npm run build
vault-cortex can run in three modes during development:
The fastest feedback loop — runs the MCP server directly with hot reload:
PUBLIC_URL=http://localhost:8000 MCP_AUTH_TOKEN=local-dev-token VAULT_PATH=~/your-vault npm run dev:mcpRuns vault-mcp in Docker against your local vault (no Lightsail, no obsidian-sync):
npm run dev:dockerInteractive browser UI for testing all tools:
# Terminal 1 — start the server
PUBLIC_URL=http://localhost:8000 MCP_AUTH_TOKEN=local-dev-token VAULT_PATH=~/your-vault npm run dev:mcp
# Terminal 2 — launch the inspector
npx @modelcontextprotocol/inspectorSee the README for full details on each mode.
All code conventions — style, naming, logging, test patterns, MCP tool naming — are documented in AGENTS.md. That file is the single source of truth. Key points:
- Functional over OOP, arrow functions, factory/closure pattern
- TypeScript strict mode, Zod for MCP schemas, no
any - MCP wire format uses
snake_case; internal TypeScript usescamelCase - Tests read as a behavioral spec — one focused
it()per behavior
- Branch from
main— use a descriptive prefix (feat/,fix/,docs/,refactor/,chore/) - Keep PRs focused — one logical change per PR
- Run the full check suite before pushing:
npm run prettier:check && npm run lint && npm test && npm run build
- Fill out the PR template — the checklist mirrors CI
- CI must pass — the
CIworkflow runs prettier, lint, test, and build on every PR
- Bug reports: use the bug report template — include steps to reproduce and your environment
- Feature requests: use the feature request template — describe the problem before the solution
- Security issues: see SECURITY.md — report privately, not as a public issue
Releases are cut by the maintainer. Two paths:
- Manual Release: Actions tab → "Manual Release" → choose
patch/minor/major. Bumps version, deploys, creates GitHub Release. - Tag push: bump
package.json, commit onmain, thengit tag v<version> && git push --tags
See the DEPLOY.md CI/CD section for details on each workflow.
By contributing, you agree that your contributions will be licensed under the MIT License.