Skip to main content

A companion memory agent that lets your agents focus and improve while you keep ownership of everything they learn.

Project description

🌊 Rivera

Persistent memory for your AI coding agents

Your agents forget everything between sessions. Rivera makes them remember.

Rivera Cloud · Docs · Console


Every time Claude Code, Cursor, or Codex starts a fresh session, it starts from zero — your preferences, your past decisions, and your codebase's quirks are gone. Rivera is a memory CLI that persists all of that across sessions and across tools, backed by Rivera, a semantic memory engine with exact (non-approximate) vector search and zero indexing delay: store a memory and it is searchable the same millisecond.

$ rivera remember "cua-driver Rust build needs DEVELOPER_DIR pointing at full Xcode" --type fact
Memory stored successfully!  Type: fact | Confidence: 0.95

$ rivera recall "how do I build the rust driver"
→ cua-driver Rust build needs DEVELOPER_DIR pointing at full Xcode   (score 0.39)

$ rivera answer "what does the rust build need?"
→ The build requires full Xcode via DEVELOPER_DIR (Source: chunk 1).

Three primitives

Command What it does
rivera remember Store a typed memory — searchable instantly, no indexing wait
rivera recall Semantic search over everything stored, with temporal filters (--as-of, --changed-since, --recent)
rivera answer One grounded, cited answer synthesized from your memories (RAG built in)

Memories are typed (13 categories: fact, preference, decision, goal, instruction, learning, error, …) and carry confidence and provenance metadata, so an explicit user statement never gets confused with an inferred hunch.

Quickstart

# 1. Install
pip install rivera-cli

# 2. Get a free API key at https://api.wirtel.ca/signup
#    (free plan: 2,000 requests + 200 GenAI answers / month)
export RIVERA_API_KEY="rv_..."

# 3. Create your agent and go
rivera agent create my-agent
rivera remember "User prefers concise answers" --type preference
rivera recall "communication style"
rivera answer "what did we decide about the database schema?"

Configuration lives in ~/.rivera/ (.env for credentials, config.yaml for settings). Point at a different Rivera deployment with RIVERA_BASE_URL.

Agent integrations

Connect Rivera to your coding agent so memory works automatically — context injected at session start, durable decisions captured as you work:

rivera connect claude-code    # also: cursor, codex, windsurf, cline, continue, ...

More than a CLI

  • Local REST API + Web UIrivera serve / rivera ui
  • Batch ingestionrivera remember --batch memories.json, --from-conversation to extract facts from chat logs, rivera upload for PDF/DOCX/CSV/MD files
  • Memory hygienerivera conflicts detects contradictions; rivera daily-summary digests what changed; rivera edit / rivera forget for corrections
  • Project syncrivera memory sync writes a MEMORY.md snapshot into your repo

How it works

rivera CLI ──HTTPS──▶ Rivera (api.wirtel.ca)
                      ├─ exact cosine search over pgvector (no ANN, deterministic)
                      ├─ OpenAI embeddings (text-embedding-3-small)
                      └─ grounded answers (gpt-4o-mini) with citations

Your memories live in your Rivera account — per-tenant isolation, API keys hashed at rest, revocable from the console. Self-hosting Rivera is possible too: the backend is a standard FastAPI + Postgres/pgvector service.

Acknowledgments

Rivera began as a fork of memanto (MIT, EdgeAI Innovations Inc.) and preserves its excellent typed-memory model and CLI ergonomics. The backend, retrieval engine, auth, and cloud service are Rivera — an independent implementation. See LICENSE.

License

MIT

Project details


Download files

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

Source Distribution

rivera_cli-0.1.6.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

rivera_cli-0.1.6-py3-none-any.whl (289.3 kB view details)

Uploaded Python 3

File details

Details for the file rivera_cli-0.1.6.tar.gz.

File metadata

  • Download URL: rivera_cli-0.1.6.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for rivera_cli-0.1.6.tar.gz
Algorithm Hash digest
SHA256 07cfb685e293d8adc193d996daef38713b71671c33b9fb88bed5c9fa1ce68353
MD5 b870c551c1c7d667292923c80ff451b1
BLAKE2b-256 d4b4edd8b4a959cccf4dfb5b65b3d629b20a4966a7cddf560871c143f7c6cc3c

See more details on using hashes here.

File details

Details for the file rivera_cli-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: rivera_cli-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 289.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for rivera_cli-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4b6fe1662e619d193d1e87087ad2770acbab5ea442a677897db24b18254a4b76
MD5 a8ba0ff95e6e1ef7a2953ff7aab3bdd0
BLAKE2b-256 8dbf0cc97c6c32f43c139564a7fa246e4a5c44459e7c3e186ec5ddd19c8c0fcb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page