Model or dataset
campfirein/byterover-cli avatar
campfirein/byterover-cli

ByteRover CLI: A Git-like Memory Layer for Coding Agents

ByteRover CLI (brv) - The portable memory layer for autonomous coding agents (formerly Cipher)

4,963 stars454 forksTypeScriptNOASSERTION

At a glance

What is it?
ByteRover CLI (brv) gives AI coding agents a structured, version-controlled context tree. This review covers its REPL workflow, cloud sync, and where its claims outrun its evidence.
Who is it for?
ByteRover CLI is for developers and teams who want a structured, version-controlled memory layer for AI coding agents and are willing to trust a hosted cloud service. It is not for those who need a fully local, open-source tool, since the license is Elastic 2.0 and the cloud is central to collaboration.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 83 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Agents Forget Between Sessions

AI coding agents like Cursor or Claude Code handle a single session well, but they lose track of project decisions once the conversation ends. ByteRover CLI addresses this by giving agents a persistent, structured memory that survives across sessions and tools. The README describes it as a 'portable memory layer' and a 'context tree.' The target user is a developer who curates knowledge about their codebase, such as 'Auth uses JWT with 24h expiry,' and then expects any agent to recall that when asked later. This is not a general-purpose chatbot memory; it is scoped to project knowledge. The tool also targets teams that want to share that context across machines and members, which is where the cloud component comes in.

How the Context Tree Works

The core mechanism is a context tree that stores structured knowledge. You add entries with the `/curate` command in the REPL, attaching a note to a specific file, as in `/curate "Auth uses JWT with 24h expiry" @src/middleware/auth.ts`. The agent then queries this tree with `/query How is authentication implemented?`. The tree is not a flat list; it is organized hierarchically, which suggests that related knowledge can be grouped. The README mentions an 'agentic map' that helps the agent understand the codebase, though the details are thin. The tree is stored locally by default, and you can sync it to the cloud. The version control system treats the context tree like a Git repository, with branch, commit, merge, and push/pull operations. That is a specific design choice: memory is not a stream of messages but a curated, reviewable artifact.

Getting Started: Commands and First Run

Installation is straightforward. On macOS and Linux, you can use a shell script that bundles everything, so no Node.js is required. On any platform, you can install via npm with `npm install -g byterover-cli`, which requires Node.js >= 20. After installation, verify with `brv --version`. The first run is a REPL: `cd your/project` and then `brv`. The README claims the REPL auto-configures on first run with no setup needed. The primary interface for most users is `brv webui`, which opens a web dashboard. Advanced users can run `brv curate`, `brv query`, and `brv review pending` from the shell. The review workflow is notable: curate operations can be pending and require approval or rejection via `brv review approve` or `brv review reject`. This implies that the agent can propose memory additions that a human must approve, which adds a safety layer.

Version Control and Cloud Sync: Git for Memory

The most distinctive feature is the version control system for the context tree. Commands like `brv vc init`, `brv vc commit`, `brv vc branch`, and `brv vc merge` mirror Git's workflow. This means you can treat changes to project memory as you would code changes: commit staged knowledge, branch experimental memory, and merge it back. The README distinguishes legacy sync (`brv push` and `brv pull`) from the newer version-controlled sync (`brv vc push` and `brv vc pull`). The cloud component, ByteRover Cloud, provides team sync, shared spaces, and multi-machine access. It also includes a hosted LLM with limited free usage. The cloud is optional for local work, but collaboration features like team management and usage analytics require it. The README claims SOC 2 Type II certification, but that is a vendor claim, not something we can verify from the repository.

Limitations and Failure Modes

A genuine limitation is that the tool's value depends on the quality of curated context. If you do not actively curate knowledge, the tree stays empty and the agent gains nothing. The README shows that you must manually add entries like '/curate "Auth uses JWT..."', which is a conscious effort. Another issue is the reliance on cloud for team collaboration. If you use `brv vc push` and `brv vc pull`, you are dependent on ByteRover Cloud's availability and its privacy mode. The README mentions 'privacy mode' but does not explain what it does. For teams with strict data residency requirements, sending code context to a hosted service could be a deal-breaker. There is also a potential conflict when multiple agents or teammates curate conflicting knowledge about the same file. The review workflow and version control help, but they add process overhead that not every solo developer wants.

Benchmark Claims vs. Reproducibility

The README reports impressive benchmark numbers: 96.1% on LoCoMo and 92.8% on LongMemEval-S, using LLM-as-Judge accuracy. These are long-term conversational memory benchmarks. However, the README does not describe the exact evaluation setup, such as which LLM served as the judge or how the context tree was populated. It points to an arXiv paper (2604.01599) for details, which we cannot access from the repository. The claim that benchmarks run on the production codebase is good, but without seeing the paper, we cannot assess whether the benchmark setup matches real usage. A developer should treat these numbers as marketing until they read the paper. The repository also has no test suite or CI configuration visible in the material, so we cannot confirm that the code is well-tested. That is a gap for a tool that will hold project knowledge.

Alternatives and the License Question

A direct alternative is using agent-native memory files, such as Claude Code's CLAUDE.md or Cursor's rules files. Those are simple, local, and human-readable, but they lack version control and cross-agent sharing. ByteRover's difference is the structured context tree, the review workflow, and the cloud sync. Another alternative is a vector database for retrieval-augmented generation, but that approach typically stores embeddings, not curated, human-readable knowledge. The license is listed as NOASSERTION in the repository metadata, but the README badge shows 'Elastic 2.0.' Elastic 2.0 is not an open-source license under the OSI definition; it restricts use in managed services. That means you cannot freely embed this CLI in a competing cloud offering. For a developer tool, that may be acceptable, but it is a real constraint if you plan to build a product around it. The README also mentions 'Enterprise proxy support,' which suggests that larger organizations can route traffic through a proxy, but details are absent.

Editorial conclusion

ByteRover CLI is for developers and teams who want a structured, version-controlled memory layer for AI coding agents and are willing to trust a hosted cloud service. It is not for those who need a fully local, open-source tool, since the license is Elastic 2.0 and the cloud is central to collaboration. Before adopting, verify the benchmark methodology against the arXiv paper, test the review workflow with your own curate operations, and confirm that the 20 LLM providers include the ones you actually use. If you prefer a simpler, file-based memory approach, you might stick with agent-native memory files. The project is actively maintained with frequent releases, but the real test is whether the context tree stays accurate over weeks of real use, not just in a benchmark.

Official sources

  1. campfirein/byterover-cli on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Community notes

Community notes