# Send ByteRover - Headless to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "byterover-headless",
    "name": "ByteRover - Headless",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/byteroverinc/byterover-headless",
    "canonicalUrl": "https://clawhub.ai/byteroverinc/byterover-headless",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/byterover-headless",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=byterover-headless",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "byterover-headless",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T04:14:58.483Z",
      "expiresAt": "2026-05-08T04:14:58.483Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=byterover-headless",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=byterover-headless",
        "contentDisposition": "attachment; filename=\"byterover-headless-1.6.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "byterover-headless"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/byterover-headless"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/byterover-headless",
    "downloadUrl": "https://openagent3.xyz/downloads/byterover-headless",
    "agentUrl": "https://openagent3.xyz/skills/byterover-headless/agent",
    "manifestUrl": "https://openagent3.xyz/skills/byterover-headless/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/byterover-headless/agent.md"
  }
}
```
## Documentation

### ByteRover Knowledge Management

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 via projectInitialized and and authStatus in brv status --headless --format json  response), 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 completed
no_changes - No context changes to push
cancelled - Push was cancelled
error - 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 completed
local_changes - Local changes exist, push first
error - Pull failed

### Error Handling

Always check the success field in JSON responses:

success: true - Operation completed successfully
success: false - Operation failed, check data.error or data.message for 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 json for automation (except brv login which outputs text).
Check brv status --headless --format json first to verify auth and project state.
For curate operations, include relevant files with --files for better context.
Query responses may include tool call details showing what knowledge was searched.
For push operations, always use -y to skip confirmation in headless mode. For re-initialization, use -f to force re-initialization.
Pull will fail if there are unpushed local changes - push first.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: byteroverinc
- Version: 1.6.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T04:14:58.483Z
- Expires at: 2026-05-08T04:14:58.483Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/byterover-headless)
- [Send to Agent page](https://openagent3.xyz/skills/byterover-headless/agent)
- [JSON manifest](https://openagent3.xyz/skills/byterover-headless/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/byterover-headless/agent.md)
- [Download page](https://openagent3.xyz/downloads/byterover-headless)