Skip to content

Quickstart

About 15 minutes, most of it a one-time dependency install and model download.

Requirements

  • Node.js 24 (active LTS) and pnpm.
  • Obsidian (optional but recommended for editing the vaults).

Clone and build

git clone https://github.com/YOUR_USER/engineering-os.git
cd engineering-os
./scripts/setup.sh   # checks node + pnpm, builds rag/, copies example configs

setup.sh installs and builds rag/, then copies .env.example, rag/vaults.example.json, and rag/routing.example.json to their live counterparts. The first index run downloads the embedding model (intfloat/multilingual-e5-small, quantized, about 120 MB); it is cached under ~/.engineering-os/models.

Index the vaults

node rag/dist/cli.js index --config rag/vaults.json

This indexes the three shipped vault templates (work, ai, user). Point it at your own vaults by editing rag/vaults.json or setting the EOS_*_VAULT_PATH environment variables. Vault paths must sit under the config's allowed_roots (default: this repo), and iCloud paths are always refused - the diode rule that keeps personal data out of a work-side index.

node rag/dist/cli.js serve --config rag/vaults.json   # --port N / --host H to override

curl -s -X POST http://127.0.0.1:8765/search \
  -H 'Content-Type: application/json' \
  -d '{"query": "how do I record an architecture decision", "top": 5, "hybrid": true}'

Request fields: query, top (integer 1-50), vaults, namespaces, hybrid (BM25 + vector via RRF), mmr + mmr_lambda (diversity rerank). See the RAG layer page for the full API.

Make it yours

Open vault-template/ in Obsidian and start replacing the example notes. Point an AI agent at the local search server for grounded answers from your own notes.