Architecture

Five clean layers. Every line in plain TypeScript.

CLAW NOVA is built as five layers with clean boundaries. No SaaS dependency sits in the critical path; everything works against your local machine.

The layers

1. Interface

Next.js App Router · React 19 · shadcn/ui · Tailwind · Framer Motion. Three route groups: marketing, docs, and the authenticated app.

2. Hermes runtime

Pure TypeScript, no React. The loop is planner → executor → memory. The runtime knows nothing about the UI; it can be embedded in a Node CLI or a Tauri app without modification.

3. AI gateway

A streaming OpenAI-compatible client. Reads endpoint, model and key from the settings store at call time, so switching providers is instantaneous and per-session.

4. Storage

Dexie over IndexedDB. Tables for projects, memories, knowledge, workflows, prompts, settings, sessions and observations. Optional Qdrant for vector search at scale.

5. Web3

wagmi + viem for EVM, @solana/wallet-adapter for Solana. Wallet address is identity; sign-in is SIWE/SIWS message-only.

Data flow

User goal
  ↓
Hermes.planner   ── (chat) ─→  AI gateway  ──→  Model
  ↓ structured Plan
Hermes.executor  ──→ tools[N] ──→ observations
  ↓
Hermes.memory    ──→ Dexie (IndexedDB)
  ↓
UI streams plan + observations live

Boundary discipline

The runtime imports zero React. The UI imports the runtime as data. This means:

  • Hermes is testable in isolation.
  • A future native shell can reuse Hermes verbatim.
  • Tool authors write plain TypeScript, not React components.