Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

All notable user-facing changes to ByteRover CLI will be documented in this file.

## [3.8.3]

### Changed
- **`brv login` opens your browser by default** — Just run `brv login` and sign in in your browser. On CI or a remote shell, use `--api-key <key>` instead (get one at https://app.byterover.dev/settings/keys). SSH and non-interactive shells are detected automatically and skip the browser step.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (grammar): "sign in in your browser" — double "in". Should be "sign in with your browser" or "sign in using your browser".

- **Provider picker shows what each provider is** — `brv providers list` and the web provider picker now show a short description under each name, so you can pick by what a provider does instead of guessing from the brand.

### Fixed
- **No more "Logged in as undefined"** — `brv login` now says "Logged in successfully" when the server doesn't return your email.
- **`brv webui` works when installed under a hidden folder** — Reloading a page like `/contexts` no longer 404s when `brv` lives under a dotfile path such as `~/.nvm/...` or `~/.asdf/...`.

## [3.8.2]

### Fixed
Expand Down
8 changes: 7 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ npm run dev:ui # Vite dev server for the web UI
- Browser bootstraps by fetching `/api/ui/config` to discover the daemon's dynamic Socket.IO port, then connects cross-origin
- Daemon `ClientType` includes `'webui'` alongside `'tui' | 'cli' | 'agent' | 'mcp' | 'extension'`
- Build/dev: `npm run build:ui` (Vite, runs as part of `npm run build`); `npm run dev:ui` for live reload. `typecheck` runs both the root and `src/webui/tsconfig.json`
- Shared UI components live in a git submodule at `packages/byterover-packages/` (published as `@campfirein/byterover-packages`). `dev:ui` / `build:ui:submodule` read from the submodule; `build:ui` / `dev:ui:package` read from the installed `node_modules` copy. Override Vite's resolution with `BRV_UI_SOURCE=submodule|package`

### VC, Worktrees & Knowledge Sources

Expand All @@ -100,12 +101,13 @@ npm run dev:ui # Vite dev server for the web UI
- All commands are daemon-routed: `oclif/` and `tui/` never import from `server/`
- Oclif: `src/oclif/commands/{vc,worktree,source}/`; TUI: `src/tui/features/{vc,worktree,source}/`; slash commands (`vc-*`, `worktree`, `source`) in `src/tui/features/commands/definitions/`
- `brv curate` blocks execution by default and rejects overlapping runs for the same project; pass `--detach` to run in background. Behavioral contract lives in `src/server/templates/sections/` (`brv-instructions.md`, `workflow.md`, `skill/SKILL.md`) — the in-daemon agent reads these at runtime
- `brv login` defaults to OAuth (interactive provider picker); pass `--api-key` only for CI. `brv logout` clears credentials

### Agent (`src/agent/`)

- Tools: definitions in `resources/tools/*.txt`, implementations in `infra/tools/implementations/`, registry in `infra/tools/tool-registry.ts`
- Tool categories: file ops (read/write/edit/glob/grep/list-dir), bash (exec/output), knowledge (create/expand/search), memory (read/write/edit/delete/list), swarm (query/store), todos (read/write), curate, code exec, batch, detect domains, kill process, search history
- LLM: 20 providers in `infra/llm/providers/`; 6 compression strategies in `infra/llm/context/compression/`
- LLM: 20 providers in `infra/llm/providers/`; compression strategies in `infra/llm/context/compression/`
- System prompts: contributor pattern (XML sections) in `infra/system-prompt/`
- Map/memory: `infra/map/` (agentic map, context-tree store, LLM map memory, worker pool); `infra/memory/` (memory-manager, deduplicator)
- Storage: file-based blob (`infra/blob/`) and key storage (`infra/storage/`) — no SQLite
Expand Down Expand Up @@ -135,6 +137,10 @@ npm run dev:ui # Vite dev server for the web UI
## Environment

- `BRV_ENV` — `development` | `production` (dev-only commands require `development`, set by `bin/dev.js` and `bin/run.js`)
- `BRV_WEBUI_PORT` — override the web UI port (default `7700`)
- `BRV_UI_SOURCE` — `submodule` | `package` — forces Vite's shared-UI resolution mode
- `BRV_DATA_DIR` — override the global data dir (default `~/.brv`)
- `BRV_GIT_REMOTE_BASE_URL` — override git remote base URL (beta vs prod testing)

## Stack

Expand Down
27 changes: 27 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,33 @@ npx mocha --forbid-only "test/path/to/file.test.ts"
- **Pre-commit**: Runs `lint-staged` (ESLint on staged `.ts`/`.tsx` files)
- **Pre-push**: Runs `npm run typecheck`

### Web UI Development

The web UI supports a local-first development flow for the shared component library. `npm run dev:ui` uses the git submodule at `packages/byterover-packages/ui` so edits to shared UI components hot-reload immediately in Vite.

```bash
# Clone with submodules, or initialize them after clone
git clone --recurse-submodules <repo-url>
# or
git submodule update --init --recursive

# Install dependencies
npm ci

# Start or restart the daemon
./bin/dev.js restart

# Start the web UI in local development mode
npm run dev:ui
```

Notes:

- Edit shared components in `packages/byterover-packages/ui/src`.
- `npm run dev:ui` uses the submodule source.
- `npm run build:ui` uses the installed package path.
- If `/api/ui/config` or transport bootstrap fails, restart the Vite dev server after restarting the daemon.

## Project Structure

```
Expand Down
42 changes: 8 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Or download our self-hosted PDF version of the paper [here](https://byterover.de

**Key Features:**

- 🌐 Web dashboard for curating and querying context (`brv webui`)
- 🖥️ Interactive TUI with REPL interface (React/Ink)
- 🧠 Context tree and knowledge storage management
- 🔀 Git-like version control for the context tree (branch, commit, merge, push/pull)
Expand Down Expand Up @@ -101,35 +102,6 @@ The REPL auto-configures on first run - no setup needed. Type `/` to discover al
/query How is authentication implemented?
```

## Web UI Development

The web UI supports a local-first development flow for the shared component library.

`npm run dev:ui` uses the git submodule at `packages/byterover-packages/ui` so edits to shared UI components hot-reload immediately in Vite.

```bash
# Clone with submodules, or initialize them after clone
git clone --recurse-submodules <repo-url>
# or
git submodule update --init --recursive

# Install dependencies
npm ci

# Start or restart the daemon
./bin/dev.js restart

# Start the web UI in local development mode
npm run dev:ui
```

Notes:

- Edit shared components in `packages/byterover-packages/ui/src`.
- `npm run dev:ui` uses the submodule source.
- `npm run build:ui` uses the installed package path.
- If `/api/ui/config` or transport bootstrap fails, restart the Vite dev server after restarting the daemon.

## ByteRover Cloud

ByteRover Cloud is a hosted platform for teams to sync, share, and manage context knowledge across projects and machines.
Expand All @@ -139,12 +111,12 @@ Everything works locally by default - Cloud adds collaboration and persistence w
<a href="https://app.byterover.dev"><img src="https://img.shields.io/badge/Try%20ByteRover%20Cloud-Free-blue?style=for-the-badge" alt="Try ByteRover Cloud" /></a>
</p>

Sign in with your ByteRover account via `/login` (TUI) or
an [API key](https://app.byterover.dev/settings/keys) (`brv login`) to get started.
Sign in from the dashboard, or run `brv login` with an [API key](https://app.byterover.dev/settings/keys).

- 🔄 **Team context sync** — push and pull shared knowledge across teammates
- 📂 **Shared spaces** — organize context across multiple projects and teams
- 💻 **Multi-machine access** — sync your context tree across devices with cloud backup
- 💻 **Multi-machine access** — sync your context tree across devices
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (duplication): Duplicate bullet — lines 118 and 119 both describe "Multi-machine access". The second entry appears to be a copy-paste leftover with slightly less detail.

Remove line 119 — line 118 (sync your context tree across devices with cloud backup) covers this point fully.

- 🧠 **Built-in hosted LLM** — start immediately with limited free usage
- 👥 **Team management** — manage members, spaces, and permissions via the web app
- 📊 **Usage analytics** — track seat allocation and monthly credit consumption
Expand All @@ -153,10 +125,13 @@ an [API key](https://app.byterover.dev/settings/keys) (`brv login`) to get start
<details>
<summary><h2>CLI Usage</h2></summary>

Most users only need `brv webui`. The commands below are for advanced users and automation. Run `brv --help` for the full, up-to-date reference.

### Core Workflow

```bash
brv # Start interactive REPL
brv webui # Open the ByteRover dashboard (primary UI)
brv status # Show project and daemon status
brv curate # Add context to knowledge storage
brv curate view # View curate history
Expand Down Expand Up @@ -245,7 +220,7 @@ Run `brv --help` for the full command reference.
<details>
<summary><h2>Supported LLM Providers</h2></summary>

ByteRover CLI supports 18 LLM providers out of the box. Use `brv providers connect` to set up a provider and `brv providers switch` to change the active one.
ByteRover CLI supports 18 LLM providers out of the box. Connect and switch providers from the dashboard, or use `brv providers connect` / `brv providers switch`.

| Provider | Description |
|----------|-------------|
Expand Down Expand Up @@ -310,13 +285,12 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for deve
ByteRover CLI is built and maintained by the [ByteRover team](https://byterover.dev/).

- Join our [Discord](https://discord.com/invite/UMRrpNjh5W) to share projects, ask questions, or just say hi
- [Report issues](https://github.com/campfirein/byterover-cli/issues) <!-- TODO: ENG-1575 --> on GitHub
- [Report issues](https://github.com/campfirein/byterover-cli/issues) on GitHub
- If you enjoy ByteRover CLI, please give us a star on GitHub — it helps a lot!
- Follow [@kevinnguyendn](https://x.com/kevinnguyendn) on X

## Contributors

<!-- TODO: ENG-1575 -->
[![Contributors](https://contrib.rocks/image?repo=campfirein/byterover-cli&max=40&columns=10)](https://github.com/campfirein/byterover-cli/graphs/contributors)

## Star History
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"coding-assistant",
"knowledge-management"
],
"version": "3.8.2",
"version": "3.8.3",
"author": "ByteRover",
"bin": {
"brv": "./bin/run.js"
Expand Down
Loading