Skip to main content

CI Python 3.12+ License Website

Truenex Memory

Local-first memory layer for coding agents.

Stop burning 50,000 tokens per session re-reading documentation your agent already saw. Truenex Memory gives your AI coding agents a persistent, queryable local memory — so they remember project decisions, architecture, and context across every session.

🌐 Website · 📋 Roadmap · 📝 Changelog · 📦 Install Guide

Status: public alpha. The open-source core is ready for technical users who want a local, inspectable memory store for Codex, Claude Code, Cursor, and other MCP-aware coding agents. APIs and command output may still change before a stable 1.0 release.

💡 Why It Exists

Coding agents lose context between sessions. Truenex Memory gives them a local source of truth they can query before making claims, proposing changes, or repeating work already done.

It stores project decisions, indexed documents, source chunks, provenance, retrieval logs, and generated memory candidates on your machine.

→ See the full story, screenshots, and feature comparison at memory.truenex.ai

Core principles:

  • Local-first: no account is required.
  • Privacy-first: no automatic upload of code, documents, or memory.
  • Agent-first: CLI and MCP are primary surfaces.
  • Data ownership: export/import is part of the core.
  • Open core: the Apache-2.0 local core remains useful without paid services.

📦 What Is Included In The Open-Source Core

  • truenex-mem CLI.
  • Local SQLite store.
  • Deterministic local fallback embeddings for offline use.
  • Optional local Qdrant backend.
  • Project indexing and retrieval.
  • Manual memory add/list/search/status commands.
  • Retrieval traces and logs.
  • Export/import.
  • Schema migration with local backups and restore.
  • Source manifest ingestion.
  • Agent discovery and confirmed source catalog.
  • Incremental global refresh and global status.
  • Read-only global project context/bootstrap.
  • Conservative Auto Memory candidate generation and manual review lifecycle.
  • MCP stdio server for agent integrations.

Optional future Pro/Team features may add advanced UI, team workflows, sync, or governance. They must remain opt-in and must not lock local data.

🖥️ System Requirements

  • Python >= 3.12
  • OS: Windows, macOS, or Linux
  • Disk: ~50 MB + space for your indexed documents
  • Optional: Qdrant for vector search (falls back to SQLite otherwise)

⚡ Installation

From PyPI (recommended for end users)

With pipx (isolated & clean — recommended):

pipx install truenex-memory

Or with pip (advanced users only — on Windows you may need to close all terminals during upgrade):

pip install truenex-memory

Upgrade to the latest version:

truenex-mem update self           # works regardless of how you installed

From source (developers)

git clone https://github.com/marcomnit/truenex-memory.git
cd truenex-memory
python -m venv .venv
# Windows (PowerShell):
.venv\Scripts\Activate.ps1
# Linux / macOS:
source .venv/bin/activate
pip install -e ".[dev,qdrant]"
truenex-mem --help

Windows PowerShell note: if activation fails with an execution policy error, run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser first.

For detailed install options (Qdrant, license activation, development) see docs/installation.md.

🚀 5-Minute Quickstart

Run these commands from a project root:

truenex-mem doctor --privacy
truenex-mem init
truenex-mem add "We use SQLite for local metadata" --type decision
truenex-mem list
truenex-mem search "local metadata"
truenex-mem index examples/sample_project
truenex-mem search "which vector database is planned?"
truenex-mem export --output memory-export.json

Expected results:

  • doctor --privacy reports local paths and no cloud/telemetry upload.
  • init creates .truenex-memory/.
  • add returns a local memory id.
  • search returns local results with score and source metadata.
  • index reads the sample project.
  • export writes a readable JSON export.

🧪 Sample Project

The repository includes a sample project:

examples/sample_project/
  README.md
  docs/
    architecture.md
    decisions.md

Try:

truenex-mem index examples/sample_project
truenex-mem search "MCP transport"
truenex-mem search "automatic upload"
truenex-mem search "local metadata database"

🔌 MCP stdio

Run the local MCP server from a project root:

truenex-mem mcp --project-root .

Example agent configuration:

{
  "mcpServers": {
    "truenex-memory": {
      "command": "truenex-mem",
      "args": ["mcp", "--project-root", "."]
    }
  }
}

The server exposes:

  • memory_search(query, top_k = 5)
  • memory_add(content, memory_type = "note")
  • global_status(home?, catalog?, db?)
  • global_project_context(project, home?, catalog?, db?, limit = 20)

Global MCP tools are read-only bootstrap helpers. They read the confirmed local catalog and global database; server aliases are reported as hints only and are never executed by the core.

🌍 Global Memory Workflow

Truenex Memory can build a confirmed global catalog from local agent and project sources:

truenex-mem global discover --from-agents --output discovery.md
truenex-mem global sources review --output sources-preview.json
truenex-mem global sources confirm --input sources-preview.json
truenex-mem global refresh
truenex-mem global auto status

Daily local refresh:

truenex-mem global auto run
truenex-mem global search "project release status" --kind all

