ByteRover Knowledge Management
SkillWeb & browsingQuery and curate knowledge-base using ByteRover CLI. Use `brv query` for knowledge retrieval, `brv curate` for adding context, and `brv push/pull` for syncing.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ByteRover Knowledge Management skill
What this skill tells your AI
The instructions your AI receives, as published by sundial-org/awesome-openclaw-skills in skills/byterover-headless/SKILL.md and read by ahel’s review.
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.
Setup (Headless)
- ByteRover can be fully set up in headless mode. If user has not logged in or initialized
.brv/in the current working directory (check viaprojectInitializedand andauthStatusinbrv status --headless --format jsonresponse), ask them to provide:
- API key - for authentication (obtain from https://app.byterover.dev/settings/keys)
- Team and space - names or IDs for project initialization
Login with API Key
Authenticate using an API key:
brv login --api-key <key>
Outputs text: Logged in as <email> on success.
Initialize Project
Initialize ByteRover for a project (requires team and space for headless mode - can use either ID or name):
# 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:
brv init --headless --team my-team --space my-space --force --format json
Example response:
{
"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 Status
Check the current status of ByteRover and the project:
brv status --headless --format json
Example response:
{
"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"
}
}
Query Knowledge
Ask questions to retrieve relevant knowledge:
brv query "How is authentication implemented?" --headless --format json
Example response:
{
"success": true,
"command": "query",
"data": {
"status": "completed",
"result": "Authentication uses JWT tokens...",
"toolCalls": [{"tool": "search_knowledge", "status": "success", "summary": "5 matches"}]
}
}
Curate Context
Add new knowledge or context to the project's context tree:
brv 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):
brv curate "Authentication middleware validates JWT tokens" --files src/middleware/auth.ts --headless --format json
Example response:
{
"success": true,
"command": "curate",
"data": {
"status": "queued",
"taskId": "abc123",
"message": "Context queued for processing"
}
}
Push Context Tree
Push local context tree changes to ByteRover cloud storage:
brv push --headless --format json -y
The -y flag skips confirmation prompt (required for headless mode).
Push to a specific branch:
brv push --branch feature-branch --headless --format json -y
Example response:
{
"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 failed
Pull Context Tree
Pull context tree from ByteRover cloud storage:
brv pull --headless --format json
Pull from a specific branch:
brv pull --branch feature-branch --headless --format json
Example response:
{
"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 failed
Error Handling
Always check the success field in JSON responses:
success: true- Operation completed successfullysuccess: false- Operation failed, checkdata.errorordata.messagefor details
Common error scenarios:
- Not authenticated: Run
brv login --api-key <key> - Project not initialized: Run
brv init --headless --team <team> --space <space> --format json - Local changes exist: Push local changes before pulling
Tips
- For pull and push operations, you should ask for user permission first.
- Always use
--headless --format jsonfor automation (exceptbrv loginwhich outputs text). - Check
brv status --headless --format jsonfirst to verify auth and project state. - For curate operations, include relevant files with
--filesfor better context. - Query responses may include tool call details showing what knowledge was searched.
- For push operations, always use
-yto skip confirmation in headless mode. For re-initialization, use-fto force re-initialization. - Pull will fail if there are unpushed local changes - push first.
Signals
- GitHub stars
- 661
- Forks
- 97
- Last commit
- Mar 2026
Advanced
- Catalog kind
- skill
- Gateway key
byterover-headless- Source
- github.com/sundial-org/awesome-openclaw-skills