このプロジェクトについて

# VibeCoder **スマートフォンからGitHub Issueを作成し、PR(プルリクエスト)を自動で受け取り、レビューしてサムズアップで修正を依頼できます。** VibeCoderは、コーディングエージェントCLIによって駆動される自動GitHub Issueワーカーです。リポジトリを監視し、Issueを取得し、コードを書き、品質チェックを実行し、プルリクエストを開きます — キーボードに触れることなくすべてが行われます。 **プロバイダー非依存**です。`claude`([Claude Code](https://docs.anthropic.com/en/docs/claude-code))がデフォルトで、`codex`(OpenAI Codex CLI)、`gemini`(Gemini CLI)、`deepseek`(Claude Code CLI経由で提供されるDeepSeek)が組み込まれており、設定によって選択されます。 ## 仕組み 1. GitHubでIssueを作成します(例:スマートフォンから)。 2. VibeCoder WorkerがIssueを検出し、自己アサインします。 3. ワーカーがフィーチャーブランチを作成し、設定されたコーディングエージェントに作業を委任します。 4. エージェントがコード変更を書きます。 5. ワーカーが品質チェック(リンティング、テスト、フォーマット)を実行します。 6. チェックが通れば、ワーカーがGitHubでプルリクエストを開きます。 7. あなたがPRをレビューし、コメントを残すか、サムズアップで修正をトリガーします。 8. ワーカーがフィードバックを適用し、更新をプッシュします。 9. あなたが承認し、PRをマージします。 ## コーディングエージェントの選択 コーディングエージェントは分離可能なレイヤーです。4つのプロバイダーが組み込まれています: | プロバイダーID | エージェント | 認証情報ファイル | | --- | --- | --- | | `claude`(デフォルト) | Claude Code | `claude/provider.env` | | `codex` | Codex CLI | `codex/provider.env` | | `gemini` | Gemini CLI | `gemini/provider.env` | | `deepseek` | DeepSeek(Claude Code CLI経由) | `deepseek/provider.env` | `.config.json`の`agent_provider`キーで1つを選択します。混在ホストではクォータ対応の選択をオプトインできます。 ## 主な機能 - **IssueからPRへのパイプライン**:Issueを書けばPRが得られます。ワーカーがブランチ作成、コーディング、テスト、PR作成を処理します。 - **レビューフィードバックループ**:PRにコメントを残し、サムズアップで修正をトリガーします。 - **明確化と改良**:Issueが不明確な場合、ワーカーは開始前に質問します。 - **プランニングモード**:`planning`ラベルを追加すると、直接実装ではなくタスク分解とサブIssueが得られます。 - **質問応答**:`question`ラベルを追加すると、実装なしでコードベースに関する回答が得られます。 - **スペル自動修正**:PRでのスペルチェック失敗は自動的に修正されます。 - **CI失敗の自動修正**:オープンPRでのCIチェック失敗は自動的に診断され修正されます。 - **アイドルタスクフレームワーク**:クレーム可能な作業がない場合、ワーカーは低優先度のアイドルタスク(セキュリティ、ベストプラクティスなど)を起票します。 - **セキュリティスキャン**:アイドル実行時に監視対象リポジトリに対してセキュリティスキャンを実行します。 - **優先度ベースの作業キュー**:PRフィードバック、次にスペル修正、CI修復などを優先します。 - **コスト最適化**:フェーズベースのモデル選択、プロンプトキャッシング、トークン使用量追跡。 - **実行後コールバック**:成功/失敗した実行後にオプションの実行ファイルを実行します。 - **リポジトリごとの設定**:リポジトリごとにワーカーの動作をカスタマイズします。 - **マイルストーン拡張**:進捗通知、スタックしたブランチの自動ロールバック。 - **自己修復**:シャドウコピー実行、自動リポジトリリセット、ディスククリーンアップ、クラッシュ耐性。 - **デフォルトで安全**:許可された作成者からの、設定されたラベルを持つIssueのみを処理します。 - **拡張可能**:Deno/TypeScriptコマンドで新機能を追加できます。 ## 品質と制御 あなたのレビューなしにデフォルトブランチ(prod)に何かが入ることはありません。すべての変更はPRとして届きます。あなたがレビューし、修正を依頼し、マージ前に承認します。ワーカーはTDD、KISS、DRYに従い、完全な品質ゲート(`deno test`、`deno lint`、`deno check`、`deno fmt --check`、semgrep)を実行します。 ## クイックスタート ### macOS / Linux ```bash # リポジトリをクローン gh repo clone <your-org>/VibeCoder cd VibeCoder # 環境変数で設定 VIBE_ALLOWED_AUTHOR=myusername \ VIBE_REPOS="myorg/repo1,myorg/repo2" \ ./setup.sh # ワーカーを起動 ./run.sh ``` ### Windows(PowerShell) ```powershell # リポジトリをクローン gh repo clone <your-org>/VibeCoder cd VibeCoder # 設定 $env:VIBE_ALLOWED_AUTHOR = "myusername" $env:VIBE_REPOS = "myorg/repo1,myorg/repo2" .\setup.ps1 # ワーカーを起動 .\run.ps1 ``` ## アーキテクチャ ワーカーは薄いランチャー + Deno TypeScriptアーキテクチャを使用します。エントリポイントは最小限のshell/PowerShellスクリプトで、すべてのビジネスロジックをDenoに委任します。クロスプラットフォーム:macOS、Linux、Windows。 ワーカーは最小権限のコンテナ内で実行されます。封じ込めは必須です。GitHubが唯一の通常のリモートコントロールプレーンです。 ## 要件 - サポートされているコンテナランタイム:macOSではApple `container`、LinuxとWindowsではDockerまたはPodman。 - [Deno](https://deno.com/) 2+ — ランチャーの唯一のホストツール。 - ランチャーを実行するための`bash`(macOS/Linux)またはPowerShell(Windows)。 - セットアップ時のみ:Gitと認証済みのGitHub CLI。 ## ドキュメント - [概要](docs/OVERVIEW.md):1ページのウォークスルー。 - [ラベルフロー](docs/workflows/label-flows.md):どのラベルをいつ使うか。 - [使用ガイド](docs/USAGE.md):Issueの作成、PRワークフロー。 - [ワークフロー概要](docs/workflows/README.md):リポジトリオーナー向けユーザーマニュアル。 - [Quorum](docs/QUORUM.md):複数のプロバイダーを同時に実行する。