Skip to content

Environment

This repo is prepared for local-first Hermes memory development. Keep the environment simple while V1/V1.1 remains SQLite + FTS and adapter-boundary verified locally.

The current local checkout was verified with:

ToolVersion
Node.jsv24.15.0
pnpm11.5.1
Python3.14.5

The root package.json declares Node 24.x as the supported runtime baseline. Node’s built-in node:sqlite module is a runtime constraint for this repo.

Terminal window
corepack enable pnpm
pnpm install
pnpm docs:check
pnpm run ci

The committed pnpm-lock.yaml is the shared dependency source of truth. Do not replace pnpm with npm, Yarn, or Bun for repo orchestration.

Copy .env.example when you need local shell defaults:

Terminal window
cp .env.example .env

Optional adapter settings:

VariablePurpose
META_MEMORY_CLICommand used when meta-memory is not on PATH and repo-local CLI auto-detection should not be used.
META_MEMORY_DBLocal SQLite file for the provider. If unset, the adapter uses Hermes home or ~/.hermes/meta-memory.sqlite.
META_MEMORY_TIMEOUT_SECONDSAdapter subprocess timeout. Defaults to 20.

The Hermes meta_memory.status tool works before the TypeScript CLI is available. Use it after installing the plugin to confirm whether the CLI is linked, which SQLite path is selected, and which setup commands remain.

Do not commit .env or local SQLite files.

Before starting feature work:

  1. Confirm Hermes target version, plugin.yaml fields, register(ctx) discovery, any initialize(...) behavior, lifecycle hooks, and tool schema registration.
  2. Run pnpm docs:check when the planned change touches code, adapter, tooling, workflow, or documentation policy.
  3. Run pnpm run ci from a clean branch.
  4. Build or link the CLI before using memory tools; meta_memory.status can diagnose missing CLI setup.
  5. Keep browser verification out of scope unless a web target is added.