mcpField
R
refactor-cleaner

refactor-cleaner

github.com/carvalab開発45 回インストール
リポジトリ

refactor-cleaner について

refactor-cleaner は、デッドコード、重複コード、未使用のエクスポートを見つけて整理する開発向けスキルです。コードベースの安全な整理を目指す開発者向けに、リスク評価、参照確認、テスト、削除記録を手順化します。

主な機能

  1. 01言語に応じた検出ツールの選択
  2. 02リスク別の整理対象の分類
  3. 03参照と動的インポートの確認
  4. 04段階的な削除とテスト実行
  5. 05削除内容と影響の記録

活用シーン

  1. 01未使用の依存関係やエクスポートの削除
  2. 02到達不能コードや未使用ファイルの調査
  3. 03削除前の動的参照リスクの評価
  4. 04リファクタリングの記録とビルド確認

インストール

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

$npx skills add https://github.com/carvalab/k-skills --skill refactor-cleaner

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
deletion-log.md
detection-tools.md
patterns.md
pr-template.md
safety-checklist.md

詳細

リファクタリングと不要コードのクリーンアップ

不要なコード、重複コード、未使用のエクスポートを特定して削除し、コードベースを簡潔で保守しやすい状態に保ちます。包括的なドキュメントを備えた安全第一のアプローチです。

関連スキル:

  • kavak-documentation - 不要なコードに見えても動的に使用されている可能性がある、Kavak 固有のパターンを確認します
  • Kavak SDK/プラットフォームのコードを削除する前に、kavak-platform/platform_docs_search MCP ツールを使用して確認します

クイックスタート

プロジェクトの種類を検出し、適切な分析を実行します。

Node/TypeScript:

npx knip                    # unused exports/files/deps
npx depcheck                # unused dependencies
npx ts-prune                # unused exports

Go:

go mod tidy                 # remove unused deps
deadcode ./...              # find unreachable code (golang.org/x/tools)
staticcheck ./...           # includes unused code detection

Python:

vulture .                   # find dead code
pip-autoremove              # unused dependencies

Java:

./mvnw dependency:analyze   # unused dependencies
# Use IDE or SpotBugs for dead code detection

ワークフロー

1. 分析フェーズ

検出ツールを実行し、検出結果を分類します。

リスクレベル例対応
安全未使用のエクスポート、未使用の依存関係grep で確認した後に削除
注意動的インポートの可能性あり手動レビューが必要
危険公開 API、共通ユーティリティ削除しない
2. リスク評価

削除する項目ごとに、以下を実施します。

  • すべての参照を grep で検索します(文字列パターンを含む)
  • 動的インポートがないか確認します
  • 公開 API の一部ではないことを確認します
  • git の履歴を確認して背景を把握します
3. 安全な削除プロセス
a) Start with SAFE items only
b) Remove one category at a time (this order matters — each step
   may reveal more dead code in the next category):
   1. Unused npm/go dependencies (safest, no code changes)
   2. Unused internal exports (removing these may make files unused)
   3. Unused files (now visible after export cleanup)
   4. Duplicate code (consolidate remaining logic)
c) Run tests after each batch
d) Commit each batch separately
4. 削除を記録する

各セッションの後に docs/DELETION_LOG.md を更新します。

## [YYYY-MM-DD] Refactor Session

### Removed
- package-name - Reason
- src/unused-file.ts - Replaced by X

### Impact
- Files: -15, Deps: -5, Lines: -2,300

安全ルール

何かを削除する前に必ず実施すること:

  • 検出ツールを実行する
  • すべての参照を grep で検索する
  • 動的インポートがないか確認する
  • すべてのテストを実行する
  • バックアップブランチを作成する

削除のたびに実施すること:

  • ビルドが成功する
  • テストに合格する
  • 変更をコミットする
  • DELETION_LOG.md を更新する

使用しない場合

  • 機能の開発中
  • 本番環境へのデプロイ直前
  • 十分なテストカバレッジがない場合
  • 理解していないコードを扱う場合

エラーからの復旧

# Immediate rollback if something breaks
git revert HEAD

# Reinstall deps and verify (by language)
# Node: npm install && npm run build && npm test
# Go:   go mod download && go build ./... && go test ./...
# Python: pip install -r requirements.txt && pytest
# Java: ./mvnw clean install

その後、原因を調査します。動的インポートやリフレクションが原因でしょうか?「削除してはいけない」リストを更新します。

参考資料

参考資料目的
references/detection-tools.mdツールのコマンドと使い方
references/safety-checklist.md安全手順の詳細
references/deletion-log.mdログの形式と例
references/patterns.mdよくある不要コードのパターン
references/pr-template.mdクリーンアップ用 PR テンプレート

コメント