Skip to content

๐Ÿค– AI-Powered VSCode extension for generating standardized Git/SVN commit messages. โœจ Supports multiple AI services: OpenAI, ChatGPT, Ollama, Zhipu, DashScope, Doubao, Gemini and VS Code built-in AI. ๐ŸŒ Multi-language support (EN/CN/JP/KR/Other). ๐Ÿ“Š Auto-generate weekly reports.

License

Notifications You must be signed in to change notification settings

littleCareless/dish-ai-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Dish AI Commit Gen

A VSCode extension for generating standardized Git/SVN commit messages using AI

Report Bug ยท Request Feature

Demo

English | ็ฎ€ไฝ“ไธญๆ–‡

A VSCode extension for generating standardized Git/SVN commit messages using AI. Supports OpenAI, Ollama, VSCode built-in AI services, Zhipu AI, DashScope, Gemini AI, and Doubao AI.

๐Ÿ†“ Free AI Model Support

Features

๐Ÿค– Multi-Platform AI Support

  • OpenAI API

    • Suitable for scenarios requiring high-quality generation results
    • Supports multiple models including GPT-3.5/GPT-4
    • Requires API Key, charged based on usage
  • Ollama

    • Local deployment, no internet required
    • Supports multiple open-source models
    • Ideal for scenarios with data privacy requirements
  • VSCode Built-in AI

    • Uses VSCode's built-in GitHub Copilot
    • Requires valid GitHub Copilot subscription
    • Configuration: Set provider to "vscode"
  • Zhipu AI (GLM-4)

    • Excellent Chinese language performance
    • Fixed monthly free quota
    • Suitable for users in China
  • DashScope

    • AI service provided by Alibaba Cloud
    • Supports Tongyi Qianwen series models
    • Suitable for enterprise applications
  • Gemini AI

    • AI service provided by Google
    • Daily free quota: 1500 requests
    • Suitable for individual developers

๐Ÿ“ Version Control System Support

  • SVN
  • Git

๐Ÿ“Š Weekly Report Generation

  • AI-powered weekly report generation
  • Automatically summarize your work progress
  • Customizable report templates
  • Support multiple AI providers for report generation

๐ŸŒ Multi-language Commit Message Generation

Supports the following 19 languages:

  • Simplified Chinese (็ฎ€ไฝ“ไธญๆ–‡)
  • Traditional Chinese (็น้ซ”ไธญๆ–‡)
  • Japanese (ๆ—ฅๆœฌ่ชž)
  • Korean (ํ•œ๊ตญ์–ด)
  • Czech (ฤŒeลกtina)
  • German (Deutsch)
  • French (Franรงais)
  • Italian (Italiano)
  • Dutch (Nederlands)
  • Portuguese (Portuguรชs)
  • Vietnamese (Tiแบฟng Viแป‡t)
  • English
  • Spanish (Espaรฑol)
  • Swedish (Svenska)
  • Russian (ะ ัƒััะบะธะน)
  • Bahasa Indonesia
  • Polish (Polski)
  • Turkish (Tรผrkรงe)
  • Thai (เน„เธ—เธข)

๐ŸŽจ Conventional Commits Compliant

Generates commit messages following the Conventional Commits specification:

  • Commit Message Format:

    <type>[optional scope]: <description>
    
    [optional body]
    
    [optional footer(s)]
    
  • Supported Commit Types:

    • feat: New feature
    • fix: Bug fix
    • docs: Documentation changes
    • style: Code style adjustments
    • refactor: Code refactoring
    • perf: Performance improvements
    • test: Test-related changes
    • build: Build-related changes
    • ci: CI/CD-related changes
    • chore: Other changes
    • revert: Revert commits
  • Automatic Scope Detection:

    • Automatically inferred from modified file paths
    • Smart categorization for multi-file changes
    • Customizable scope rules via configuration
  • Breaking Changes Support:

    • Mark breaking changes with !
    • Detailed impact description in body
    • Example: feat!: Restructure authentication system
  • Intelligent Description Generation:

    • Automatic code change analysis
    • Key modification point extraction
    • Clear and concise description generation

๐Ÿ˜„ Automatic Emoji Addition

  • Automatically adds emojis to commit messages
  • Can be enabled/disabled through configuration:
{
  "dish-ai-commit.features.commitFormat.enableEmoji": true // Enable emoji
}
  • Emojis automatically match commit types:
    • โœจ feat: New features
    • ๐Ÿ› fix: Bug fixes
    • ๐Ÿ“ docs: Documentation
    • ๐Ÿ’„ style: Styling
    • โ™ป๏ธ refactor: Refactoring
    • โšก๏ธ perf: Performance
    • โœ… test: Testing
    • ๐Ÿ”ง chore: Other changes

๐Ÿ“Š Code Analysis Features

  • Intelligent code difference analysis
  • Automatically simplify complex code changes
  • Preserve key context information
  • Customizable analysis behavior via maxLineLength and contextLines

๐Ÿ”„ Merge Commit Support

By enabling the enableMergeCommit option, you can:

  • Merge changes from multiple related files into a single commit message
  • Automatically analyze file associations
  • Generate more concise commit records

๐Ÿ“ Weekly Report Templates

Weekly report generation supports custom templates:

  • Customize prompts via systemPrompt configuration
  • Summarize by project/task
  • Customize report format and key content

