コードベース内のファイル数、行数、コード行、コメント行、空行を言語別に集計する高速なコマンドラインツール。
AlDanial/cloc
clocは、多くのプログラミング言語を対象に、空行・コメント行・ソースコード行を数えるコマンドラインツールです。
- スター
- 23,645
- フォーク
- 1,125
- 未解決の Issue
- 26
- 最終コミット
- 12 日前
これは何?
clocは、多くのプログラミング言語の空行、コメント行、ソースコードの物理行数を数えます。個別のファイルやディレクトリのほか、.tar、.zip、.whl、.debなどのアーカイブファイル、gitのコミットやブランチも入力として受け付けます。また、コードベースの2つのバージョンを比較し、行数の差分を報告できます。
Perl標準配布物のみを使って書かれているため、単一のスクリプトでLinux、BSD、macOS、Solaris、Windows上で動作します。Windows向けのスタンドアロン実行ファイルも提供されています。結果はプレーンテキスト、Markdown、SQL、JSON、XML、YAML、CSVで出力でき、複数回の実行結果を言語別またはプロジェクト別に合算できます。
apt、Homebrew、npm、wingetなどの一般的なパッケージマネージャーからインストールできるほか、Docker経由でも実行できます。
主な機能
- 01多くのプログラミング言語を対象に、空行、コメント行、コード行を数えます。
- 02ファイル、ディレクトリ、アーカイブ、gitのコミットやブランチを入力として読み込みます。
- 032つのコードバージョンを比較し、行数の差分を表示します。
- 04結果をテキスト、Markdown、SQL、JSON、XML、YAML、CSVで出力します。
- 05追加の依存関係なしでPerl 5.6以降で動作し、Windowsバイナリも提供します。
ユースケース
- プロジェクトの開始前や移行前に、コードベースの規模を見積もる。
- 2つのgitブランチやリリース間で、どれだけコードが変更されたかを追跡する。
- JSONやCSV出力を使って、CIパイプラインで行数レポートを生成する。
- リポジトリやダウンロードしたアーカイブに含まれる言語の内訳を集計する。
クイックスタート
- 1
npmパッケージマネージャーでclocをインストールします
npm install -g cloc - 2
ターミナルを開き、ディレクトリに対してclocを実行します
cloc .
使う前に知っておきたいこと
- ソース版にはPerlインタープリターが必要です。Windows版バイナリには要件はありません。
- GPL-2.0ライセンスで提供されています。コピーレフトライセンスのため、一部の用途が制限される場合があります。
収録されている特集
トピック
よくある質問
- cloc とは?
- clocは、多くのプログラミング言語を対象に、空行・コメント行・ソースコード行を数えるコマンドラインツールです。 clocは、多くのプログラミング言語の空行、コメント行、ソースコードの物理行数を数えます。個別のファイルやディレクトリのほか、.tar、.zip、.whl、.debなどのアーカイブファイル、gitのコミットやブランチも入力として受け付けます。また、コードベースの2つのバージョンを比較し、行数の差分を報告できます。
- cloc は無料で使えますか?ライセンスは?
- cloc は GPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- cloc は今もメンテナンスされていますか?
- 活発にメンテナンス中。cloc の最終コミットは 2026年10月26日 です。
- cloc は何に使えますか?
- プロジェクトの開始前や移行前に、コードベースの規模を見積もる。 2つのgitブランチやリリース間で、どれだけコードが変更されたかを追跡する。 JSONやCSV出力を使って、CIパイプラインで行数レポートを生成する。 リポジトリやダウンロードしたアーカイブに含まれる言語の内訳を集計する。
- cloc のインストール方法は?
- npmパッケージマネージャーでclocをインストールします: npm install -g cloc ターミナルを開き、ディレクトリに対してclocを実行します: cloc .
- cloc はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/AlDanial/cloc
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LaravelとLumen向けのComposer開発用パッケージ。コード量を集計し、Laravelのコンポーネント別にクラスを分類します。
通常のテキストではなくASTパターンにマッチさせて、コードの検索、Lint、書き換えを行うCLIツールです。
決定論的なファイル選択とルールにLLMエージェントを組み合わせ、Gitの差分に行単位のレビューコメントを付けるAIコードレビューCLIです。
Gitの履歴をたどり、Pythonコードの複雑度や各種メトリクスの推移を追跡するコマンドラインツール。
シンタックスハイライト、Gitの変更箇所表示、自動ページャー機能を備えた、ターミナル向けのcat(1)クローン。