heyeddi-local-first について
HeyEddi プロジェクトで動作するエージェント向けの常時有効な安全スキルです。インフラやクラウドへの書き込み前にコマンドを分類し、ローカル編集と計画は許可しつつ、稼働環境の変更を防ぎます。
主な機能
- 01インフラ書き込み前のコマンド検査
- 02許可、計画、ブロックの判定
- 03ローカルコードと Terraform の編集手順
- 04デプロイ前の警告と変更レビュー
活用シーン
- 01稼働環境に適用せず Terraform を編集
- 02デプロイ計画の実行前に操作を確認
- 03クラウドや Kubernetes の変更を防止
- 04追加、変更、削除予定のリソースを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heyeddi-com/ heyeddi-skills --skill heyeddi-local-firstインストール後、Claude Code で/heyeddi-local-firstを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
manifest.jsoncontext/ANTI_PATTERNS.mdEXAMPLES.mdPROSE_ANTI_SLOP.mdVOCABULARY.mdreference/process.mdscripts/_skill_cli.pyclassify_command.pyhook_before_mcp.pyhook_before_shell.pyinstall_user_hook.pyREADME.md詳細
ローカル優先
HeyEddi のスキルを読み込むすべてのエージェント(Cursor、Claude、Codex、Cloud Run、その他のホスト)で常時有効です。リポジトリ内のコードと Terraform を編集してください。プランを確認してください。稼働中のシステムは変更しないでください。
これは verify_setup --check と同じ種類のゲートです。稼働中の環境を変更しようとすると、スクリプトは終了コード 1 で終了します。このコマンドは実行しないでください。
厳格なゲート
Terraform、OpenTofu、Pulumi、gcloud、GAM、Firebase、kubectl、Helm、aws、gsutil、bq、または Google API への書き込みを行う前に、次を実行してください。
python .agents/skills/heyeddi-local-first/scripts/classify_command.py --check --command "<the exact command>"
このハブからのスクリプトパスは skills/heyeddi-local-first/scripts/classify_command.py です。
| 終了コード | 意味 |
|---|---|
0 かつ "action": "allow" | 実行してください。読み取りとローカル設定のみです。 |
0 かつ "action": "plan" | 実行してください。その後、プランで作成、変更、または破棄されるものをユーザーに警告してください。そこで停止します。 |
1 かつ "blocked": true | 実行しないでください。代わりにファイルを編集してください。 |
プランコマンドは terraform plan、tofu plan、pulumi preview、または ansible-playbook --check です。
手順
- 作業ツリー内の Terraform、設定、またはアプリコードを変更します。
- プランコマンドに対してチェッカーを実行します。終了コードが 0 で
action: planの場合は、プランを実行します。 - ユーザーに警告します。プランで追加、変更、または破棄されるリソースアドレスを引用してください。
- その差分をコミットしてレビューします。稼働環境への適用は、プロジェクトのデプロイパイプライン(HeyEddi CI の Cloud Build
terraform-release)または人間が実行するターミナルで行います。
終了コード 1 になる操作
terraform/tofuのapply、destroy、import、refresh、state rm、workspace deletegcloudへの書き込み(delete、deploy、create、submit、IAM の変更)。list、describe、get、config、authは引き続き許可されます。- カレンダーアカウントの変更を含む GAM への書き込み。
gam infoとgam printは引き続き許可されます。 firebase deploy、kubectl への書き込み、helm upgrade、aws への書き込み、gsutil rm、--dry_runではないbqクエリ- Google API への
curl -X POST、PUT、PATCH、または DELETE bash -c、python -c、$(...)、またはローカルの.sh/.pyスクリプト内での同じコマンド
firebase emulators:start はローカルで実行されるため、引き続き許可されます。
ツール
| スクリプト | 目的 |
|---|---|
classify_command.py --check | 稼働環境への変更がある場合は終了コード 1 になります。プランの場合は警告を出力し、終了コード 0 になります。 |
関連項目
- 常時有効の
@heyeddiリスト - コード変更ゲートについては
@engineering-excellence - HeyEddi CI の
cloudbuild.yamlステップterraform-releaseは、レビュー済みの適用経路です