2 unstable releases
| new 0.2.0 | Feb 4, 2026 |
|---|---|
| 0.1.0 | Feb 4, 2026 |
#416 in Development tools
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