使っていないコードは knip に見つけさせ、AI に消させてから pre-commit と CI に入れる
knip は TypeScript / JavaScript のプロジェクトで、使われていないファイル・export・依存を洗い出すツール。AI に「knip で掃除して、build と test が通ることも確かめて」と頼めば、ほぼ自動で片付く。最後に pre-commit と CI に入れておけば、AI が増やす無駄コードも溜まらない。
どんな時に使う?
- AI に書かせ続けたリポジトリで、呼ばれていない関数や古い依存が増えてきた
- エージェントが探索のたびに不要なコードまで読み、コンテキストを無駄にしている
手順
- AI に頼む: 「knipを使って無駄コードを掃除して。buildやtestが今まで通り通ることも確認して。」
- ネットワークが制限された環境(Codex のクラウドなど)では、先に
npm install -D knipを済ませておく - Tailwind の設定から参照されるファイルのように、コード上は呼ばれていないが実際は使われているものがある。消すと build や test が落ちるので、AI はそれを見て
knip.jsonの ignore に足す。何を ignore にしたかは人が見る - 片付いたら再発防止を頼む: 「knipをpre-commitとCIに追加して。」。pre-commit は Lefthook・husky・prek など、プロジェクトで使っているものに合わせる
- 記事の例(difit)では、これで約170行が消えた
注意点
- knip が「未使用」と言っても、動的 import・設定ファイル経由・外部公開 API などは実際には使われていることがある。build / test が通るだけで安心せず、公開しているパッケージの export は特に確かめる
- 定期的な掃除のプロンプト集は Codex で「消してよい根拠」を集めさせ、不要コード・古いフラグ・遅いCIを片づける
出典
- @_t14i_ · 2026-02-20
- 元記事(よしこ/ナレッジワーク): zenn.dev