🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ByteRover - Headless

by @byteroverinc

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.

Versionv1.6.0
Downloads3,059
Installs2
TERMINAL
clawhub install byterover-headless

πŸ“– About This Skill


name: byterover-headless description: "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." metadata: {"moltbot":{"emoji":"🧠","requires":{"bins":["brv"]},"install":[{"id":"npm","kind":"node","package":"@byterover/cli","bins":["brv"],"label":"Install ByteRover CLI (npm)"}]}}

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: 1. API key - for authentication (obtain from https://app.byterover.dev/settings/keys) 2. Team and space - names or IDs for project initialization

    Login with API Key

    Authenticate using an API key:

    brv login --api-key 
    

    Outputs text: Logged in as 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
  • Project not initialized: Run brv init --headless --team --space --format json
  • Local changes exist: Push local changes before pulling
  • Tips

    1. For pull and push operations, you should ask for user permission first. 2. Always use --headless --format json for automation (except brv login which outputs text). 3. Check brv status --headless --format json first to verify auth and project state. 4. For curate operations, include relevant files with --files for better context. 5. Query responses may include tool call details showing what knowledge was searched. 6. For push operations, always use -y to skip confirmation in headless mode. For re-initialization, use -f to force re-initialization. 7. Pull will fail if there are unpushed local changes - push first.

    πŸ“‹ Tips & Best Practices

    1. For pull and push operations, you should ask for user permission first. 2. Always use --headless --format json for automation (except brv login which outputs text). 3. Check brv status --headless --format json first to verify auth and project state. 4. For curate operations, include relevant files with --files for better context. 5. Query responses may include tool call details showing what knowledge was searched. 6. For push operations, always use -y to skip confirmation in headless mode. For re-initialization, use -f to force re-initialization. 7. Pull will fail if there are unpushed local changes - push first.