Skip to main content

Git activity analysis and LLM-powered summary tools for developers and consultants

Project description

Code Recap

Generate beautiful activity reports, client summaries, and blog posts from your git history—powered by LLMs.

Quick StartUse CasesCommandsConfiguration

PyPI Python License Downloads


What It Does

Code Recap helps developers and consultants who work across multiple repositories:

📊 Year-in-Review Reports — Generate polished summaries of your work for clients, complete with statistics, achievements, and technology breakdowns. Export as Markdown or HTML.

⏱️ Daily Time Logging — Quickly summarize what you worked on today (or any day) for billing and time tracking. No more digging through commits.

✍️ Blog Post Generation — Turn your commits into technical blog posts. The AI researches your changes and drafts content with real code examples.

📈 Activity Statistics — Track commits, lines changed, languages used, and coding streaks across all your projects.

🗂️ Multi-Client Organization — Automatically group repositories by client using pattern matching. Each client gets their own reports.

📝 Example Output

See what generated reports look like:

For consultants with multiple clients:

For solo developers or internal work:


Quick Start

# Initialize (creates config, prompts for API keys, shows next steps)
uvx code-recap init

# Or set API key manually
export OPENAI_API_KEY='sk-...'

# Generate your year-in-review
cd ~/Documents/Repos
uvx code-recap summarize 2025 --open
# → Output: ./code-recap-2025/

That's it! Your reports open automatically in the browser.

Installation Options

# Run directly (no install)
uvx code-recap summarize 2025

# Or install globally
uv tool install code-recap    # then use: code-recap summarize ...
pip install code-recap        # then use: code-recap summarize ...

Use Cases

Year-end report with HTML

code-recap summarize 2025 --open
# → Reports saved to ./code-recap-2025/ (markdown + HTML)

Daily time logging

code-recap daily --date yesterday

Blog post from your commits

code-recap blog full "Building a Custom Protocol" --period 2025-Q3

Multi-year statistics (CSV export)

code-recap stats 2020:2025 --granularity year --format csv

How It Works

Run code-recap from a directory containing git repositories:

~/Documents/Repos/           # Run code-recap here (or use --root <path>)
├── project-a/               # Git repository (scanned)
├── project-b/               # Git repository (scanned)
├── side-project/            # Git repository (scanned)
└── code-recap-2025/         # Generated report (or use --output-dir to specify a different directory)
    ├── summary-2025.md
    └── html/
        └── index.html

No configuration needed for basic use. Just run the command and get a unified report.

For multi-client workflows, create a config file:

code-recap init              # Creates config.yaml + API key setup

See the Configuration Guide for full details.


Recommended Models

Code Recap uses LiteLLM to support multiple LLM providers:

Model Command Best For Cost
GPT-4o-mini --model gpt-4o-mini Default choice, reliable and fast ~$0.10/year
Gemini 2.5 Flash --model gemini/gemini-2.5-flash Large codebases (1M context), very fast ~$0.25/year
Gemini 3 Flash --model gemini/gemini-3-flash-preview Latest Gemini model ~$0.40/year
Claude 4.5 Haiku --model claude-haiku-4-5 Best writing quality for summaries ~$0.75/year

Costs shown are approximate for summarizing 1 year of typical developer activity (~3000 commits).

code-recap summarize 2025 --list-models    # See all available models

Commands

Command Description
summarize LLM-powered activity summaries (main command)
daily Daily activity for time logging
stats Statistics without LLM (text/markdown/CSV)
html Convert markdown to HTML reports
blog Generate blog posts from commits
deploy Deploy HTML reports to providers
git Repository utilities (fetch, archive)

See the Command Reference for detailed options.


Documentation


Installation

Using uv (Recommended)

# Install as a tool
uv tool install code-recap

# Or run directly without installing
uvx code-recap summarize 2025

Using pip

pip install code-recap

Development

git clone https://github.com/nrb-tech/code-recap.git
cd code-recap
uv sync --dev

# Run linting
uv run ruff check .
uv run ruff format .

Requirements

  • Python 3.9+
  • Git (command line)

License

MIT License - see LICENSE for details.


Built by NRB Tech

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

code_recap-1.3.1.tar.gz (105.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

code_recap-1.3.1-py3-none-any.whl (107.8 kB view details)

Uploaded Python 3

File details

Details for the file code_recap-1.3.1.tar.gz.

File metadata

  • Download URL: code_recap-1.3.1.tar.gz
  • Upload date:
  • Size: 105.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for code_recap-1.3.1.tar.gz
Algorithm Hash digest
SHA256 fd3cc47433ae161e5a74731121df80cec18ef8c7b59ffaa4bfd67c6ffbb50484
MD5 b73ec5498d9a37846ede79fce9076e2c
BLAKE2b-256 6ea6bce9f5839349cb2c115679fe6eaeafa3dc56df76d8e1234d7142e79487af

See more details on using hashes here.

Provenance

The following attestation bundles were made for code_recap-1.3.1.tar.gz:

Publisher: publish.yml on NRB-Tech/code-recap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file code_recap-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: code_recap-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 107.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for code_recap-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc9ea8d1f3fe5aadb5703baaa09afa0f16f89e70c3794837c995b9ffc054ff00
MD5 8fe6236203a079a75db6e57953274a85
BLAKE2b-256 f9de8a1e651abb08338025dbee809ceb163a0aad81927b56513e9854697f1335

See more details on using hashes here.

Provenance

The following attestation bundles were made for code_recap-1.3.1-py3-none-any.whl:

Publisher: publish.yml on NRB-Tech/code-recap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page