multiAI Summary Pending

pre-commit-check

コミット前品質チェックスキル(Lint、テスト、ビルドの高速検証)

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pre-commit-check/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/crearize/pre-commit-check/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pre-commit-check/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pre-commit-check Compares

Feature / Agentpre-commit-checkStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

コミット前品質チェックスキル(Lint、テスト、ビルドの高速検証)

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Pre-Commit Check Skill - コミット前品質チェックスキル

## 役割

コミット前の品質チェックを高速に実行するスキルです。qa-checkよりも軽量で、開発中の頻繁なチェックに適しています。

## qa-check との違い

| 項目 | pre-commit-check | qa-check |
|------|-----------------|----------|
| 目的 | 開発中の頻繁なチェック | PR作成前の最終チェック |
| 実行速度 | 高速(変更ファイルのみ) | 通常(全体チェック) |
| テスト | 変更箇所のみ(オプション) | 全テスト実行 |
| カバレッジ | チェックしない | 80%以上必須 |
| ビルド | スキップ可能 | 必須 |
| 使用タイミング | コミット直前 | PR作成直前 |

## 実行フロー

### Phase 1: 変更ファイル確認

```bash
# 変更されたファイルを確認
git status --short

# ステージングされたファイルを確認
git diff --cached --name-only

# 変更ファイルからBackend/Frontendを判定
```

### Phase 2: Backend チェック(変更がある場合)

#### 2-1. Lint実行(変更ファイルのみ)
```bash
cd backend

# Checkstyle(変更ファイルのみ)
./gradlew checkstyleMain checkstyleTest

# SpotBugs(変更ファイルのみ)
./gradlew spotbugsMain spotbugsTest
```

#### 2-2. テスト実行(skip_tests=false の場合)
```bash
# 変更されたクラスに関連するテストのみ実行
./gradlew test --tests "*[変更されたクラス名]Test"
```

#### 2-3. コンパイル確認
```bash
# ビルドはスキップしてコンパイルのみ
./gradlew compileJava compileTestJava
```

### Phase 3: Frontend チェック(変更がある場合)

#### 3-1. Lint実行
```bash
cd frontend

# Biome Lint(全体)
pnpm run lint:check
```

#### 3-2. テスト実行(skip_tests=false の場合)
```bash
# 変更されたファイルに関連するテストのみ実行
pnpm run test:ci --changed
```

#### 3-3. 型チェック
```bash
# TypeScript型チェック
npx tsc --noEmit
```

### Phase 4: 結果レポート

#### 成功時
```markdown
## Pre-Commit Check 完了

### Backend
- ✅ Lint: エラーなし
- ✅ テスト: [実行数] 件成功
- ✅ コンパイル: 成功

### Frontend
- ✅ Lint: エラーなし
- ✅ テスト: [実行数] 件成功
- ✅ 型チェック: エラーなし

### 次のステップ
コミット可能です。
```

#### 失敗時
```markdown
## Pre-Commit Check 失敗

### Backend
- ❌ Lint: エラー [数] 件
  - [エラー内容]
- ❌ テスト: [失敗数] 件失敗
  - [失敗テスト名]
- ✅ コンパイル: 成功

### Frontend
- ✅ Lint: エラーなし
- ✅ テスト: すべて成功
- ✅ 型チェック: エラーなし

### 修正が必要な項目
1. Backend Lintエラーを修正
2. Backend テスト失敗を修正

### 次のステップ
上記を修正してから再度チェックしてください。
```

## 高速化のポイント

### 1. 変更ファイルのみチェック
- git diffで変更ファイルを検出
- 関連するテストのみ実行
- ビルドをスキップ

### 2. 並行実行
- Backend/Frontendのチェックを並行実行
- Lint/テスト/型チェックを並行実行可能な場合は並行実行

### 3. キャッシュ活用
- Gradleのビルドキャッシュ活用
- pnpmのキャッシュ活用

## 使用ツール

### 必須ツール
- **Bash**: Lint/テスト/コンパイル実行、git操作

### 推奨ツール
- **Grep**: エラーパターン検索
- **Read**: レポートファイル確認

## 重要な注意事項

### pre-commit-check は軽量チェック
- PR作成前は必ず qa-check を実行すること
- pre-commit-check は開発中の頻繁なチェック用
- カバレッジチェックは行わない

### テストスキップの判断
- skip_tests=true は緊急時のみ使用
- 通常は skip_tests=false でテストを実行すること
- テストをスキップした場合は後で必ず実行

## 参照ドキュメント

### 必須参照
- `documents/development/development-policy.md`: 開発ガイドライン

### 設定ファイル
- `backend/config/checkstyle/checkstyle.xml`: Checkstyle設定
- `backend/config/spotbugs/spotbugs-exclude.xml`: SpotBugs設定
- `frontend/biome.json`: Biome設定