Generated Auto Memory remains conservative: candidates are unverified until a user approves, rejects, promotes, or prunes them.

🛠️ CLI Reference

truenex-mem init
truenex-mem add "content" --type decision
truenex-mem list [--status active] [--json]
truenex-mem status set <memory-id> obsolete
truenex-mem index .
truenex-mem search "query" [--include-inactive]
truenex-mem logs [--limit 20] [--json]
truenex-mem trace show <trace-id> [--json]
truenex-mem migrate status [--json]
truenex-mem migrate apply [--json]
truenex-mem migrate backup-list [--json]
truenex-mem migrate restore <backup-filename> [--json]
truenex-mem ingest manifest --manifest memory-sources.json [--dry-run] [--json]
truenex-mem global sources add --source-type document --path-or-alias <path> [--yes] [--json]
truenex-mem global search "query" [--top-k 10] [--kind all|memory|chunks] [--include-inactive] [--json]
truenex-mem global auto run [--dry-run] [--auto-memory] [--auto-memory-limit 50] [--auto-memory-per-source-limit 5] [--json]
truenex-mem global auto status [--stability-seconds 120] [--json]
truenex-mem global auto review [--limit 20] [--source README] [--json]
truenex-mem global auto approve <memory-id> [--json]
truenex-mem global auto reject <memory-id> [--json]
truenex-mem global auto prune [--source README] [--limit 100] [--yes] [--json]
truenex-mem doctor --privacy
truenex-mem export --output memory-export.json
truenex-mem import memory-export.json
truenex-mem mcp --project-root .
truenex-mem serve --host 127.0.0.1 --port 8000
truenex-mem adapter --project-root . --agents claude,codex
truenex-mem task open "Fix memory leak" --task-type bugfix
truenex-mem task close <task-id> --human-outcome 1
truenex-mem orchestrate run --config loop-config.json --project-root .

Less common commands

  • serve — Start the HTTP API server (used by the desktop GUI).
  • adapter — Generate CLAUDE.md / AGENTS.md adapter files for agent discovery.
  • task — Open, close, and track adaptive task records with outcome recording.
  • orchestrate run — Execute a recursive multi-agent loop from a JSON config.

See docs/ingestion.md for source manifest ingestion. See docs/agent-discovery-bootstrap.md for global discovery and bootstrap design. See docs/phase-3-auto-memory-design.md for the Auto Memory design. See docs/recursive-orchestrator-design.md for the orchestrator design. See ROADMAP.md for open-core and future Pro/Team boundaries.

🔒 Privacy Notes

Current local behavior:

  • No cloud sync.
  • No telemetry.
  • No automatic upload of code, documents, or memory.
  • Update checks download only public manifest metadata.
  • Qdrant support is optional and local.
  • Export remains available in the open-source core.

💬 Community

🧑‍💻 Development

Run tests:

python -m pytest

Run e2e tests:

python -m pytest -m e2e

Compile-check sources:

python -m compileall -q src

🗺️ Roadmap

  • v0.1.0 — Public alpha: local memory, MCP server, CLI, auto-memory lifecycle.
  • v0.2.0 — Stabilization: public package build, release artifacts, expanded docs, test coverage >80%.
  • v0.3.0 — Ecosystem: plugin system, custom embedders, multi-project merge workflows.
  • v0.4.0 — Persistent FTS5 search, schema v5 migration, faster exact retrieval, and hardened multi-PC updates.
  • v0.5.0 — Hybrid RRF retrieval (memories + chunks), optional e5 semantic ranker with cosine-gated fusion, persistent memmap vector cache, and ledger purge tooling.

See the full roadmap in ROADMAP.md.

📄 License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

truenex_memory-0.5.1.tar.gz (396.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

truenex_memory-0.5.1-py3-none-any.whl (209.6 kB view details)

Uploaded Python 3

File details

Details for the file truenex_memory-0.5.1.tar.gz.

File metadata

  • Download URL: truenex_memory-0.5.1.tar.gz
  • Upload date:
  • Size: 396.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for truenex_memory-0.5.1.tar.gz
Algorithm Hash digest
SHA256 8580df9a2a473e97349df8ef882a18a67ed1bfd3e49dd3dd25c1b72f17aa7dd5
MD5 9a3a3715bdfd8d9cad3cc20a3f6d7792
BLAKE2b-256 71701c17b490943f8578f5a1ad4f0ddfc5d39d833070318bc4fc070fef62d7a2

See more details on using hashes here.

File details

Details for the file truenex_memory-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: truenex_memory-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 209.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for truenex_memory-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc3d5e5c49e65ce5c5405d3f37d25ad984af6c9a58eee1c5f91a85bd8ce42a71
MD5 7afe348388abf91baa982e1b3871e90d
BLAKE2b-256 a880f6628479cb0a083103872557f91e253c48fe6f3eb7c5964a34098dc338d2

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.3

2 files

0.5.2

2 files

This release

0.5.1 This release

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page