Claude-skill-registry code-quality-gate
コード品質基準の完全遵守を保証します。コミット前の品質チェックを自動実行し、エラーがある状態でのコミットを防止します。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/code-quality-gate-drillan-note-mcp" ~/.claude/skills/majiayu000-claude-skill-registry-code-quality-gate && rm -rf "$T"
manifest:
skills/data/code-quality-gate-drillan-note-mcp/SKILL.mdsource content
Code Quality Gate スキル
このスキルは、Constitution Article 5: Code Quality Standards を強制し、コード品質基準の完全遵守を保証します。
起動条件
以下の状況で自動起動します:
- コミット前:
を実行する前の最終チェックgit commit - PR作成前: プルリクエストを作成する前
- 品質問題検出時: コードに品質問題がある可能性がある場合
- 明示的な依頼: ユーザーが品質チェックを依頼した場合
品質チェック項目
1. Ruff Linter
コードスタイルとベストプラクティスの検証
# エラーチェック uv run ruff check . # 自動修正 uv run ruff check --fix .
チェック内容:
- 未使用のインポート
- 未使用の変数
- コードスタイル違反
- セキュリティ問題
- パフォーマンス問題
2. Ruff Formatter
コードフォーマットの統一
# フォーマットチェック(差分表示) uv run ruff format --check . # 自動フォーマット uv run ruff format .
チェック内容:
- インデント
- 行の長さ
- 空白の使用
- クォートの統一
3. Mypy Type Checker
静的型チェック
# 型チェック実行 uv run mypy .
チェック内容:
- 型アノテーションの存在(Article 9)
- 型の整合性
型の過剰使用Any
チェックの欠落None
実行プロセス
Quick Check(高速チェック)
# すべてのチェックを一度に実行 uv run ruff check . && uv run ruff format --check . && uv run mypy .
Full Check with Auto-fix(自動修正付き完全チェック)
# 自動修正を適用して再チェック uv run ruff check --fix . && uv run ruff format . && uv run mypy .
Step-by-Step(段階的チェック)
問題を個別に解決したい場合:
# Step 1: Linter uv run ruff check . # Step 2: Formatter uv run ruff format --check . # Step 3: Type Checker uv run mypy .
品質ゲート基準
PASS条件
すべてのチェックがエラーなしで完了:
✓ ruff check: 0 errors ✓ ruff format: No changes needed ✓ mypy: Success: no issues found
FAIL条件
いずれかのチェックでエラーが発生:
✗ ruff check: 3 errors found ✗ ruff format: 2 files would be reformatted ✗ mypy: Found 5 errors in 2 files
エラー対応ガイド
Ruff エラーの修正
# エラー一覧の確認 uv run ruff check . # 自動修正可能なエラーを修正 uv run ruff check --fix . # 手動修正が必要なエラーは個別対応 # エラーコードのドキュメントを参照
Format エラーの修正
# 自動フォーマット適用 uv run ruff format .
Mypy エラーの修正
| エラータイプ | 対応方法 |
|---|---|
| 戻り値の型アノテーションを追加 |
| 引数の型アノテーションを追加 |
| 型の不整合を修正 |
| Optional型または None チェックを追加 |
型アノテーション例:
# Before (エラー) def greet(name): return f"Hello, {name}" # After (修正) def greet(name: str) -> str: return f"Hello, {name}"
レポート形式
チェック完了後、以下の形式でレポート:
## Code Quality Gate Report ### チェック結果 | Tool | Status | Details | |------|--------|---------| | ruff check | ✓ PASS | 0 errors | | ruff format | ✓ PASS | No changes | | mypy | ✓ PASS | No issues | ### 総合判定: PASS コミット/PR作成を進めてください。
または
## Code Quality Gate Report ### チェック結果 | Tool | Status | Details | |------|--------|---------| | ruff check | ✗ FAIL | 3 errors | | ruff format | ✓ PASS | No changes | | mypy | ✗ FAIL | 5 errors | ### 総合判定: FAIL 以下のエラーを修正してください: 1. ruff: E501 Line too long (src/auth.py:45) 2. ruff: F401 Unused import (src/utils.py:1) 3. mypy: Missing return type (src/auth.py:10) ...
注意事項
- 例外なし: Article 5 は非交渉的原則
- 時間制約は理由にならない: 品質を犠牲にしない
- 自動修正を活用: 可能な限り自動修正を適用
- ゲート通過必須: PASSするまでコミット/PRは行わない
推奨ワークフロー
- コードを書く
を実行uv run ruff check --fix . && uv run ruff format .
を実行uv run mypy .- エラーがあれば修正
- すべてPASSしたらコミット
# 一連のコマンド uv run ruff check --fix . && uv run ruff format . && uv run mypy . && git add . && git commit -m "message"