Agent Skills by ALSEL
OpenAIソフトウェア開発⭐ リポ 2品質スコア 64/100

knip

knipを実行して、未使用のファイル、依存関係、エクスポートを検出し削除できます。デッドコードと未使用の依存関係をクリーンアップする際に活用します。

description の原文を見る

Run knip to find and remove unused files, dependencies, and exports. Use for cleaning up dead code and unused dependencies.

SKILL.md 本文

Knip コードクリーンアップ

knip を実行して、このコードベースから未使用のファイル、依存関係、エクスポートを検出して削除します。

セットアップ

  1. knip が利用可能か確認します:

    • npx knip --version を実行してテストします
    • 失敗するか非常に遅い場合は、knip が package.json の devDependencies に含まれているか確認します
    • ローカルにインストールされていない場合は、npm install -D knip でインストールします(lockfile に応じて pnpm/yarn の同等のコマンドを使用)
  2. knip.json または knip.jsonc 設定が存在せず、knip が多くの誤検知を報告する場合は、package.json で検出されたフレームワークに基づいて最小限の設定を作成することを検討します

実行

  1. npx knip を実行して初期レポートを取得します
  2. 出力のカテゴリを確認します:
    • Unused files - どこにもインポートされていないファイル
    • Unused dependencies - package.json に含まれているがインポートされていないパッケージ
    • Unused devDependencies - 使用されていない開発用パッケージ
    • Unused exports - エクスポートされているが他の場所でインポートされていない関数や変数
    • Unused types - 使用されていないエクスポート済みの型

クリーンアップ戦略

自動削除 (信頼度が高い):

  • 明らかに内部的な未使用エクスポート (パブリック API の一部ではない)
  • 未使用の型エクスポート
  • 未使用の依存関係 (package.json から削除)
  • 明らかに孤立している未使用ファイル (エントリポイントではない、設定ファイルではない)

これらについては、確認なしに削除を進めてください。自動修正には --fix --allow-remove-files を使用するか、必要に応じて手動で削除・編集します。

確認後に実施 (明確化が必要):

  • エントリポイントまたは動的にインポートされる可能性があるファイル
  • パブリック API の一部である可能性があるエクスポート (index.ts、lib エクスポート)
  • CLI またはピア依存関係を通じて使用される可能性がある依存関係
  • src/indexlib/ などのパスや名前に "public" または "api" が含まれるファイル

これらを削除する前に、AskUserQuestion ツールを使用して確認してください。

ワークフロー

  1. knip を実行して、完全な出力をキャプチャします
  2. 各問題を自動削除または確認が必要なものに分類します
  3. 不明確な項目について一括で確認します
  4. すべての削除を実行します (Edit ツールを使用してエクスポートを削除、Bash を使用してファイル/依存関係を削除)
  5. knip を再実行してクリーンアップが完了したことを確認します
  6. 問題がなくなるか、意図的に無視される項目のみになるまで繰り返します

一般的なコマンド

# 基本的な実行
npx knip

# 本番環境のみ (テストファイルを無視)
npx knip --production

# 安全な修正を自動実行
npx knip --fix

# ファイル削除を含む自動修正
npx knip --fix --allow-remove-files

# 解析用の JSON 出力
npx knip --reporter json

注意事項

  • knip 設定が存在する場合は、そのパターンの無視を尊重してください
  • モノレポのセットアップに注意してください - --workspace フラグが必要な場合があります
  • 一部のフレームワークでは、設定でプラグインを有効にする必要があります
  • 修正の各バッチ後に再実行して、新たに露出した未使用コードをキャッチします

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
roderik
リポジトリ
roderik/mpe
ライセンス
MIT
最終更新
2026/3/1

Source: https://github.com/roderik/mpe / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: roderik · roderik/mpe · ライセンス: MIT