テック技報最新号へ →
AIコーディング

knip をエージェントに入れさせ、pre-commit と CI で「使われていないコード」を毎回落とす

「knip を使って無駄コードを掃除して。build と test が今まで通り通ることも確認して」と頼むだけで、エージェントが導入→検出→削除→再実行を回す。続けて pre-commit と CI に入れさせれば、以後は不要コードが出るたびにエージェント自身が直す。

@yoshiko_pg · 投稿 2026-02-20
#ai-coding#knip#typescript#pre-commit#ci#自己検証

どんな時に使う?

  • エージェントに書かせ続けた JavaScript/TypeScript のリポジトリに、使われていないファイル・export・依存が溜まっている
  • 人のレビューでは不要コードを拾いきれない
  • 「コードベースを小さく保つ」をエージェントの自走ループに組み込みたい

手順

  1. (ネットワーク制限がある環境なら)先に自分で npm install -D knip
  2. エージェントに頼む:
    text
    knipを使って無駄コードを掃除して。buildやtestが今まで通り通ることも確認して。

    → 設定の作成、knip 実行、検出、削除、再実行までを繰り返す

  3. 暗黙に参照されているもの(例: Tailwind 関連)を消して build/test が落ちたら、エージェントが元に戻して knip.json に無視設定を足す
  4. 定着させる:
    text
    knipをpre-commitとCIに追加して。

なぜエージェントと相性がよいか

  • pre-commit で落ちるとコミットが失敗し、エージェントがエラーを読んで直して再コミットする、という自走ループになる(人には煩わしいチェックも、エージェントには好都合)
  • CI に入れておけば、GitHub Actions 上で動くリモートエージェント(Claude Code Action など)にも同じ効果がある
  • よしこさんの OSS(difit)では、Codex への指示だけで、lockfile を除いて実質170行が減った

注意点

出典

X の元の投稿を開く