The answer is
fortytwo.

The hard part is knowing
the right question.

fortytwo is a local-first personal-assistant spine for the agents and tools you already use. It wraps an existing harness with memory, a safety gate, channels, approvals, and audit — without replacing the agent you trust.

Read the brief
install · create-fortytwo
# bring the spine to your machine
$ npm i @justfortytwo/installer
$ npx create-fortytwo init # identity · persona · engine · provision
$ npx fortytwo doctor # contracts · migrations · embedder
# or, in claude code —
> /plugin marketplace add justfortytwo/marketplace
> /plugin install fortytwo@fortytwo

Two surfaces, one operator.

The npm engine ships the reusable machinery — memory, the gate, channel adapters — as @justfortytwo/* packages wired in as plugins. The scaffolded persona (CLAUDE.md + context/*) is per-user, personal, and gitignored. create-fortytwo / fortytwo is the single CLI over both — and init installs the engine for you.

Node ≥ 20 · Ollama for the local embedder · SQLite + vectors, all on your machine.

Seven parts. One spine.

fortytwo is decomposed into independent, composable pieces — each named for the role it plays, each on npm. Bring your own agent; assemble the spine you need. The contract matters more than the adapter.

// umbrellafortytwoseven packages · npm · MIT
// 01
gate
@justfortytwo/gate
The PreToolUse safety gate. Every tool call passes through it — allow · defer · deny. Nothing crosses silently.
// 02
memory
@justfortytwo/memory
Semantic memory over SQLite — full-text and vector recall. Remembers what you’d want remembered, with provenance.
// 03
salience
@justfortytwo/salience
The model-driven salience engine. Decides what is worth remembering, so memory writes only what matters.
// 04
telegram
@justfortytwo/telegram
The channel adapter. Talk to your assistant where you already are — mobile, approval cards, continuity.
// 05
persona
@justfortytwo/persona
Identity & context — CLAUDE.md + context/*. Who the assistant is, and who it serves. Scaffolded, never shipped filled.
// 06
installer
@justfortytwo/installer
The installer & lifecycle CLI (create-fortytwo / fortytwo). init · doctor · pair · forget · unbind. One operator over both surfaces.
// 07
marketplace
justfortytwo/marketplace
The Claude Code plugin marketplace. Install any part à la carte, and keep it current.

Conservative by design.

Personal assistants get useful when they can remember, act, and improve. They get dangerous when that’s added without boundaries.

P · 01

Local-first where it matters

Private memory and recall live on your machine. Markdown for human-readable policy, SQLite for durable state.

P · 02

Bring your own agent

Claude Code is the first harness, not the boundary. The core stays portable across agents, models, and runtimes.

P · 03

Conservative autonomy

The assistant may read, draft, and reason internally. External or irreversible actions require approval.

P · 04

Propose-only learning

It may notice patterns — but never silently promotes them into durable behavior. Propose first, then approve.

P · 05

Prompt-injection boundaries

Documents, messages, web pages and recalled memory are content, not command authority.

P · 06

Auditable evolution

Every meaningful change is inspectable — as a file diff, a database record, or an approval decision.

M1 — DONE// the spine · shippedThe spine is walking — and shipped.Memory MCP, Telegram bridge, PreToolUse gate, approval flow, persona scaffolding. Now decomposed into seven packages, published to npm and installable with create-fortytwo; the init / doctor / update / rollback lifecycle is wired, CI green on every repo.
M2 — IN PROGRESS// trust hardeningHardening the trust layer.Prompt-injection defense, source-authority classification, content-is-not-authority rules, tamper-evident audit, payload-bound approvals, typed memory governance, review/export/prune.
STAY CALM

Ask the right question.
Never cross the gate silently.

42