AI News HubLIVE
サイト内リライト2 分で読了

Show HN: Claudeがコードベースに残したゴミコメントを削除する「CCN」

CCN(Crap Comment Nuker)は、Claude Code などの AI アシスタントがコードベースに残したコメントを安全に削除する対話型 CLI ツール。JavaScript/TypeScript、Python、Java、Kotlin、Rust、C/C++ に対応し、acorn と tree-sitter による正確なパースに加え、書き込み前の再パースでコードのトークンを一切変更しないことを保証します。1件ごとの確認、類似コメントのクラスタ処理、履歴、dry-run などの機能を備えます。

ソースHacker News AI著者: jonhardwickspec

CCN(Crap Comment Nuker)は、AI コーディング支援ツールがコードベースに残したコメントを削除するための対話型 CLI ツールです。Show HN として公開され、作者は Hardwick と名乗り、GitHub リポジトリで配布しています。Claude Code や Copilot が生成した「ゴミコメント」を1件ずつ確認しながら消せるようにするのが目的で、正規表現による推測ではなく、各言語に対応した本物のパーサーを使うのが売りです。

安全性の核は「書き込みゲート」です。JavaScript / CJS / MJS / ESM / JSX は acorn、それ以外の言語は tree-sitter を使います。パーサーはコメントの正確な範囲(文字列リテラル内の // や # をコメントと誤認しない)、有効性チェック、リーフトークン不変条件の3つを提供します。ファイルを保存する前に再パースし、トークンが1つでも移動する編集は拒否されます。コメントはトークンではないため、削除してもコード構造は変わりません。

対応言語は JavaScript、TypeScript、TSX、Python、Java、Kotlin、Rust、C、C++ で、各言語の派生拡張子もカバーします。初めて非 JS 言語を使うときは文法ファイルをダウンロードするか確認され、~/.config/ccn/grammars にキャッシュされて以降はオフラインで動きます。

操作は4つの画面で進みます。引数なしで ccn を実行するとハブメニューが開き、コードベースの削除、履歴(recap)の表示、履歴ストレージの削除などが選べます。ディレクトリと言語を選ぶと、コメント1件ごとに全画面の確認が表示され、Y で削除、N で保持、M で類似クラスタメニュー、Ctrl-C で中断です。メソッドやクラスの上にあるコメント、@marker 付き、TODO/FIXME/HACK/NOTE を含むものは緑色で「残すべきかも」と警告され、複数行ブロックは赤く表示されます。M キーでは、余弦類似度がしきい値以上のコメントをまとめて処理できる「simulurity」ビューが開きます。

主なフラグには --lang、--langs、--dry-run、--remember、--demo、--limit、--sim、--no-sim、--fdelay、--cdelay があります。--dry-run でリハーサルし、--remember で選択を記録しておくと、次回から完全に一致した判断は自動適用されます。ただし「残すべきかも」表示のコメントは常に確認があり、メモリの内容にかかわらず書き込みゲートは毎回実行されます。

実際に削除した履歴は ~/.config/ccn/recap.json に記録され、あとから「どのコメントを消したか」をファイルと行番号付きで確認できます。アンドゥではなく、書き換えられたファイルの横には .bak が残ります。履歴はデフォルトでオンで、直近200セッションまで保持されます。

インストールは npm install -g commentnuker またはリポジトリをクローンして直接実行します。Linux と macOS は安定していますが、Windows は作者自身「動かないかも」としています。ライセンスは OSI 認定のオープンソースではなくソース公開型で、商用利用には別途ライセンスが必要です。コードを非公開に保つことはできますが、README に従って「Built with Crap Comment Nuker from justcalljon.pro」などの帰属表示が求められます。