Bitbucket CLI工具

bbcli是一个为Bitbucket Cloud设计的命令行工具和MCP服务器,提供结构化的JSON输出和语义退出码,适用于开发者和AI助手。

  • by ashrocket
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 ashrocket/bbcli

使用说明

bbcli

缺失的Bitbucket Cloud工具包——为您和您的AI助手准备。

bbcli 从一个Go代码库中提供两个工具:

  • bbcli --具有结构化JSON输出、语义退出代码和零交互提示的CLI
  • bbmcp --提供Claude Code、Cursor和Windsurf原生Bitbucket工具的MCP服务器

两者共享一个身份验证设置、一个配置和相同的行为。什么 gh 是GitHub,bbcli是Bitbucket——为人工智能辅助开发时代而构建。

第一个Bitbucket MCP服务器。 不存在Bitbucket MCP服务器。bbmcp填补了这一空白。

安装

# Requires Go 1.21+
go install github.com/ashrocket/bbcli/cmd/bbcli@latest
go install github.com/ashrocket/bbcli/cmd/bbmcp@latest

确保 ~/go/bin 在您的路径中:

echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

快速开始

# Authenticate (one time, works for both CLI and MCP)
bbcli auth login

# Set your default workspace
bbcli config set defaults.workspace myworkspace

# List PRs
bbcli pr list -r my-repo

# Create a PR
bbcli pr create --title "Fix auth bug" --dest dev -r my-repo

# Check pipelines
bbcli pipeline list -r my-repo
bbcli pipeline status 42 -r my-repo

# Watch a pipeline until it finishes
bbcli pipeline watch -r my-repo

# Hit any Bitbucket API endpoint directly
bbcli api /user

命令

bbcli pr list              List pull requests
bbcli pr create            Create a pull request
bbcli pr view <ID>         View PR details
bbcli pr approve <ID>      Approve a PR
bbcli pr decline <ID>      Decline a PR
bbcli pr merge <ID>        Merge a PR

bbcli pipeline list        List recent pipelines
bbcli pipeline status <N>  Show pipeline steps
bbcli pipeline watch [N]   Watch until completion

bbcli branch delete <name> Delete a remote branch

bbcli auth login           Store credentials
bbcli auth status          Show auth chain

bbcli config set <k> <v>   Set config value
bbcli config get <k>       Get config value
bbcli config list          Show all config

bbcli api <path>           Authenticated API request

每个命令都支持 --json, --output minimal,以及 --output table (默认)。

认证

bbcli从以下位置解析身份验证(按优先级顺序):

  1. BBCLI_TOKEN 环境变量
  2. --token 旗帜
  3. ~/.config/bbcli/credentials (存储于 bbcli auth login)
  4. 遗产 ~/.bb-cli-token-* 文件
# Option A: Environment variable (recommended for CI/agents)
export BBCLI_TOKEN="your-bitbucket-token"

# Option B: Persistent login
bbcli auth login --token your-bitbucket-token

# Option C: Interactive login (prompts for token)
bbcli auth login

支持Bearer令牌(工作区/仓库访问令牌)和基本身份验证(电子邮件:app_password格式)。

用于AI代理(CLI)

# Set once in agent environment
export BBCLI_TOKEN="your-api-token"
export BBCLI_OUTPUT="json"

# Create a PR (idempotent — safe to retry)
PR_ID=$(bbcli pr create --title "Fix auth" --dest dev --output minimal)

# Check CI
bbcli pipeline watch --timeout 600

# Merge
bbcli pr merge "$PR_ID"

每个错误都包含一个机器可读代码和 retryable 标志:

{
  "error": {
    "code": "RATE_LIMITED",
    "message": "API rate limit exceeded. Retry after 30 seconds.",
    "suggestion": "Wait and retry, or reduce request frequency",
    "retryable": true
  }
}

人工智能代理(MCP)

为您的AI编码助手提供原生Bitbucket工具:

# Claude Code — one command setup
claude mcp add bitbucket -- bbmcp

或添加到 .mcp.json:

{
  "mcpServers": {
    "bitbucket": {
      "command": "bbmcp",
      "env": { "BBCLI_TOKEN": "your-api-token" }
    }
  }
}

22种可用工具: bitbucket_pr_create, bitbucket_pr_list, bitbucket_pipeline_status, bitbucket_source_view, bitbucket_api以及更多。

退出代码

代码 名称 代理操作
0 成功 继续
1 一般错误 记录并上报
2 使用错误 修复调用
3 身份验证错误 刷新凭据
4 未找到 检查资源ID
5 状态错误 检查当前状态
6 速率受限 后退并重试
7 网络/API错误 重试或升级

自动检测

bbcli自动从当前目录中的git远程检测您的工作区和仓库。无需通过 -w 和 -r 在Bitbucket仓库内工作时标记。

cd ~/code/my-bitbucket-repo
bbcli pr list    # just works — workspace and repo detected from git remote

用标志覆盖: bbcli pr list -w other-workspace -r other-repo

许可证

麻省理工学院