forgejo-cli について
Forgejoのインストール環境を操作するPython製コマンドラインツールで、リポジトリや共同作業の日常管理を対象とします。よく使うコマンド群に加え、未対応のAPIエンドポイント向けの汎用APIコマンドと変更プレビューを備えています。
主な機能
- 01Issue、PR、リポジトリなどの管理
- 02汎用APIコマンドによる他のエンドポイントの呼び出し
- 03一覧と検索のページネーション
- 04dry-runによる変更計画のプレビュー
- 05診断情報と分けた単一JSON出力
活用シーン
- 01リポジトリ内のIssue一覧の取得
- 02非公開リポジトリ作成の事前確認
- 03コマンドにないForgejo APIエンドポイントの呼び出し
- 04ページネーション応答と件数情報の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill forgejo-cliインストール後、Claude Code で/forgejo-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdV2-SPEC.mdevals/evals.jsonreferences/api-usage.mdcommand-reference.mdendpoint-routing.mdtroubleshooting.mdscripts/forgejo-clitests/test_cli.py詳細
Forgejo CLI v2
python3 scripts/forgejo-cli を実行します。--agent(デフォルト)は FORGEJO_AGENT_TOKEN を使用し、--user は FORGEJO_USER_TOKEN を使用します。--server URL でインストール先を選択します。ラッパーから環境変数が設定される場合はシェルで FORGEJO_SERVER を設定し、そうでない場合は --server を明示的に指定してください。
安全性
- 変更を行うには
--force/--yes/-y、または--dry-runが必要です。 --dry-run --jsonはmethod、path、query、bodyを含むプランを1つ出力します。ネットワークリクエストは行いません。--jsonは標準出力にJSON値を1つだけ書き込み、診断メッセージは標準エラー出力に書き込みます。--pageと--limitは、すべての一覧/検索リクエストで使用できます。HTTPステータスとlink、x-total-countのページネーションヘッダーを受け取るには、--include-responseを追加してください。--helpは認証情報を読み取らず、サーバーにも接続しません。パスセグメントはエンコードされます。
よく使うワークフロー
python3 scripts/forgejo-cli issue list --owner acme --repo app --json
python3 scripts/forgejo-cli --dry-run --json repo create --name demo --private
python3 scripts/forgejo-cli --dry-run --json api --method POST \
--path /api/v1/repos/acme/app/actions/variables --data '{"name":"KEY","value":"value"}'
専用のコマンドグループ:issue、pr、repo、content、label、milestone、release、hook、user。content ではbase64が必要で、更新/削除には現在のSHAが必要です。その他の /api/v1/ エンドポイントには api を使用します。JSON、ファイルの生データ、マルチパートのアップロード/フォーム、カスタムヘッダーに対応しています。選択したサーバーの /api/swagger または /swagger.v1.json を参照してください。コマンドリファレンスをご覧ください。
コマンドの選び方
対象の日常的なワークフローには、専用コマンドを使用してください。操作が用意されていない場合、バージョン固有のフィールドが必要な場合、または単純なフラグでは表現できないスキーマが必要な場合は api を使用してください。api を使用する前に、エンドポイントのルーティングを読んでください。認証、ページネーション、互換性、安全なスキーマ検出については、APIの使用方法をお読みください。401/403/422レスポンスや通信障害については、トラブルシューティングをお読みください。