mcpField
S
setup-pre-commit

setup-pre-commit

github.com/akillnessテスト・品質53187 回インストール1 日前に更新
リポジトリ

setup-pre-commit について

Husky と lint-staged を使い、JavaScript プロジェクトにコミット時の品質チェックを設定するスキルです。フォーマット、型チェック、テストの導入と検証を案内します。

主な機能

  1. 01Husky フックの設定
  2. 02lint-staged による整形
  3. 03任意の型チェック
  4. 04任意のテスト実行
  5. 05コミットフックの検証

活用シーン

  1. 01新規プロジェクトへの品質ゲート追加
  2. 02既存プロジェクトへの整形チェック追加
  3. 03チームのコミットチェック標準化

インストール

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

$npx skills add https://github.com/akillness/jeo-skills --skill setup-pre-commit

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

詳細

Pre-Commit のセットアップ

Husky と lint-staged を使用して、コミット時にコード品質チェックを自動実行するよう設定します。

このスキルを使用する場面

  • 新しいプロジェクトにコミット時の品質ゲートを設定する
  • 既存のプロジェクトにフォーマットと型チェックを追加する
  • チーム全体で pre-commit の動作を標準化する

このスキルを使用しない場面

  • CI パイプラインのセットアップ → deployment-automation を使用します
  • Git ワークフロー戦略 → git-workflow を使用します
  • テスト戦略全般 → testing-strategies を使用します

インストール手順

ステップ 1 — パッケージマネージャーを検出する
# Check for lockfiles in order of precedence
ls package-lock.json  # npm
ls yarn.lock          # yarn
ls pnpm-lock.yaml     # pnpm
ls bun.lockb          # bun
ステップ 2 — 依存関係をインストールする
# npm
npm install --save-dev husky lint-staged prettier

# pnpm
pnpm add -D husky lint-staged prettier

# yarn
yarn add -D husky lint-staged prettier
ステップ 3 — Husky を初期化する
npx husky init

.husky/ ディレクトリが作成され、package.json に prepare スクリプトが追加されます。

ステップ 4 — pre-commit フックを作成する

.husky/pre-commit を作成します:

npx lint-staged
npm run typecheck  # omit if script doesn't exist
npm test           # omit if script doesn't exist

注:Husky v9+ では、フックファイルに shebang は不要です。

ステップ 5 — lint-staged を設定する

.lintstagedrc を作成します:

{
  "**/*": "prettier --write --ignore-unknown"
}
ステップ 6 — Prettier を設定する(未設定の場合)

存在しない場合に限り、.prettierrc を作成します:

{
  "tabWidth": 2,
  "printWidth": 80,
  "singleQuote": false,
  "trailingComma": "es5",
  "semi": true,
  "arrowParens": "always"
}
ステップ 7 — 検証する
git add -A
git commit -m "test: verify pre-commit hooks"

確認事項:lint-staged によるフォーマット、型チェックの成功、テストの成功。

実行順序

lint-staged を最初に実行します(高速で、ステージング済みファイルのみが対象)→ 型チェック(プロジェクト全体)→ テスト(テストスイート全体)

package.json に typecheck または test スクリプトがない場合は、pre-commit フックから該当する行を削除します。

手順

  1. タスクのトリガーと期待される出力を特定します。
  2. このスキルのワークフロー手順を上から順に実行します。
  3. 次のステップに進む前に、出力を検証します。
  4. 手順が失敗した場合は、障害要因と代替手段を記録します。

例

  • 例:まず小さな範囲にこのスキルを適用し、検証に成功してから全体に拡大します。

ベストプラクティス

  • 出力の再現性を保ち、監査可能にします。
  • 広範囲でリスクの高い変更よりも、小規模で元に戻しやすい変更を優先します。
  • 前提条件を明示的に記録します。

参考資料

  • プロジェクト標準:.agent-skills/skill-standardization/SKILL.md
  • バリデータースクリプト:.agent-skills/skill-standardization/scripts/validate_skill.sh

コメント