#git #loc #visualization #cli #analytics

app codepulse

Measure the heartbeat of your codebase — visualize lines of code over time from git history

2 unstable releases

new 0.2.0 Feb 4, 2026
0.1.0 Feb 4, 2026

#416 in Development tools

MIT license

66KB
188 lines

codepulse

A Rust CLI tool that measures the heartbeat of your codebase—analyzing git history to visualize lines of code over time.

Features

  • Analyzes any git repository
  • Weekly aggregation for clear trends
  • Shows two metrics:
    • Blue bars: Lines of code added each week
    • Green line: Total lines of code (running total)
  • Outputs a PNG chart

Installation

cargo build --release

The binary will be at target/release/codepulse.

Usage

codepulse [OPTIONS]

Options

Option Short Description Default
--repo -r Path to the git repository Current directory
--output -o Output PNG file path <folder-name>_loc.png
--title -t Chart title Folder name

Examples

# Analyze current directory with all defaults
codepulse

# Analyze a specific repository
codepulse --repo /path/to/my-project

# Custom title and output file
codepulse --title "My Project" --output my_chart.png

# Full customization
codepulse --repo /path/to/my-project --title "Project Stats" --output stats.png

Testing Locally

Create a test repository:

mkdir /tmp/test-repo && cd /tmp/test-repo
git init
echo "line 1" > file.txt && git add . && git commit -m "First"
echo "line 2" >> file.txt && git add . && git commit -m "Second"
echo "line 3" >> file.txt && git add . && git commit -m "Third"

Run the analyzer:

# From within the repo (uses defaults)
codepulse
open test-repo_loc.png  # macOS

# Or specify the path
cargo run -- --repo /tmp/test-repo
open test-repo_loc.png  # macOS

Output

The chart shows:

  • Left Y-axis (blue): Lines added each week
  • Right Y-axis (green): Total lines of code
  • Blue bars: Weekly code additions
  • Green line + area: Running total of all code

License

MIT

Dependencies

~19MB
~382K SLoC