A personal AI operating system. Backend and agent first — no web UI. You talk to it through Claude Code via an MCP server, or through the jarvis CLI for scripting and scheduled runs.
- pnpm monorepo where all behaviour lives in
@jarvis/core; the CLI and MCP server are thin consumers, so a fourth surface costs nothing to add. - Secrets never sit on disk beside the data they protect: one master key in the macOS Keychain, credentials AES-256-GCM sealed in Postgres, with an env escape hatch for CI.
- Hand-authored SQL migrations over a generator — the database holds the only copy of a personal history, so what runs against it stays readable.
- Semantic memory on Postgres 17 + pgvector;
jarvis doctorfails loudly when configured model ids drift out of what the API key can reach.