๐Ÿ“‹ Requirements

  • VS Code 1.80.0+
  • SVN Command Line Tool
  • SVN SCM (Optional) - Install SVN SCM v2.18.1+ if you need to enter commit messages in VSCode's SCM input box
    • Download the latest version of the SVN SCM extension from the release page
  • Git SCM (Optional) - Install Git SCM if you need to enter commit messages in VSCode's SCM input box
  • Valid AI service configuration (OpenAI API Key or Ollama service)

Configuration

Configuration Type Default Description
dish-ai-commit.base.language string Simplified Chinese Commit message language
dish-ai-commit.base.systemPrompt string "" Custom system prompt
dish-ai-commit.base.provider string OpenAI AI provider
dish-ai-commit.base.model string gpt-3.5-turbo AI model
dish-ai-commit.providers.openai.apiKey string "" OpenAI API key
dish-ai-commit.providers.openai.baseUrl string https://api.openai.com/v1 OpenAI API base URL
dish-ai-commit.providers.zhipu.apiKey string "" Zhipu AI API key
dish-ai-commit.providers.dashscope.apiKey string "" DashScope API key
dish-ai-commit.providers.doubao.apiKey string "" Doubao API key
dish-ai-commit.providers.ollama.baseUrl string http://localhost:11434 Ollama API base URL
dish-ai-commit.providers.gemini.apiKey string "" Gemini AI API key
dish-ai-commit.features.codeAnalysis.simplifyDiff boolean false Enable diff content simplification
dish-ai-commit.features.codeAnalysis.maxLineLength number 120 Maximum line length after simplification
dish-ai-commit.features.codeAnalysis.contextLines number 3 Number of context lines to preserve
dish-ai-commit.features.commitFormat.enableMergeCommit boolean false Allow merging multiple file changes into one commit
dish-ai-commit.features.commitFormat.enableEmoji boolean true Use emoji in commit messages
dish-ai-commit.features.weeklyReport.systemPrompt string "" Custom system prompt for weekly reports

Commands

Command ID Category Title Description
dish-ai-commit.selectModel [Dish AI Commit] Select AI Model for Commit Generation Choose the AI model for generating commit messages
dish-ai-commit.generateWeeklyReport [Dish AI Commit] Generate Weekly Report Generate AI-powered weekly work report

Configuration Instructions

  1. OpenAI Configuration
{
  "dish-ai-commit.base.provider": "openai",
  "dish-ai-commit.providers.openai.apiKey": "your-api-key",
  "dish-ai-commit.providers.openai.baseUrl": "https://api.openai.com/v1"
}
  1. Ollama Configuration
{
  "dish-ai-commit.base.provider": "ollama",
  "dish-ai-commit.providers.ollama.baseUrl": "http://localhost:11434"
}
  1. VSCode Configuration
{
  "dish-ai-commit.base.provider": "vscode"
}

๐Ÿ“‹ How to use

  • Select the file to be submitted from the source code manager
  • Click the "Dish AI Commit" icon in the source code manager title bar
  • Or execute the "Dish AI Commit" command in the command panel
  • AI will automatically generate a submission message that meets the specifications

๐Ÿ“ฅ Install

  1. Search "Dish AI Commit" from the VS Code extension market
  2. Click to install
  3. Restart VS Code
  4. Configure AI service parameters according to actual needs

๐Ÿ“ Changelog

See CHANGELOG.md for a detailed version history.

๐Ÿ“‹ Dependency Requirements

  • VS Code 1.80.0+
  • SVN command line tool
  • SVN SCM (optional) - To enter commit information in the SCM input box of VSCode, please install SVN SCM v2.18.1+
  • Valid AI service configuration (OpenAI API Key or Ollama service)

๐Ÿ’ก Frequently asked questions

  • Ensure that the SVN command line tool is correctly installed and accessible
  • Ensure that the SVN SCM extension is correctly installed and enabled
  • Configure the correct AI service parameters
  • Ensure that the network can access the selected AI service

๐Ÿ› ๏ธ Development Guide

You can use Github Codespaces for online development:

github-codespace

Alternatively, you can clone the repository and run the following command for local development:

$ git clone https://github.com/littleCareless/dish-ai-commit
$ cd ai-commit
$ npm install

Open the project folder in VSCode. Press F5 to run the project. A new Extension Development Host window will pop up and start the extension.

๐Ÿค Contribution Guidelines

We welcome all forms of contributions, including but not limited to:

  • Submit Issues to report bugs
  • Propose new features
  • Submit Pull Request to improve the code
  • Improve the documentation

Please make sure before submitting a PR:

  1. The code has been tested

  2. Update the relevant documents

  3. Follow the project code specifications

๐Ÿ’— Thanks to our contributors

๐Ÿ™ Acknowledgments

This project is inspired by and references these excellent open source projects:

  • svn-scm - SVN source control management for VSCode
  • vscode - Visual Studio Code editor
  • vscode-gitlens - Git supercharged for VSCode
  • ai-commit - AI assisted Git commit message generation

๐Ÿ“„ License

This project is MIT licensed.

About

๐Ÿค– AI-Powered VSCode extension for generating standardized Git/SVN commit messages. โœจ Supports multiple AI services: OpenAI, ChatGPT, Ollama, Zhipu, DashScope, Doubao, Gemini and VS Code built-in AI. ๐ŸŒ Multi-language support (EN/CN/JP/KR/Other). ๐Ÿ“Š Auto-generate weekly reports.

Resources

License

Stars

Watchers

Forks

Packages

No packages published