git-ai-reporter


Namegit-ai-reporter JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryAI-Driven Git Repository Analysis and Narrative Generation.
upload_time2025-08-22 01:52:47
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords ai changelog documentation gemini git release-notes
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿš€ Git AI Reporter (DevSummary AI)

<div align="center">

[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
[![Type checked: mypy](https://img.shields.io/badge/type%20checked-mypy-blue)](https://mypy-lang.org/)
[![Test Coverage: Core](https://img.shields.io/badge/coverage-core%20functionality-brightgreen.svg)](https://pytest.org)
[![PyPI version](https://badge.fury.io/py/git-ai-reporter.svg)](https://pypi.org/project/git-ai-reporter/)
[![CI Status](https://github.com/paudley/git-ai-reporter/workflows/CI/badge.svg)](https://github.com/paudley/git-ai-reporter/actions)
[![codecov](https://codecov.io/gh/paudley/git-ai-reporter/branch/main/graph/badge.svg)](https://codecov.io/gh/paudley/git-ai-reporter)

**Transform your Git history into intelligent, audience-aware documentation using AI**

[Features](#-features) โ€ข [Quick Start](#-quick-start) โ€ข [Documentation](#-documentation) โ€ข [Contributing](#-contributing) โ€ข [Roadmap](#-roadmap)

</div>

---

## ๐Ÿ“– Overview

**Git AI Reporter** (DevSummary AI) is an AI-driven command-line tool that analyzes Git repository history and automatically generates high-quality development documentation. Using Google's Gemini models and a sophisticated three-tier AI architecture, it transforms raw commit data into polished, audience-specific narratives.

### What It Does

Git AI Reporter solves the critical challenge of development visibility by automatically generating:

- **๐Ÿ“ฐ `NEWS.md`**: Narrative, stakeholder-friendly development summaries
- **๐Ÿ“‹ `CHANGELOG.txt`**: Structured, [Keep a Changelog](https://keepachangelog.com/) compliant change lists with emoji categorization
- **๐Ÿ“… `DAILY_UPDATES.md`**: Daily development activity summaries

Instead of manually crafting release notes or dumping raw git logs, Git AI Reporter intelligently analyzes your commits, identifies patterns, and creates professional documentation that serves both technical and non-technical audiences.

## โœจ Features

### ๐ŸŽฏ Core Capabilities

- **Multi-Lens Analysis**: Analyzes commits at three granularities (individual, daily, weekly)
- **Intelligent Filtering**: Automatically identifies and excludes trivial commits
- **Context-Aware Summaries**: Groups related changes and identifies development themes
- **Emoji Categorization**: Visual indicators for different change types (โœจ Features, ๐Ÿ› Fixes, etc.)
- **Configurable Models**: Three-tier AI architecture optimizing for speed, cost, and quality

### ๐Ÿ—๏ธ Architecture Highlights

- **Clean Architecture**: Strict separation of domain, application, and infrastructure layers
- **Robust JSON Handling**: "Airlock" pattern for handling imperfect LLM outputs
- **Smart Caching**: Minimize API costs with intelligent response caching
- **Type-Safe**: 100% type annotated with strict mypy checking
- **Test Coverage**: Comprehensive test coverage with deterministic testing

## ๐Ÿš€ Quick Start

### Prerequisites

- Python 3.12 or higher
- Git installed and accessible
- Google Gemini API key

### Installation

#### From PyPI (Recommended)

```bash
# Install from PyPI
pip install git-ai-reporter

# Or using uv
uv pip install git-ai-reporter
```

#### From Source

##### Using uv

```bash
# Clone the repository
git clone https://github.com/paudley/git-ai-reporter.git
cd git-ai-reporter

# Create virtual environment and install
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .
```

##### Using pip

```bash
# Clone and install
git clone https://github.com/paudley/git-ai-reporter.git
cd git-ai-reporter

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install in development mode
pip install -e .
```

### Configuration

1. **Set up your API key**:

```bash
# Copy the example environment file
cp .env.example .env

# Edit .env and add your Gemini API key
echo 'GEMINI_API_KEY="your-api-key-here"' >> .env
```

2. **Get a Gemini API Key**:
   - Visit [Google AI Studio](https://makersuite.google.com/app/apikey)
   - Create a new API key
   - Add it to your `.env` file

### Basic Usage

```bash
# Analyze the last 4 weeks of the current repository
git-ai-reporter

# Analyze a specific repository for 2 weeks
git-ai-reporter --repo-path /path/to/repo --weeks 2

# Analyze a specific date range
git-ai-reporter --start-date "2024-01-01" --end-date "2024-01-31"

# Debug mode with verbose output
git-ai-reporter --debug

# Skip cache and re-analyze everything
git-ai-reporter --no-cache
```

## ๐Ÿง  How It Works

### Three-Tier AI Architecture

Git AI Reporter employs a sophisticated multi-tier AI system that balances performance, cost, and quality:

```mermaid
graph LR
    A[Git Repository] --> B[Git Analysis Engine]
    B --> C[Tier 1: Analyzer<br/>gemini-2.5-flash]
    C --> D[Tier 2: Synthesizer<br/>gemini-2.5-pro]
    D --> E[Tier 3: Narrator<br/>gemini-2.5-pro]
    E --> F[NEWS.md & CHANGELOG.txt]
```

1. **Tier 1 - Analyzer** (gemini-2.5-flash)
   - High-volume, fast analysis of individual commits
   - Generates concise summaries and categorizations
   - Optimized for speed and cost-efficiency

2. **Tier 2 - Synthesizer** (gemini-2.5-pro)
   - Identifies patterns across multiple commits
   - Groups related changes and finds themes
   - Creates daily and weekly consolidations

3. **Tier 3 - Narrator/Changelogger** (gemini-2.5-pro)
   - Generates polished, audience-specific content
   - Adopts different "personas" for different outputs
   - Ensures format compliance and narrative quality

### Multi-Lens Analysis Strategy

The system analyzes your repository through three complementary lenses:

1. **๐Ÿ” Micro View**: Individual commit analysis with intelligent filtering
2. **๐Ÿ“Š Mezzo View**: Daily consolidation showing net changes per 24-hour period
3. **๐ŸŒ Macro View**: Weekly overview providing complete context for narratives

### Intelligent Commit Filtering

Automatically excludes trivial commits based on:
- Conventional commit prefixes (`chore:`, `docs:`, `style:`)
- File path patterns (documentation, configuration files)
- Change size and complexity thresholds

## ๐Ÿ“ Project Structure

```
git-ai-reporter/
โ”œโ”€โ”€ src/git_ai_reporter/
โ”‚   โ”œโ”€โ”€ analysis/           # Git repository analysis engine
โ”‚   โ”‚   โ””โ”€โ”€ git_analyzer.py # Multi-lens commit analysis
โ”‚   โ”œโ”€โ”€ cache/              # Intelligent caching layer
โ”‚   โ”œโ”€โ”€ orchestration/      # Pipeline coordination
โ”‚   โ”œโ”€โ”€ services/           # External service integrations
โ”‚   โ”‚   โ””โ”€โ”€ gemini.py       # Three-tier AI processing
โ”‚   โ”œโ”€โ”€ summaries/          # Summary generation logic
โ”‚   โ”œโ”€โ”€ utils/              # Robust JSON handling & utilities
โ”‚   โ””โ”€โ”€ writing/            # Artifact generation
โ”œโ”€โ”€ tests/                  # Comprehensive test suite
โ”‚   โ”œโ”€โ”€ cassettes/          # VCR recordings for deterministic testing
โ”‚   โ”œโ”€โ”€ snapshots/          # Output validation snapshots
โ”‚   โ””โ”€โ”€ fixtures/           # Static test data
โ””โ”€โ”€ docs/                   # Additional documentation
```

## ๐Ÿงช Development

### Setting Up Development Environment

```bash
# Install development dependencies
uv pip install -e .[dev]

# Run the full test suite
pytest

# Run with coverage report
pytest --cov=src/git_ai_reporter --cov-report=html

# Type checking
mypy src/

# Linting and formatting
ruff check .
ruff format .
```

### Testing Philosophy

Git AI Reporter employs a sophisticated testing strategy:

- **Deterministic Testing**: Using pytest-recording for API mocking
- **Snapshot Testing**: Validating output consistency
- **Property-Based Testing**: Using Hypothesis for edge cases
- **Parallel Execution**: Tests run concurrently for speed
- **Comprehensive Test Coverage**: Extensive test coverage for core functionality

### Updating Tests

#### Re-recording API Mocks

```bash
# Delete the old cassette
rm tests/cassettes/test_name.yaml

# Re-run to record new interaction
pytest tests/test_file.py::test_name
```

#### Updating Snapshots

```bash
# Update snapshots after intentional changes
pytest --snapshot-update
```

## ๐Ÿ“Š Performance

| Metric | Current | Target | Status |
|--------|---------|--------|--------|
| Core Test Coverage | Comprehensive | Comprehensive | โœ… |
| Type Coverage | Complete | Complete | โœ… |
| API Response Time | ~2s/commit | <500ms | ๐ŸŸก |
| Cache Hit Rate | 70% | >80% | ๐ŸŸก |
| Memory Usage | <500MB | <200MB | ๐ŸŸก |

## ๐Ÿ›ฃ๏ธ Roadmap

See [PENDING.md](PENDING.md) for the detailed enhancement roadmap. Key priorities:

### Phase 1 (Immediate)
- โšก Async/await migration for 3-4x performance improvement
- ๐Ÿ”„ Incremental processing for 90% faster regular updates
- โœ… Achieved comprehensive core functionality test coverage

### Phase 2 (Short-term)
- ๐Ÿ“ฆ Batch API processing for 70% cost reduction
- ๐Ÿง  Smart caching with 80%+ hit rate
- ๐ŸŽจ Rich CLI with progress bars and syntax highlighting

### Phase 3 (Medium-term)
- ๐Ÿ”Œ Plugin architecture for extensibility
- ๐ŸŒ Multi-repository analysis support
- ๐Ÿ“ˆ Context-aware summarization

## ๐Ÿค Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Quick Contribution Guide

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests (`pytest`)
5. Commit with conventional commits (`feat: add amazing feature`)
6. Push and create a Pull Request

### Development Standards

- **Code Style**: Ruff formatted with 88-character lines
- **Type Hints**: Required for all functions
- **Docstrings**: Google-style for all public APIs
- **Testing**: New features require tests
- **Documentation**: Update relevant docs

## ๐Ÿ“š Documentation

- [Coding Guidelines](docs/CODING_GUIDELINES.md) - Development standards and practices
- [Testing Guidelines](docs/PYTEST_GUIDELINES.md) - Comprehensive testing approach
- [CLAUDE.md](CLAUDE.md) - AI assistant configuration and project context
- [Contributing Guide](CONTRIBUTING.md) - How to contribute to the project

## ๐Ÿ”’ Security

- API keys are never logged or cached
- All external data is validated
- Robust error handling prevents information leakage
- See [SECURITY.md](SECURITY.md) for reporting vulnerabilities

## ๐Ÿ“„ License

This project is licensed under the MIT License (SPDX: MIT) - see the [LICENSE](LICENSE) file for details.

All source code files include SPDX license identifiers for automated license detection.

## ๐Ÿ™ Acknowledgments

- [Keep a Changelog](https://keepachangelog.com/) for changelog standards
- [Conventional Commits](https://www.conventionalcommits.org/) for commit conventions
- Google Gemini team for the excellent AI models
- The Python community for amazing tools and libraries

## ๐Ÿ“ฎ Support

- ๐Ÿ› [Report bugs](https://github.com/paudley/git-ai-reporter/issues)
- ๐Ÿ’ก [Request features](https://github.com/paudley/git-ai-reporter/discussions)
- ๐Ÿ“ง [Contact maintainer](mailto:paudley@blackcat.ca)
- ๐Ÿ’ฌ [Join discussions](https://github.com/paudley/git-ai-reporter/discussions)

## โญ Star History

[![Star History Chart](https://api.star-history.com/svg?repos=paudley/git-ai-reporter&type=Date)](https://star-history.com/#paudley/git-ai-reporter&Date)

---

<div align="center">
Made with โค๏ธ by the Git AI Reporter Team

If you find this project useful, please consider giving it a โญ!
</div>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "git-ai-reporter",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "Patrick Audley <paudley@blackcat.ca>",
    "keywords": "ai, changelog, documentation, gemini, git, release-notes",
    "author": null,
    "author_email": "\"Blackcat Informatics\u00ae Inc.\" <paudley@blackcat.ca>",
    "download_url": "https://files.pythonhosted.org/packages/76/65/07a2294cca411d32ba6a3d5cadc559bd1c5497e42b207c5f644495ecc018/git_ai_reporter-0.1.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\ude80 Git AI Reporter (DevSummary AI)\n\n<div align=\"center\">\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)\n[![Type checked: mypy](https://img.shields.io/badge/type%20checked-mypy-blue)](https://mypy-lang.org/)\n[![Test Coverage: Core](https://img.shields.io/badge/coverage-core%20functionality-brightgreen.svg)](https://pytest.org)\n[![PyPI version](https://badge.fury.io/py/git-ai-reporter.svg)](https://pypi.org/project/git-ai-reporter/)\n[![CI Status](https://github.com/paudley/git-ai-reporter/workflows/CI/badge.svg)](https://github.com/paudley/git-ai-reporter/actions)\n[![codecov](https://codecov.io/gh/paudley/git-ai-reporter/branch/main/graph/badge.svg)](https://codecov.io/gh/paudley/git-ai-reporter)\n\n**Transform your Git history into intelligent, audience-aware documentation using AI**\n\n[Features](#-features) \u2022 [Quick Start](#-quick-start) \u2022 [Documentation](#-documentation) \u2022 [Contributing](#-contributing) \u2022 [Roadmap](#-roadmap)\n\n</div>\n\n---\n\n## \ud83d\udcd6 Overview\n\n**Git AI Reporter** (DevSummary AI) is an AI-driven command-line tool that analyzes Git repository history and automatically generates high-quality development documentation. Using Google's Gemini models and a sophisticated three-tier AI architecture, it transforms raw commit data into polished, audience-specific narratives.\n\n### What It Does\n\nGit AI Reporter solves the critical challenge of development visibility by automatically generating:\n\n- **\ud83d\udcf0 `NEWS.md`**: Narrative, stakeholder-friendly development summaries\n- **\ud83d\udccb `CHANGELOG.txt`**: Structured, [Keep a Changelog](https://keepachangelog.com/) compliant change lists with emoji categorization\n- **\ud83d\udcc5 `DAILY_UPDATES.md`**: Daily development activity summaries\n\nInstead of manually crafting release notes or dumping raw git logs, Git AI Reporter intelligently analyzes your commits, identifies patterns, and creates professional documentation that serves both technical and non-technical audiences.\n\n## \u2728 Features\n\n### \ud83c\udfaf Core Capabilities\n\n- **Multi-Lens Analysis**: Analyzes commits at three granularities (individual, daily, weekly)\n- **Intelligent Filtering**: Automatically identifies and excludes trivial commits\n- **Context-Aware Summaries**: Groups related changes and identifies development themes\n- **Emoji Categorization**: Visual indicators for different change types (\u2728 Features, \ud83d\udc1b Fixes, etc.)\n- **Configurable Models**: Three-tier AI architecture optimizing for speed, cost, and quality\n\n### \ud83c\udfd7\ufe0f Architecture Highlights\n\n- **Clean Architecture**: Strict separation of domain, application, and infrastructure layers\n- **Robust JSON Handling**: \"Airlock\" pattern for handling imperfect LLM outputs\n- **Smart Caching**: Minimize API costs with intelligent response caching\n- **Type-Safe**: 100% type annotated with strict mypy checking\n- **Test Coverage**: Comprehensive test coverage with deterministic testing\n\n## \ud83d\ude80 Quick Start\n\n### Prerequisites\n\n- Python 3.12 or higher\n- Git installed and accessible\n- Google Gemini API key\n\n### Installation\n\n#### From PyPI (Recommended)\n\n```bash\n# Install from PyPI\npip install git-ai-reporter\n\n# Or using uv\nuv pip install git-ai-reporter\n```\n\n#### From Source\n\n##### Using uv\n\n```bash\n# Clone the repository\ngit clone https://github.com/paudley/git-ai-reporter.git\ncd git-ai-reporter\n\n# Create virtual environment and install\nuv venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\nuv pip install -e .\n```\n\n##### Using pip\n\n```bash\n# Clone and install\ngit clone https://github.com/paudley/git-ai-reporter.git\ncd git-ai-reporter\n\n# Create virtual environment\npython -m venv .venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n\n# Install in development mode\npip install -e .\n```\n\n### Configuration\n\n1. **Set up your API key**:\n\n```bash\n# Copy the example environment file\ncp .env.example .env\n\n# Edit .env and add your Gemini API key\necho 'GEMINI_API_KEY=\"your-api-key-here\"' >> .env\n```\n\n2. **Get a Gemini API Key**:\n   - Visit [Google AI Studio](https://makersuite.google.com/app/apikey)\n   - Create a new API key\n   - Add it to your `.env` file\n\n### Basic Usage\n\n```bash\n# Analyze the last 4 weeks of the current repository\ngit-ai-reporter\n\n# Analyze a specific repository for 2 weeks\ngit-ai-reporter --repo-path /path/to/repo --weeks 2\n\n# Analyze a specific date range\ngit-ai-reporter --start-date \"2024-01-01\" --end-date \"2024-01-31\"\n\n# Debug mode with verbose output\ngit-ai-reporter --debug\n\n# Skip cache and re-analyze everything\ngit-ai-reporter --no-cache\n```\n\n## \ud83e\udde0 How It Works\n\n### Three-Tier AI Architecture\n\nGit AI Reporter employs a sophisticated multi-tier AI system that balances performance, cost, and quality:\n\n```mermaid\ngraph LR\n    A[Git Repository] --> B[Git Analysis Engine]\n    B --> C[Tier 1: Analyzer<br/>gemini-2.5-flash]\n    C --> D[Tier 2: Synthesizer<br/>gemini-2.5-pro]\n    D --> E[Tier 3: Narrator<br/>gemini-2.5-pro]\n    E --> F[NEWS.md & CHANGELOG.txt]\n```\n\n1. **Tier 1 - Analyzer** (gemini-2.5-flash)\n   - High-volume, fast analysis of individual commits\n   - Generates concise summaries and categorizations\n   - Optimized for speed and cost-efficiency\n\n2. **Tier 2 - Synthesizer** (gemini-2.5-pro)\n   - Identifies patterns across multiple commits\n   - Groups related changes and finds themes\n   - Creates daily and weekly consolidations\n\n3. **Tier 3 - Narrator/Changelogger** (gemini-2.5-pro)\n   - Generates polished, audience-specific content\n   - Adopts different \"personas\" for different outputs\n   - Ensures format compliance and narrative quality\n\n### Multi-Lens Analysis Strategy\n\nThe system analyzes your repository through three complementary lenses:\n\n1. **\ud83d\udd0d Micro View**: Individual commit analysis with intelligent filtering\n2. **\ud83d\udcca Mezzo View**: Daily consolidation showing net changes per 24-hour period\n3. **\ud83c\udf0d Macro View**: Weekly overview providing complete context for narratives\n\n### Intelligent Commit Filtering\n\nAutomatically excludes trivial commits based on:\n- Conventional commit prefixes (`chore:`, `docs:`, `style:`)\n- File path patterns (documentation, configuration files)\n- Change size and complexity thresholds\n\n## \ud83d\udcc1 Project Structure\n\n```\ngit-ai-reporter/\n\u251c\u2500\u2500 src/git_ai_reporter/\n\u2502   \u251c\u2500\u2500 analysis/           # Git repository analysis engine\n\u2502   \u2502   \u2514\u2500\u2500 git_analyzer.py # Multi-lens commit analysis\n\u2502   \u251c\u2500\u2500 cache/              # Intelligent caching layer\n\u2502   \u251c\u2500\u2500 orchestration/      # Pipeline coordination\n\u2502   \u251c\u2500\u2500 services/           # External service integrations\n\u2502   \u2502   \u2514\u2500\u2500 gemini.py       # Three-tier AI processing\n\u2502   \u251c\u2500\u2500 summaries/          # Summary generation logic\n\u2502   \u251c\u2500\u2500 utils/              # Robust JSON handling & utilities\n\u2502   \u2514\u2500\u2500 writing/            # Artifact generation\n\u251c\u2500\u2500 tests/                  # Comprehensive test suite\n\u2502   \u251c\u2500\u2500 cassettes/          # VCR recordings for deterministic testing\n\u2502   \u251c\u2500\u2500 snapshots/          # Output validation snapshots\n\u2502   \u2514\u2500\u2500 fixtures/           # Static test data\n\u2514\u2500\u2500 docs/                   # Additional documentation\n```\n\n## \ud83e\uddea Development\n\n### Setting Up Development Environment\n\n```bash\n# Install development dependencies\nuv pip install -e .[dev]\n\n# Run the full test suite\npytest\n\n# Run with coverage report\npytest --cov=src/git_ai_reporter --cov-report=html\n\n# Type checking\nmypy src/\n\n# Linting and formatting\nruff check .\nruff format .\n```\n\n### Testing Philosophy\n\nGit AI Reporter employs a sophisticated testing strategy:\n\n- **Deterministic Testing**: Using pytest-recording for API mocking\n- **Snapshot Testing**: Validating output consistency\n- **Property-Based Testing**: Using Hypothesis for edge cases\n- **Parallel Execution**: Tests run concurrently for speed\n- **Comprehensive Test Coverage**: Extensive test coverage for core functionality\n\n### Updating Tests\n\n#### Re-recording API Mocks\n\n```bash\n# Delete the old cassette\nrm tests/cassettes/test_name.yaml\n\n# Re-run to record new interaction\npytest tests/test_file.py::test_name\n```\n\n#### Updating Snapshots\n\n```bash\n# Update snapshots after intentional changes\npytest --snapshot-update\n```\n\n## \ud83d\udcca Performance\n\n| Metric | Current | Target | Status |\n|--------|---------|--------|--------|\n| Core Test Coverage | Comprehensive | Comprehensive | \u2705 |\n| Type Coverage | Complete | Complete | \u2705 |\n| API Response Time | ~2s/commit | <500ms | \ud83d\udfe1 |\n| Cache Hit Rate | 70% | >80% | \ud83d\udfe1 |\n| Memory Usage | <500MB | <200MB | \ud83d\udfe1 |\n\n## \ud83d\udee3\ufe0f Roadmap\n\nSee [PENDING.md](PENDING.md) for the detailed enhancement roadmap. Key priorities:\n\n### Phase 1 (Immediate)\n- \u26a1 Async/await migration for 3-4x performance improvement\n- \ud83d\udd04 Incremental processing for 90% faster regular updates\n- \u2705 Achieved comprehensive core functionality test coverage\n\n### Phase 2 (Short-term)\n- \ud83d\udce6 Batch API processing for 70% cost reduction\n- \ud83e\udde0 Smart caching with 80%+ hit rate\n- \ud83c\udfa8 Rich CLI with progress bars and syntax highlighting\n\n### Phase 3 (Medium-term)\n- \ud83d\udd0c Plugin architecture for extensibility\n- \ud83c\udf10 Multi-repository analysis support\n- \ud83d\udcc8 Context-aware summarization\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Quick Contribution Guide\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run tests (`pytest`)\n5. Commit with conventional commits (`feat: add amazing feature`)\n6. Push and create a Pull Request\n\n### Development Standards\n\n- **Code Style**: Ruff formatted with 88-character lines\n- **Type Hints**: Required for all functions\n- **Docstrings**: Google-style for all public APIs\n- **Testing**: New features require tests\n- **Documentation**: Update relevant docs\n\n## \ud83d\udcda Documentation\n\n- [Coding Guidelines](docs/CODING_GUIDELINES.md) - Development standards and practices\n- [Testing Guidelines](docs/PYTEST_GUIDELINES.md) - Comprehensive testing approach\n- [CLAUDE.md](CLAUDE.md) - AI assistant configuration and project context\n- [Contributing Guide](CONTRIBUTING.md) - How to contribute to the project\n\n## \ud83d\udd12 Security\n\n- API keys are never logged or cached\n- All external data is validated\n- Robust error handling prevents information leakage\n- See [SECURITY.md](SECURITY.md) for reporting vulnerabilities\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License (SPDX: MIT) - see the [LICENSE](LICENSE) file for details.\n\nAll source code files include SPDX license identifiers for automated license detection.\n\n## \ud83d\ude4f Acknowledgments\n\n- [Keep a Changelog](https://keepachangelog.com/) for changelog standards\n- [Conventional Commits](https://www.conventionalcommits.org/) for commit conventions\n- Google Gemini team for the excellent AI models\n- The Python community for amazing tools and libraries\n\n## \ud83d\udcee Support\n\n- \ud83d\udc1b [Report bugs](https://github.com/paudley/git-ai-reporter/issues)\n- \ud83d\udca1 [Request features](https://github.com/paudley/git-ai-reporter/discussions)\n- \ud83d\udce7 [Contact maintainer](mailto:paudley@blackcat.ca)\n- \ud83d\udcac [Join discussions](https://github.com/paudley/git-ai-reporter/discussions)\n\n## \u2b50 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=paudley/git-ai-reporter&type=Date)](https://star-history.com/#paudley/git-ai-reporter&Date)\n\n---\n\n<div align=\"center\">\nMade with \u2764\ufe0f by the Git AI Reporter Team\n\nIf you find this project useful, please consider giving it a \u2b50!\n</div>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "AI-Driven Git Repository Analysis and Narrative Generation.",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://github.com/paudley/git-ai-reporter#readme",
        "Homepage": "https://github.com/paudley/git-ai-reporter",
        "Issues": "https://github.com/paudley/git-ai-reporter/issues",
        "Repository": "https://github.com/paudley/git-ai-reporter.git"
    },
    "split_keywords": [
        "ai",
        " changelog",
        " documentation",
        " gemini",
        " git",
        " release-notes"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df48e936166398cff0098c70b8ed6df1a9886d2bbd315dbf658c6a18d9a54336",
                "md5": "ac86ea69a2030d7a089de28bb41652c9",
                "sha256": "4fb003ae49c42cb9edc1735c40fb1f2f433923ff2b763b5a9a927263a0cc9e82"
            },
            "downloads": -1,
            "filename": "git_ai_reporter-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ac86ea69a2030d7a089de28bb41652c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 171311,
            "upload_time": "2025-08-22T01:52:45",
            "upload_time_iso_8601": "2025-08-22T01:52:45.946391Z",
            "url": "https://files.pythonhosted.org/packages/df/48/e936166398cff0098c70b8ed6df1a9886d2bbd315dbf658c6a18d9a54336/git_ai_reporter-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "766507a2294cca411d32ba6a3d5cadc559bd1c5497e42b207c5f644495ecc018",
                "md5": "45b97a68003e0d04450c7c3c4263dc25",
                "sha256": "208b0a7e882912b6ed29610333a702adb26e71a8838afe14dab0faec6a741c71"
            },
            "downloads": -1,
            "filename": "git_ai_reporter-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "45b97a68003e0d04450c7c3c4263dc25",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 139907,
            "upload_time": "2025-08-22T01:52:47",
            "upload_time_iso_8601": "2025-08-22T01:52:47.792164Z",
            "url": "https://files.pythonhosted.org/packages/76/65/07a2294cca411d32ba6a3d5cadc559bd1c5497e42b207c5f644495ecc018/git_ai_reporter-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-22 01:52:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "paudley",
    "github_project": "git-ai-reporter#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "git-ai-reporter"
}
        
Elapsed time: 1.84820s