mcpField
H
heyeddi-local-first

heyeddi-local-first

github.com/heyeddi-comクラウド・DevOps014 回インストール2 日前に更新
リポジトリ

heyeddi-local-first について

HeyEddi プロジェクトで動作するエージェント向けの常時有効な安全スキルです。インフラやクラウドへの書き込み前にコマンドを分類し、ローカル編集と計画は許可しつつ、稼働環境の変更を防ぎます。

主な機能

  1. 01インフラ書き込み前のコマンド検査
  2. 02許可、計画、ブロックの判定
  3. 03ローカルコードと Terraform の編集手順
  4. 04デプロイ前の警告と変更レビュー

活用シーン

  1. 01稼働環境に適用せず Terraform を編集
  2. 02デプロイ計画の実行前に操作を確認
  3. 03クラウドや Kubernetes の変更を防止
  4. 04追加、変更、削除予定のリソースを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/heyeddi-com/heyeddi-skills --skill heyeddi-local-first

インストール後、Claude Code で/heyeddi-local-firstを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

manifest.json
context/
ANTI_PATTERNS.md
EXAMPLES.md
PROSE_ANTI_SLOP.md
VOCABULARY.md
reference/
process.md
scripts/
_skill_cli.py
classify_command.py
hook_before_mcp.py
hook_before_shell.py
install_user_hook.py
README.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 です。

手順

  1. 作業ツリー内の Terraform、設定、またはアプリコードを変更します。
  2. プランコマンドに対してチェッカーを実行します。終了コードが 0 で action: plan の場合は、プランを実行します。
  3. ユーザーに警告します。プランで追加、変更、または破棄されるリソースアドレスを引用してください。
  4. その差分をコミットしてレビューします。稼働環境への適用は、プロジェクトのデプロイパイプライン(HeyEddi CI の Cloud Build terraform-release)または人間が実行するターミナルで行います。

終了コード 1 になる操作

  • terraform / tofu の apply、destroy、import、refresh、state rm、workspace delete
  • gcloud への書き込み(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 は、レビュー済みの適用経路です

コメント