UNPKG

git-workreport

Version:

A powerful GitHub plugin that generates AI-powered work reports from Git commit history for specified dates. Perfect for DevOps teams and development companies to track and validate work progress with intelligent summaries.

250 lines (185 loc) 7.07 kB
# Git Work Report A powerful GitHub plugin that generates AI-powered work reports from Git commit history for specified dates. Perfect for DevOps teams and development companies to track and validate work progress with intelligent summaries. ## Features - 🤖 **AI-Powered Summaries**: Generate intelligent summaries using Anthropic's Claude AI - 📅 **Date-based reporting**: Generate reports for any specific date - 📊 **Comprehensive statistics**: Track commits, total lines changed, and authors - 🎨 **Multiple formats**: Output in text, JSON, or Markdown formats -**Fast and efficient**: Built with TypeScript and optimized for performance - 🌍 **Timezone support**: Handle different timezones for accurate reporting ## Installation ```bash npm install -g git-workreport ``` ## Quick Start ### Basic Usage Generate a work report for today: ```bash git-workreport ``` Generate a work report for a specific date: ```bash git-workreport 11/08/2025 ``` ### AI-Powered Summaries Generate a report with AI-generated summary (requires Anthropic API key): ```bash git-workreport 11/08/2025 --anthropic-key YOUR_API_KEY ``` ### Advanced Usage Generate a report in JSON format: ```bash git-workreport 11/08/2025 --format json ``` Save report to a file: ```bash git-workreport 11/08/2025 --output reports/work-report.txt ``` Generate Markdown report with AI summary: ```bash git-workreport 11/08/2025 --format markdown --output report.md --anthropic-key YOUR_API_KEY ``` ## Command Line Options | Option | Description | Default | |--------|-------------|---------| | `[date]` | Date in DD/MM/YYYY format | Today | | `-f, --format <format>` | Output format: text, json, or markdown | text | | `-o, --output <file>` | Output file path | Console output | | `--no-stats` | Exclude statistics from the report | false | | `--no-files` | Exclude file lists from the report | false | | `--timezone <tz>` | Timezone for date parsing | local | | `--repo <path>` | Path to Git repository | Current directory | | `--anthropic-key <key>` | Anthropic API key for AI-generated summaries | None | ## Examples ### Example 1: Daily Work Report with AI Summary ```bash git-workreport 15/08/2025 --anthropic-key YOUR_API_KEY ``` **Output:** ``` ================================================================================ GIT WORK REPORT - 15/08/2025 ================================================================================ SUMMARY: Date: 15/08/2025 Total Commits: 8 Total Lines Changed: 312 Authors: John Doe, Jane Smith AI-GENERATED SUMMARY: Implemented user authentication system with login/logout functionality and responsive design improvements. Added comprehensive test coverage and fixed several UI bugs across the application. STATISTICS: Insertions: 245 lines Deletions: 67 lines Net Changes: 178 lines Average Commits per Author: 4.00 ================================================================================ Report generated on 8/15/2025, 5:30:45 PM ``` ### Example 2: JSON Report ```bash git-workreport 15/08/2025 --format json --output report.json ``` **Output:** ```json { "date": "15/08/2025", "totalCommits": 8, "totalInsertions": 245, "totalDeletions": 67, "authors": ["John Doe", "Jane Smith"], "aiSummary": "Implemented user authentication system with login/logout functionality and responsive design improvements. Added comprehensive test coverage and fixed several UI bugs across the application.", "totalLinesChanged": 312 } ``` ### Example 3: Markdown Report ```bash git-workreport 15/08/2025 --format markdown --output report.md ``` **Output:** ```markdown # Git Work Report - 15/08/2025 **Generated:** 8/15/2025, 5:30:45 PM ## Summary | Metric | Value | |--------|-------| | Date | 15/08/2025 | | Total Commits | 8 | | Total Lines Changed | 312 | | Authors | John Doe, Jane Smith | ## AI-Generated Summary > Implemented user authentication system with login/logout functionality and > responsive design improvements. Added comprehensive test coverage and fixed > several UI bugs across the application. ## Statistics - **Insertions:** 245 lines - **Deletions:** 67 lines - **Net Changes:** 178 lines - **Average Commits per Author:** 4.00 ``` ## AI Summary Features The AI-powered summary feature uses Anthropic's Claude AI to analyze commit messages and generate intelligent summaries of daily work. The AI: - **Analyzes commit messages** to understand what work was accomplished - **Provides context** about the types of changes made - **Summarizes in simple language** that's easy to understand - **Focuses on the most important changes** from the day - **Falls back gracefully** to basic summaries when AI is not available To use AI summaries, you'll need an Anthropic API key. Get one at [https://console.anthropic.com/](https://console.anthropic.com/). ## Use Cases ### For Development Companies - **Client Reporting**: Generate intelligent daily/weekly work summaries for clients - **Progress Tracking**: Monitor team productivity with AI-generated insights - **Project Validation**: Verify work completed on specific dates with clear summaries - **Time Tracking**: Support time tracking systems with intelligent commit analysis ### For DevOps Teams - **Deployment Validation**: Verify what code was deployed with AI summaries - **Release Notes**: Generate intelligent release notes from commit history - **Audit Trails**: Create audit reports with clear work descriptions - **Performance Monitoring**: Track code changes with contextual summaries ## Programmatic Usage You can also use the package programmatically: ```typescript import { GitAnalyzer, ReportGenerator } from 'git-workreport'; async function generateReport() { const analyzer = new GitAnalyzer(); const generator = new ReportGenerator(); const report = await analyzer.generateWorkReport('15/08/2025', { anthropicApiKey: 'YOUR_API_KEY' }); const formattedReport = generator.generateReport(report, { format: 'markdown' }); console.log(formattedReport); } ``` ## Requirements - Node.js >= 16.0.0 - Git repository (local or remote) - Git command line tools - Anthropic API key (optional, for AI summaries) ## Troubleshooting ### Common Issues 1. **"not a git repository" error** - Make sure you're in a Git repository directory - Use `--repo <path>` to specify repository location 2. **"Invalid date format" error** - Use DD/MM/YYYY format (e.g., 15/08/2025) - Alternative formats: YYYY-MM-DD, MM/DD/YYYY 3. **No commits found** - Verify the date has commits - Check timezone settings with `--timezone` option 4. **AI summary not working** - Ensure you have a valid Anthropic API key - Check your internet connection - The tool will fall back to basic summaries if AI is unavailable ### Getting Help ```bash git-workreport --help ``` ## Contributing 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests 5. Submit a pull request ## License MIT License - see LICENSE file for details