Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Query and curate knowledge-base using ByteRover CLI. Use `brv query` for knowledge retrieval, `brv curate` for adding context, and `brv push/pull` for syncing.
.claude/skills/sundial-org-byterover-headless/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 142% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 112% | 0% |
Use the brv CLI to manage your own knowledgebase. ByteRover maintains a context tree that stores patterns, decisions, and implementation details about a project.
IMPORTANT: For headless/automated use, always add --headless --format json flags to get machine-parseable JSON output.
.brv/ in the current working directory (check via projectInitialized and and authStatus in brv status --headless --format jsonresponse), ask them to provide:
Authenticate using an API key:
bashbrv login --api-key <key>
Outputs text: Logged in as <email> on success.
Initialize ByteRover for a project (requires team and space for headless mode - can use either ID or name):
bash# Using names brv init --headless --team my-team --space my-space --format json # Using IDs brv init --headless --team team-abc123 --space space-xyz789 --format json
Force re-initialization:
bashbrv init --headless --team my-team --space my-space --force --format json
Example response:
json{ "success": true, "command": "init", "data": { "status": "success", "teamName": "MyTeam", "spaceName": "MySpace", "configPath": "/path/to/project/.brv/config.json" } }
Note: You can use either team/space names or IDs. Names are matched case-insensitively.
Check the current status of ByteRover and the project:
bashbrv status --headless --format json
Example response:
json{ "success": true, "command": "status", "data": { "cliVersion": "1.0.0", "authStatus": "logged_in", "userEmail": "user@example.com", "projectInitialized": true, "teamName": "MyTeam", "spaceName": "MySpace", "mcpStatus": "connected", "contextTreeStatus": "has_changes" } }
Ask questions to retrieve relevant knowledge:
bashbrv query "How is authentication implemented?" --headless --format json
Example response:
json{ "success": true, "command": "query", "data": { "status": "completed", "result": "Authentication uses JWT tokens...", "toolCalls": [{"tool": "search_knowledge", "status": "success", "summary": "5 matches"}] } }
Add new knowledge or context to the project's context tree:
bashbrv curate "Auth uses JWT with 24h expiry. Tokens stored in httpOnly cookies via authMiddleware.ts" --headless --format json
Include specific files for comprehensive context (max 5 files):
bashbrv curate "Authentication middleware validates JWT tokens" --files src/middleware/auth.ts --headless --format json
Example response:
json{ "success": true, "command": "curate", "data": { "status": "queued", "taskId": "abc123", "message": "Context queued for processing" } }
Push local context tree changes to ByteRover cloud storage:
bashbrv push --headless --format json -y
The -y flag skips confirmation prompt (required for headless mode).
Push to a specific branch:
bashbrv push --branch feature-branch --headless --format json -y
Example response:
json{ "success": true, "command": "push", "data": { "status": "success", "added": 3, "edited": 1, "deleted": 0, "branch": "main", "url": "https://app.byterover.com/team/space" } }
Possible statuses:
success - Push completedno_changes - No context changes to pushcancelled - Push was cancellederror - Push failedPull context tree from ByteRover cloud storage:
bashbrv pull --headless --format json
Pull from a specific branch:
bashbrv pull --branch feature-branch --headless --format json
Example response:
json{ "success": true, "command": "pull", "data": { "status": "success", "added": 5, "edited": 2, "deleted": 1, "branch": "main", "commitSha": "abc123def" } }
Possible statuses:
success - Pull completedlocal_changes - Local changes exist, push firsterror - Pull failedAlways check the success field in JSON responses:
success: true - Operation completed successfullysuccess: false - Operation failed, check data.error or data.message for detailsCommon error scenarios:
brv login --api-key <key>brv init --headless --team <team> --space <space> --format json--headless --format json for automation (except brv login which outputs text).brv status --headless --format json first to verify auth and project state.--files for better context.-y to skip confirmation in headless mode. For re-initialization, use -f to force re-initialization.Other measured skills in the registry, with their headline benchmark lift.