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.1.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.1-py3-none-any.whl (283.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rivera_cli-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 8b25eed93d33692410edd6385cb14b31980d4c185287ccec7e1ea8806220528f
MD5 55c3c7eb2b3b8dc603ac4204ae8b9e29
BLAKE2b-256 50bef5894379f350c5229881cf2665de3d7ff4351f81ee5cc83bdd61d6da794f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rivera_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 283.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ffbf482c4b6c5a57944da3576001f383e4cb61bce3ed008b813487357e49e107
MD5 dc70304af37dcfc7ee47149a18f6961e
BLAKE2b-256 50bf745667363f25d2e242301a90809dda65b3e02d5a9a8018cc9bb1c97b4acf

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