🌊 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 UI —
rivera serve/rivera ui - Batch ingestion —
rivera remember --batch memories.json,--from-conversationto extract facts from chat logs,rivera uploadfor PDF/DOCX/CSV/MD files - Memory hygiene —
rivera conflictsdetects contradictions;rivera daily-summarydigests what changed;rivera edit/rivera forgetfor corrections - Project sync —
rivera memory syncwrites aMEMORY.mdsnapshot 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
Metadata
Release files for rivera-cli 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rivera_cli-0.1.6.tar.gz | 2.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rivera_cli-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.2 MB
Release files / rivera_cli-0.1.6.tar.gz
| Download URL | rivera_cli-0.1.6.tar.gz |
|---|---|
| Size | 2.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07cfb685e293d8adc193d996daef38713b71671c33b9fb88bed5c9fa1ce68353
|
|
BLAKE2b-256 checksum How to use checksums |
d4b4edd8b4a959cccf4dfb5b65b3d629b20a4966a7cddf560871c143f7c6cc3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Release files / rivera_cli-0.1.6-py3-none-any.whl
| Download URL | rivera_cli-0.1.6-py3-none-any.whl |
|---|---|
| Size | 289.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b6fe1662e619d193d1e87087ad2770acbab5ea442a677897db24b18254a4b76
|
|
BLAKE2b-256 checksum How to use checksums |
8dbf0cc97c6c32f43c139564a7fa246e4a5c44459e7c3e186ec5ddd19c8c0fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|