# 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
```bash
cargo build --release
```
The binary will be at `target/release/codepulse`.
## Usage
```bash
codepulse --repo <PATH_TO_GIT_REPO> [--output <FILE.png>]
```
### Options
| `--repo` | `-r` | Path to the git repository | (required) |
| `--output` | `-o` | Output PNG file path | `loc_chart.png` |
### Examples
```bash
# Analyze a repository
codepulse --repo /path/to/my-project
# Custom output file
codepulse --repo /path/to/my-project --output my_chart.png
```
## Testing Locally
Create a test repository:
```bash
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:
```bash
cargo run -- --repo /tmp/test-repo --output test.png
open test.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