| name | code-stats |
| description | Analyze codebase with tokei (fast line counts by language) and difft (semantic AST-aware diffs). Get quick project overview without manual counting. Triggers on: how big is codebase, count lines of code, what languages, show semantic diff, compare files, code statistics. |
| compatibility | Requires tokei and difft CLI tools. Install: brew install tokei difft (macOS) or cargo install tokei difftastic (cross-platform). |
| allowed-tools | Bash |
Code Statistics
Quickly analyze codebase size, composition, and changes.
tokei - Line Counts
# Count all code
tokei
# Compact output sorted by code
tokei --compact --sort code
# Specific languages
tokei --type=TypeScript,JavaScript
# Exclude directories
tokei --exclude node_modules --exclude dist
# JSON output for scripting
tokei --output json | jq '.Total.code'
Sample Output
===============================================================================
Language Files Lines Code Comments Blanks
===============================================================================
TypeScript 45 12847 9823 1456 1568
JavaScript 12 2341 1876 234 231
-------------------------------------------------------------------------------
Total 57 15188 11699 1690 1799
===============================================================================
difft - Semantic Diffs
# Compare files
difft old.ts new.ts
# Inline mode
difft --display=inline old.ts new.ts
# With git
GIT_EXTERNAL_DIFF=difft git diff
GIT_EXTERNAL_DIFF=difft git show HEAD~1
Why Semantic?
| Traditional diff |
difft |
| Line-by-line |
AST-aware |
| Shows moved as delete+add |
Recognizes moves |
| Whitespace sensitive |
Ignores formatting |
Quick Reference
| Task |
Command |
| Count all code |
tokei |
| Compact output |
tokei --compact |
| Sort by code |
tokei --sort code |
| TypeScript only |
tokei -t TypeScript |
| JSON output |
tokei --output json |
| Exclude dir |
tokei --exclude node_modules |
| Semantic diff |
difft file1 file2 |
| Git diff |
GIT_EXTERNAL_DIFF=difft git diff |
When to Use
- Getting quick codebase overview
- Comparing code changes semantically
- Understanding project composition
- Reviewing refactoring impact
- Tracking codebase growth
Additional Resources
For detailed patterns, load:
./references/tokei-advanced.md - Filtering, output formats, CI integration
./references/difft-advanced.md - Display modes, git integration, language support