Quality Gates について
Quality Gates は、開発エージェント向けの品質検証スキルです。ファイル編集後の自動チェックに加え、プッシュ前やデプロイ前の確認を支援します。技術スタックに応じた検証とチェックリストを備えています。
主な機能
- 01ファイル編集後の自動チェック
- 02技術スタックとファイル種別の検出
- 03ローカルでの lint・ビルド・テスト・セキュリティ検査
- 045段階のデプロイチェックリスト
活用シーン
- 01編集直後のエラー検出
- 02プッシュ前の品質チェック
- 03デプロイ前のアプリ検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hedera-dev/ hedera-skills --skill quality-gatesインストール後、Claude Code で/quality-gatesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/deploy-checklist.mdhook-patterns.mdci-pipeline.md詳細
品質ゲート
目的
開発のあらゆる段階における自動品質検証 — 個々のファイル編集から完全なデプロイまで。品質ゲートは、修正コストが最も低い早い段階でエラーを検出します。
PostToolUse フック
最も強力な品質ゲート: ファイルが編集または作成されるたびに自動検証します。
仕組み
- エージェントが
EditまたはWriteを使用してファイルを変更します - PostToolUse フックが自動的に起動します
- 検証スクリプトがファイルタイプを検出し、適切なチェッカーを実行します
- 出力は即座にエージェントへ表示されます
- エージェントはエラーを認識し、同じセッション内で修正できます
セットアップ
プラグインには、scripts/post-edit-check.sh を実行するすぐに使えるフックが hooks/hooks.json に含まれています。プラグインとしてインストールすると、これは自動的に機能します。
プロジェクトで手動セットアップする場合は、.claude/settings.json に追加します:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash .claude/scripts/post-edit-check.sh"
}
]
}
]
}
}
重要: コマンドは正確に bash .claude/scripts/post-edit-check.sh でなければなりません — 引数を追加しないでください。スクリプトは環境から $CLAUDE_TOOL_INPUT を自動的に読み取ります。
スタック固有のフックの例については references/hook-patterns.md を参照してください。
デプロイチェックリスト
アプリケーションをデプロイする前に、以下の5つの検証段階を順に実行します:
| 段階 | 内容 | ゲート |
|---|---|---|
| 1. コード品質 | Lint + 型チェック + テスト | すべて成功 |
| 2. ビルド | 完全なビルドが成功 | 成果物が存在 |
| 3. 環境 | 必要な環境変数が存在 | すべて設定済み (値を決して読み取らない) |
| 4. コンテナ | イメージがビルドおよび起動 | エラーなし |
| 5. デプロイ後 | ヘルスエンドポイント、ログ | 200 OK、クリーンなログ |
スタックごとの完全な検証コマンドについては references/deploy-checklist.md を参照してください。
CI プッシュ前ゲート
リモートへプッシュする前に、完全な品質スイートをローカルで実行します:
Lint → Build → Test → Security Scan
主要なルール:
- 段階を順番に実行する
- 最初の失敗で終了する
- 合計2分未満を目標とする
- 段階をスキップしない
- 結果を
.claude/reports/ci/に保存する
完全なパイプラインテンプレートについては references/ci-pipeline.md を参照してください。
スタック検出
品質ゲートシステムは、適切なバリデータを実行するためにプロジェクトスタックを自動検出します。
検出の優先順位
| チェック | 検出されるスタック | 主要バリデータ |
|---|---|---|
tsconfig.json が存在 | TypeScript | npx tsc --noEmit |
package.json が存在 (tsconfig なし) | JavaScript | npx eslint |
pyproject.toml または setup.py が存在 | Python | ruff check |
Cargo.toml が存在 | Rust | cargo check |
go.mod が存在 | Go | go vet ./... |
ファイル拡張子によるフォールバック
個々のファイルを編集する場合、拡張子によって検出します:
| 拡張子 | バリデータ |
|---|---|
.ts、.tsx | TypeScript チェッカー |
.js、.jsx | ESLint (設定されている場合) |
.py | ruff または py_compile |
.rs | cargo check |
.go | go vet |
| その他 | サイレントパス |
ワークフローへの統合
開発中
- PostToolUse フックがすべての編集でエラーを検出します
- エージェントは問題が深刻化する前に即座に修正します
プッシュ前
- CI パイプラインをローカルで実行: lint → build → test → security
- プッシュする前にすべての段階が成功する必要があります
デプロイ前
- デプロイチェックリストを順に実行します
- ビルド、環境、ヘルスエンドポイントを検証します
- ロールバック計画が準備できていることを確認します
相互参照
references/hook-patterns.md— すべてのスタック向けの PostToolUse フックの例references/deploy-checklist.md— 5段階のデプロイ前検証references/ci-pipeline.md— ローカル CI パイプラインのパターン