# gitsummary **Repository Path**: lutery/gitsummary ## Basic Information - **Project Name**: gitsummary - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-04 - **Last Updated**: 2025-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git Summary A VSCode extension that summarizes git commits into product change points. ## Features - Analyze git commit history in your workspace - Generate summaries of recent product changes based on commit messages - Filter commits by date range - Group related commits into coherent feature points - Categorize changes into features, fixes, refactoring, etc. - **AI-Powered Summaries**: Generate intelligent summaries using AI models ## Usage There are three main commands available: 1. **Git Summary: Generate summary from all commits** Analyzes all commits in the repository history. 2. **Git Summary: Generate summary from commits in date range** Allows you to specify a date range for the analysis. 3. **Git Summary: Configure AI model** Configure the AI model settings for enhanced summaries. To run a command: - Open the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`) - Type "Git Summary" and select the desired command ## AI Configuration The extension supports AI-powered summaries using OpenAI-compatible APIs: 1. Configure the AI settings through the command palette or VS Code settings: - Base URL: The API endpoint (default: https://api.siliconflow.cn/v1) - API Key: Your authentication key for the AI service - Model: The AI model to use (default: deepseek-ai/DeepSeek-V2.5) 2. Once configured, the extension will generate both standard and AI-powered summaries, allowing you to switch between them in the summary view. ## How it works The extension: 1. Retrieves git commits using the simple-git library 2. Analyzes commit messages to identify patterns and relationships 3. Groups related commits into feature points 4. Categorizes changes based on commit message keywords 5. Optionally uses AI to generate more insightful summaries 6. Presents a readable summary in a VSCode webview panel ## Installation ### From VSIX File 1. Download the .vsix file from the releases page 2. Open VS Code 3. Go to Extensions view (Ctrl+Shift+X) 4. Click on the "..." menu in the top-right corner 5. Select "Install from VSIX..." 6. Choose the downloaded .vsix file ### From VS Code Marketplace (Coming Soon) 1. Open VS Code 2. Go to Extensions view (Ctrl+Shift+X) 3. Search for "Git Summary" 4. Click "Install" ## Development ### Prerequisites - Node.js - npm ### Setup 1. Clone the repository 2. Run `npm install` to install dependencies 3. Open the project in VSCode 4. Press F5 to start debugging ### Building - Run `npm run compile` to build the extension - Run `npm run watch` to build and watch for changes - Run `npm run package` to create a .vsix file for distribution ## Error Handling The application includes a comprehensive error handling system, especially for handling VS Code extension errors: - **Extension Error Handler**: Utility for processing extension-related errors, classifying them by type and severity. - **Error Banner Component**: Visual notification for users when extensions fail. - **Error Context**: React context for managing application-wide errors. ### Common Extension Errors 1. **Filesystem Provider Errors**: These occur when an extension like GitLens fails to register its filesystem provider. 2. **Language Status Errors**: These happen when language services become unavailable. 3. **Extension Host Errors**: These indicate problems with the VS Code extension host process. ### Development When working on error handling: ```javascript // Example of handling an extension error manually import { useErrors } from './contexts/ErrorContext'; function MyComponent() { const { handleExtError } = useErrors(); try { // Some operation that might fail } catch (error) { handleExtError(error); } } ``` ## Extension Settings This extension contributes the following settings: * `gitsummary.ai.baseUrl`: Base URL for the OpenAI-compatible API * `gitsummary.ai.apiKey`: API key for the OpenAI-compatible API * `gitsummary.ai.model`: Model name to use for the OpenAI-compatible API ## Release Notes ### 0.1.0 - Initial release - Support for analyzing all commits or commits in a date range - Feature point categorization - Webview panel for results display - AI-powered summary generation