💯
Gitのpre-pushフックでOpenHandsにテスト実行を強制する
OpenHandsのようなAIエージェントに開発をさせると、まず気になるのがテスト実行かもしれません
AIに「テストを実行してください」と指示しても、修正を繰り返すうちに忘れてしまうこともしばしば。
またGitHub ActionsなどのCIツールでテストを自動実行することは可能ですが、CIの結果を確認してエラーを修正するまでを自律的に任せるのは難しそうです
特にOpenHandsが待機状態になった場合、CIの結果をリアルタイムで追えないようです
そこでGitのpre-pushフックを利用して、OpenHandsにテスト実行を強制させることにしました
1. Makefileを作成
以下のようなMakefile
をリポジトリ直下に作成します
install:
cp pre-push .git/hooks/pre-push
npm install
2. pre-pushフックを作成
pre-push
ファイルを作成し、テストコマンドを記述します
#!/bin/sh
npm test
pre-pushを実行できるよう、以下のコマンドで権限を与える必要があります
chmod +x pre-push
3. OpenHandsにmake installを自動実行させる
OpenHandsのRepository Microagentsを使用することで、おそらく確実にmake install
を実行させることができます
.openhands/microagents/repo.md
ファイルを用意して、以下の指示を書いておきます
---
name: repo
type: repo
agent: CodeActAgent
---
作業を開始する前に、`make install`コマンドを実行してください
これでもう煩わしい指示をしなくても、OpenHandsが自律的にテスト実行やコードフォーマットを行い、エラーがあれば修正してくれるようになります
Discussion