Skip to content

Conversation

@Hi7cl4w
Copy link
Owner

@Hi7cl4w Hi7cl4w commented Nov 3, 2025

Overview

This PR adds comprehensive VS Code Language Model (GitHub Copilot) integration alongside OpenAI support, implements intelligent code indexing for AI commit generation, and sets up automated release workflows.

Key Features

🤖 VS Code LLM Integration (GitHub Copilot)

  • Add VsCodeLlmService for GitHub Copilot integration
  • Support for multiple Copilot models (GPT-4o, GPT-4, GPT-3.5, O1 series)
  • Automatic model selection or manual model choice
  • Set as default AI provider for better out-of-box experience
  • Graceful fallback to OpenAI when Copilot unavailable

🎯 Intelligent Code Indexing

  • Automatic filtering of irrelevant files (lock files, images, fonts)
  • Configurable file exclusion patterns with glob support
  • Reduced token usage and improved AI analysis quality
  • Smart diff processing for better commit message generation

📝 Customizable Commit Formats

  • Conventional Commits: Standard format (feat: description)
  • Gitmoji: Emoji-prefixed commits (✨ feat: description)
  • Custom Templates: Fully customizable with placeholders
    • {maxLength}, {bodyInstructions}, {locale}, {diff}
  • Optional detailed commit bodies with bullet points
  • Configurable message length (50-200 characters)

🚀 Automated Release Workflow

  • Intelligent version bumping based on conventional commits
  • Automatic analysis: feat! → major, feat → minor, fix → patch
  • Auto-generated categorized release notes
  • GitHub Release creation with VSIX artifacts
  • VS Code Marketplace publishing automation
  • 90-day artifact retention
  • Comprehensive documentation in .github/RELEASE.md

🔧 Code Quality & Tooling

  • Replace ESLint/Prettier with Biome for faster linting/formatting
  • Add TypeScript strict type checking
  • Update to VS Code API v1.105.0
  • Enhanced .gitignore for macOS and editor files

Configuration Changes

New settings added:

  • aiServiceProvider: Choose between vscode-lm (default) or openai
  • vscodeLmModel: Select specific Copilot model or use auto
  • commitMessageType: conventional, gitmoji, or custom
  • customCommitPrompt: Template for custom commit messages
  • includeCommitBody: Add detailed explanations to commits
  • excludeFilesFromDiff: File patterns to exclude from AI analysis
  • maxCommitMessageLength: Subject line length limit (50-200)

Breaking Changes

None - fully backward compatible. Existing OpenAI configurations continue to work.

Testing

  • ✅ TypeScript compilation passes
  • ✅ Biome linting passes
  • ✅ All configuration options validated
  • ✅ VS Code LLM integration tested with GitHub Copilot
  • ✅ File filtering tested with various patterns
  • ✅ Custom commit templates validated

Documentation

  • Updated README with new features and configuration
  • Added comprehensive release documentation (.github/RELEASE.md)
  • Added quick release guide for maintainers
  • Updated configuration descriptions

Dependencies

No new runtime dependencies. DevDependencies updated:

  • Added @biomejs/biome for linting/formatting
  • Updated @types/vscode to ^1.105.0

Migration Path

For existing users:

  1. Extension will use GitHub Copilot by default (if available)
  2. OpenAI users: no changes needed, works as before
  3. New file filtering automatically improves commit quality
  4. Opt-in to custom templates if desired

Release Workflow Setup

To use the automated release workflow:

  1. Add VSCE_PAT secret to repository (VS Code Marketplace token)
  2. Go to Actions → Release Extension → Run workflow
  3. Choose version bump type or use auto for smart detection
  4. Workflow handles build, test, publish, and release creation

Future Enhancements

Potential follow-ups:

  • Additional AI providers (Anthropic Claude, etc.)
  • More commit message templates
  • Custom file filtering presets
  • Workspace-specific configuration

Closes: N/A
Related Issues: N/A

- Change default aiServiceProvider from 'openai' to 'vscode-lm'
- Update configuration description to reflect new default
- Improves out-of-box experience for users with GitHub Copilot
@Hi7cl4w Hi7cl4w merged commit 5bca5d6 into main Nov 3, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants