codebahn について
Codebahn CLIは、Codebahnのホスト型Gitプラットフォームを操作するコマンドラインクライアントです。開発者やチームがリポジトリ、Issue、PR、CIを管理でき、内蔵MCPサーバーを介してAIコーディングエージェントからも同じリソースにアクセスできます。
主な機能
- 01リポジトリ、ブランチ、コミット、差分を管理
- 02IssueやPRを作成・処理
- 03CIワークフローの実行とログ確認
- 04リリース、Webhook、ブランチ保護を管理
- 05ブラウザーOAuthでログイン
- 06更新時に署名とチェックサムを自動検証
活用シーン
- 01CLIからPRをレビューしてマージ
- 02ターミナルでIssueやリポジトリを作成
- 03CIワークフローを実行してログを調査
- 04AIコーディングエージェントからCodebahnのプロジェクトを操作
MCP 対応
Codebahnは、AIコーディングエージェントがリポジトリ、Issue、PR、CIにアクセスするためのホスト型MCPサーバーを提供します。MCPクライアントに`https://codebahn.net/mcp`を登録し、OAuthで認証します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://codebahn.net/mcpclaude mcp add --transport http codebahn-codebahn https://codebahn.net/mcp{"mcpServers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}Cursor で開く{"servers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}VS Code で開く{"mcpServers":{"codebahn-codebahn":{"type":"http","url":"https://codebahn.net/mcp"}}}{"mcpServers":{"codebahn-codebahn":{"serverUrl":"https://codebahn.net/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Codebahn CLI
Codebahn は、プライベートな GitHub の代替サービスです。開発者やチーム向けに、高速な Git と CI を提供します。コードは保存され、配信されます。スキャンも、学習への利用も、追跡もされません。スウェーデンの企業で、インフラは EU 内のみ、すべてのサブプロセッサーが EU 内で法人化されています。Forgejo を基盤としており、簡単に移行できます。
Codebahn のコマンドラインインターフェースです。
codebahn auth login
codebahn pr list
codebahn issue create --title "ship it"
codebahn ci dispatch --workflow ci.yml
単一のバイナリ。OAuth ログイン。設定ファイルは不要です。
インストール
Linux と macOS
curl -fsSL https://releases.codebahn.net/cli/install.sh | sh
プラットフォームを検出して最新のバイナリをダウンロードし、SHA256 チェックサムを検証して、~/.local/bin にインストールします。INSTALL_DIR でインストール先を変更できます。
curl -fsSL https://releases.codebahn.net/cli/install.sh | INSTALL_DIR=/usr/local/bin sh
Windows
irm https://releases.codebahn.net/cli/install.ps1 | iex
最新のバイナリをダウンロードし、SHA256 チェックサムと GPG 署名(gpg がインストールされている場合)を検証して、%LOCALAPPDATA%\Programs\codebahn にインストールし、PATH に追加します。$env:INSTALL_DIR でインストール先を変更できます。インストール後、ターミナルを再起動してください。
ソースからのインストール
ソースからインストールします(注:ソースからのビルドでは自動更新が無効になります)。
go install github.com/codebahn/codebahn-cli/cmd/codebahn@latest
更新
CLI は 24 時間に 1 回、新しいバージョンを確認し、利用可能な場合は通知を表示します。上書き更新するには、次のコマンドを実行します。
codebahn update
releases.codebahn.net から新しいバイナリをダウンロードし、GPG 署名と SHA256 チェックサムを検証して、自身を置き換えます。外部ツールは不要です。
インストールせずに確認するには、codebahn update --check を実行します。
定期的な確認を無効にするには、CODEBAHN_NO_UPDATE_CHECK=1 を設定するか、設定ファイル(~/.config/codebahn/config.json、Windows では %APPDATA%\codebahn\config.json)に "check_updates": false を追加します。
認証
ブラウザーからログインします。トークンは ~/.config/codebahn/config.json(Windows では %APPDATA%\codebahn\config.json)に保存されます。
codebahn auth login
codebahn auth status
CI では、代わりに CODEBAHN_TOKEN を設定します。
コマンド
| グループ | 内容 |
|---|---|
repo | リポジトリの作成、一覧表示、ファイル・ブランチ・コミット・差分・参照の比較 |
issue | イシューの作成、一覧表示、コメント、ラベル、マイルストーン |
pr | プルリクエストの作成、一覧表示、マージ、差分、コミット、レビュー |
ci | ワークフローの実行、実行一覧、ログの確認、シークレット/変数 |
release | リリース、添付ファイル、タグ |
webhook | Webhook の管理 |
protection | ブランチ保護の管理 |
search | コード、リポジトリ、イシュー |
Git リポジトリ内で実行すると、リモートから --owner と --repo が自動検出されます。
codebahn pr merge --index 42 --style squash
codebahn repo cat --ref main --filePath README.md
codebahn ci logs --run_id 7
プルリクエストをコミットごとにレビューします。
codebahn pr commits --index 42
codebahn repo show --sha 1a2b3c4 --file_path internal/foo.go
codebahn repo compare --base main --head feat/foo
codebahn repo log --path internal/foo.go --limit 10
すべてのサブコマンドで --help を使用できます。
MCP と AI エージェント
Codebahn には、AI コーディングエージェントをリポジトリ、イシュー、プルリクエスト、CI に接続する、ホスト型の MCP サーバーが組み込まれています。
https://codebahn.net/mcp
このリポジトリの tools/ パッケージは、この CLI と MCP エンドポイントの両方で共有される唯一の信頼できる情報源です。103 個のツール、共通の型定義 1 セット、ずれはありません。
サーバーは OAuth で認証し、/.well-known/oauth-protected-resource を通じて検出されます。URL を MCP クライアントに追加し、初回利用時にブラウザーで OAuth プロンプトを承認してください。
Claude Code
claude mcp add --transport http codebahn https://codebahn.net/mcp
Codex
codex mcp add codebahn --url https://codebahn.net/mcp
VS Code(Copilot)
プロジェクトのルートに .vscode/mcp.json を作成します。
{
"servers": {
"codebahn": {
"type": "http",
"url": "https://codebahn.net/mcp"
}
}
}
Cursor
プロジェクトのルートに .cursor/mcp.json を作成します。
{
"mcpServers": {
"codebahn": {
"type": "http",
"url": "https://codebahn.net/mcp"
}
}
}
詳細なドキュメント:codebahn.net/docs/mcp/。
リリース基盤
Codebahn は EU ホスト型の Git プラットフォームです。この原則は自社のツールにも適用しています。CLI のリリースアーティファクトは、GitHub やサードパーティの CDN ではなく、自社の EU インフラストラクチャでホストしています。
リリースの仕組み:
- ソースコードは、見つけやすさを考慮して、GitHub 上で公開されています。
- リリースにタグを付けると、GitHub Actions が Linux と macOS 向け(amd64 および arm64)のバイナリをクロスコンパイルします。
- ワークフローは、バイナリ、SHA256 チェックサムファイル、および分離型 GPG 署名を、
fr-par(フランス、パリ)の Scaleway Object Storage にアップロードし、releases.codebahn.netで配信します。 codebahn updateはreleases.codebahn.netから取得します。GitHub に接続することはありません。
リリースアーティファクトを自社の EU インフラストラクチャでホストすることで、CLI の更新確認が EU 内で完結します。ソースコードは、オープンソースプロジェクトの標準的な公開場所である GitHub にあります。GitHub Actions は公開されたソースをコンパイルします。ビルドに顧客データは使用しません。
リリースの検証
各リリースには、GPG リリースキーで署名された checksums.txt ファイルが含まれます。CLI は codebahn update の実行中に、署名とチェックサムの両方を自動的に検証します。
手動で検証するには:
# Import the public key
curl -sS https://codebahn.net/release-signing-key.asc | gpg --import
# Download and verify
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt
curl -O https://releases.codebahn.net/cli/v0.1.0/checksums.txt.asc
gpg --verify checksums.txt.asc checksums.txt
# Check the binary
sha256sum -c checksums.txt --ignore-missing
公開鍵は CLI バイナリにも埋め込まれているため、codebahn update で別途取得する必要はありません。
リリースの作成
タグを付けてプッシュします:
git tag v0.1.0
git push origin v0.1.0
GitHub Actions ワークフローはテストを実行し、GoReleaser を使ってビルド(並列クロスコンパイル、GPG 署名)を行い、すべてを releases.codebahn.net にアップロードします。latest.json マニフェストが更新され、既存のインストール環境は 24 時間以内に新しいバージョンを取得します。
ローカルでリリースする場合(CI を介さない場合):./scripts/release.sh v0.1.0。goreleaser、gpg(リリースキーを設定済み)、および Scaleway 用に設定された aws CLI が必要です。
コントリビューション
CONTRIBUTING.md を参照してください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。