先の記事でも書きましたが、Claude Code をIssueやPull RequestのリアクションをClaude Codeにやらせる場合、一旦ローカルPCにClaude Codeをインストールして、git cloneしたGitHubリポジトリ内でclaudeコマンドで実行した後、/install-github-app したあとgit pushすることで設定できます。
そのとき私の環境では .github/workflow/ 以下に claude.yml と claude-code-review.yml が作成されました。
これらの Claude CodeはGitHub側のホストで実行されますが、Claude Codeからいろんなコマンドを実行させるには権限を付与する必要があります。
その権限付与は前の記事でも書いた allowed_tools に "Bash(<実行許可するコマンド>)" を追加します。
たとえば、Node.js/JavaScript/TypeScriptプロジェクトで単体テストさせるには:
allowed_tools: '["Bash(npm install)", "Bash(npm test)", "Bash(npm run test:*)", "Bash(npm run build)", "Bash(npm run lint)"]'
Pythonの単体テストの場合は:
allowed_tools: '["Bash(pip install *)", "Bash(pytest)", "Bash(pytest *)", "Bash(python -m pytest)", "Bash(tox)"]'
Rustの単体テストの場合は:
allowed_tools: '["Bash(cargo test)", "Bash(cargo build)", "Bash(cargo clippy)"]'
おそらくめんどくさくなって "Bash(*)" としてしまうと思いますが、rm -rf / とか curlによる外部通信、機密情報の漏洩など、意図しない危険なコマンドが実行される可能性があるので、推奨しません。
エラーが出たらそのたびに権限を追加するつもりで運用するのが良いと思います。
0 件のコメント:
コメントを投稿