auto-type-checking について
Cursor向けのスキルで、編集後に手動またはファイル編集フック経由で TypeScript の型を確認します。コーディングエージェントがビルド前に一般的な型エラーを把握できます。
主な機能
- 01`tsc --noEmit` による手動チェック
- 02Cursor Hooks による自動チェック
- 03一般的な型エラーへの対処ガイド
活用シーン
- 01TypeScript ファイル編集後の型確認
- 02Cursor フックによるエラーの自動報告
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill auto-type-checkingインストール後、Claude Code で/auto-type-checkingを入力して読み込まれたか確認します。
詳細
自動型チェック
ビルド時に初めて気づくのではなく、編集のたびに型エラーをすぐに検出します。
手動で行う場合
TypeScript ファイルを編集した後、次を実行します。
npx tsc --noEmit 2>&1 | head -30
エラーが表示された場合は、次に進む前に修正します。
Cursor Hooks で自動化する場合
ファイルを編集するたびに自動で実行するには、.cursor/hooks.json に追加します。
{
"hooks": [
{
"event": "afterFileEdit",
"script": "check-types.sh",
"pattern": "**/*.{ts,tsx}"
}
]
}
.cursor/hooks/check-types.sh を作成します。
#!/bin/bash
# Quick type check — only reports errors, doesn't block
npx tsc --noEmit --pretty 2>&1 | head -20
exit 0 # Don't block the agent even if there are errors
chmod +x .cursor/hooks/check-types.sh
チェック項目
型エラーが表示された場合は、次の項目を確認します。
- インポートの不足:
Cannot find name 'X'→ インポートを追加します - 型の不一致:
Type 'string' is not assignable to type 'number'→ 型または値を修正します - プロパティの不足:
Property 'x' does not exist on type 'Y'→ インターフェースにプロパティを追加するか、アクセス方法を修正します - null 安全性:
Object is possibly 'null'→ null チェックまたはオプショナルチェーンを追加します - ジェネリック制約:
Type 'X' does not satisfy the constraint 'Y'→ ジェネリックパラメーターを修正します
ヒント
- 出力ファイルを生成せずに型チェックするには、
--noEmitを使用します - 大規模なプロジェクトでは
tscの実行に時間がかかることがあります。--incrementalの使用や、変更されたファイルのみを対象にすることを検討してください - パスエイリアスを使用する場合は、
tsconfig.jsonの paths が正しく設定されていることを確認してください - モノレポでは、ワークスペースのルートではなくパッケージのルートから
tscを実行します - 完全にエラーがなくなるまで修正するループには、
grinding-until-passを組み合わせてください
コメント
Markdown 対応