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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rivera_cli-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 dbafb2e69252e202e68b5253eb20517a1ab18bd49a895ef54fa5e300e348d2d7
MD5 000b7935a78e5bbaea4b7313df0d4d4c
BLAKE2b-256 9e379120cc4d2f8312dff089ed57cc1e790fae1423ef553083fd94e0d820f87e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rivera_cli-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 288.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 64b42d89da906b122cfec1014baefe8e88e37f47b1015cab43bddda0469912ef
MD5 43664b9fd5a30eb00f4c90aaede544ca
BLAKE2b-256 71659f872f83c52d0296123aa5cfa91d17340d3443cbb236030da68d404c769b

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