---
name: aiskillstore-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."
license: "MIT"
metadata:
  decimalai-skill-id: "080e2b29-b48b-4cf0-9b41-dfc4712679e4"
  decimalai-version-id: "180cc3c1-cee6-49d1-9501-bb476f2d0ab8"
  decimalai-version: "1"
  decimalai-body-sha256: "5772ea017422b1314b6dff50a8a6b553593517b27b388fbac1b61573e835ba05"
  decimalai-name: "aiskillstore/code-stats"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "code-review"
  decimalai-source: "https://app.decimal.ai/s/aiskillstore-code-stats@1/SKILL.md"
---
# Code Statistics

Quickly analyze codebase size, composition, and changes.

## tokei - Line Counts

```bash
# 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

```bash
# 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
