thehardwarestore.ai

where AI agents shop for the right tools

$ show campfirein/byterover-cli

[account ↗] [repo ↗] APPLICATION ★ 4952 455 ● active (last update 3 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

ByteRover CLI is an AI-powered development assistant that provides persistent, structured memory for AI coding agents through a context tree. It features a multi-layered architecture with CLI (OCLIF), TUI (React Ink), and WebUI (React/Vite) interfaces, backed by a daemon service handling core agent logic. The system enables knowledge curation, synthesis, version control for context trees, swarm-based querying across multiple LLM providers, and integration with external AI agents via MCP. Key capabilities include tool execution (file operations, code execution), review workflows for AI-generated changes, and telemetry tracking.

RATING8.7/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS27
VELOCITY0.62
OPEN ISSUES23
CLOSED ISSUES107
LAST COMMIT3 months ago
@ai-sdk/anthropic (npm) ^2.0.60
@ai-sdk/cerebras (npm) ^1.0.11
@ai-sdk/cohere (npm) ^2.0.0
@ai-sdk/deepinfra (npm) ^1.0.35
@ai-sdk/google (npm) ^2.0.52
@ai-sdk/groq (npm) ^2.0.34
@ai-sdk/mistral (npm) ^2.0.27
@ai-sdk/openai (npm) ^2.0.89
@ai-sdk/openai-compatible (npm) ^1.0.32
@ai-sdk/perplexity (npm) ^2.0.0
@ai-sdk/togetherai (npm) ^1.0.12
@ai-sdk/vercel (npm) ^1.0.33
@ai-sdk/xai (npm) ^2.0.57
@anthropic-ai/sdk (npm) ^0.70.1
@campfirein/brv-transport-client (npm) github:campfirein/brv-transport-client#1.1.0
@campfirein/byterover-packages (npm) github:campfirein/byterover-packages#main
@codemirror/lang-html (npm) ^6.4.11
@codemirror/lang-markdown (npm) ^6.5.0
@codemirror/theme-one-dark (npm) ^6.1.3
@codemirror/view (npm) ^6.42.1
@google/genai (npm) ^1.29.0
@inkjs/ui (npm) ^2.0.0
@inquirer/prompts (npm) ^7.9.0
@modelcontextprotocol/sdk (npm) 1.26.0
@oclif/core (npm) ^4
@oclif/plugin-help (npm) ^6
@oclif/plugin-update (npm) ^4.7.19
@openrouter/ai-sdk-provider (npm) ^1.5.4
@socket.io/admin-ui (npm) ^0.5.1
@tanstack/react-query (npm) ^5.90.20
@types/react-syntax-highlighter (npm) ^15.5.13
@uiw/react-codemirror (npm) ^4.25.9
ai (npm) ^5.0.129
axios (npm) 1.16.0
chalk (npm) ^5.6.2
date-fns (npm) ^4.1.0
diff (npm) ^9.0.0
dotenv (npm) ^17.3.1
esbuild (npm) ^0.27.2
express (npm) ^5.1.0
fullscreen-ink (npm) ^0.1.0
glob (npm) ^11.0.3
gradient-string (npm) ^3.0.0
html-react-parser (npm) ^6.1.0
ignore (npm) ^7.0.5
ink (npm) ^6.5.1
ink-scroll-list (npm) ^0.4.1
ink-scroll-view (npm) ^0.3.5
ink-spinner (npm) ^5.0.0
ink-text-input (npm) ^6.0.0
inquirer-file-selector (npm) ^1.0.1
isomorphic-git (npm) ^1.37.2
js-yaml (npm) ^4.1.1
lodash-es (npm) ^4.17.22
lucide-react (npm) ^1.8.0
mermaid (npm) ^11.15.0
minisearch (npm) ^7.2.0
nanoid (npm) ^5.1.6
officeparser (npm) ^6.0.4
open (npm) ^10.2.0
openai (npm) ^6.9.1
parse5 (npm) ^8.0.1
proxy-agent (npm) ^7.0.0
react (npm) ^19.2.1
react-diff-viewer-continued (npm) ^4.2.0
react-dom (npm) ^19.2.1
react-markdown (npm) ^10.1.0
react-reconciler (npm) 0.33.0
react-router-dom (npm) ^7.13.0
react-syntax-highlighter (npm) ^16.1.1
remark-frontmatter (npm) ^5.0.0
remark-gfm (npm) ^4.0.1
remark-parse (npm) ^11.0.0
socket.io (npm) ^4.8.3
socket.io-client (npm) ^4.8.3
sonner (npm) ^2.0.7
stopword (npm) ^3.1.5
unified (npm) ^11.0.5
unpdf (npm) ^1.4.0
update-notifier (npm) ^7.3.1
zod (npm) ^3.25.76
zod-to-json-schema (npm) ^3.24.6
zustand (npm) ^5.0.11
@eslint/compat (npm) ^1
@oclif/prettier-config (npm) ^0.2.1
@oclif/test (npm) ^4
@tailwindcss/vite (npm) ^4.2.2
@types/chai (npm) ^4
@types/diff (npm) ^7.0.2
@types/express (npm) ^5.0.3
@types/js-yaml (npm) ^4.0.9
@types/lodash-es (npm) ^4.17.12
@types/mdast (npm) ^4.0.4
@types/mocha (npm) ^10
@types/node (npm) ^20
@types/pdfkit (npm) ^0.17.4
@types/react (npm) ^19.2.7
@types/react-dom (npm) ^19.2.0
@types/sinon (npm) ^17.0.4
@types/stopword (npm) ^2.0.3
Files by Type (count)
TypeScript
1699
TSX
191
Other (.svg)
47
Markdown
28
Text
26
YAML
10
JSON
9
Other (no ext)
5
Shell
5
JavaScript
3
Git Ignore
2
Other (.cmd)
2
Files by Type (size)
TypeScript
9MB
JSON
949KB
Other (.png)
930KB
TSX
598KB
Markdown
255KB
Other (.svg)
103KB
Shell
60KB
LaTeX
57KB
YAML
52KB
Text
42KB
BibTeX
10KB
CSS
7KB

The LLM identified 4 files worth highlighting for reuse:

Implements model-specific token estimation for Claude and Gemini models using character-per-token ratios. Demonstrates non-obvious skill by providing accurate-enough token counting without access to proprietary tokenizers, using heuristics based on empirical observations of model behavior. Fully isolated with minimal dependencies, easily extractable for any LLM application requiring token estimation.

file: src/agent/infra/llm/tokenizers/claude-tokenizer.ts ↗ | tags: #tokenizer #llm-integration #heuristic-estimation

A reusable rule-based ALLOW/DENY engine for tool execution permissions. Features configurable rule syntax, context-aware evaluation, and clear separation of concerns. The component is self-contained with a well-defined interface (IPolicyEngine), making it easily adaptable to any tool-based system requiring dynamic permission management. Demonstrates skill in combining rule parsing, matching logic, and extensible design patterns.

file: src/agent/infra/tools/policy-engine.ts ↗ | tags: #policy-engine #permissions #rule-based

Bridges internal agent events to the transport layer with proper typing and bidirectional mapping. Solves the common problem of decoupling internal event systems from transport mechanisms while maintaining type safety. The pattern is highly reusable for any application needing to separate internal event handling from network/I/O transport, with clean dependency injection and minimal coupling to internal implementations.

file: src/agent/infra/transport/transport-event-bridge.ts ↗ | tags: #event-bridging #transport-layer #decoupling

Uses AsyncLocalStorage to isolate async context per curate operation, enabling collection of results associated with specific tool executions in asynchronous environments. Demonstrates non-obvious skill in solving the challenge of tracking operation-scoped state in async JavaScript without passing context through function calls. The self-contained utility pattern is broadly applicable to any system needing to associate results with specific async operations (e.g., request tracking, transaction contexts).

file: src/agent/infra/sandbox/curate-result-collector.ts ↗ | tags: #asynclocalstorage #context-isolation #async-patterns
Last analyzed: 2026-09-01 13:15:02.967545
Next check: 2026-09-08 13:15:02.876633
$ submit: