A premium, fast, and feature-rich GitFlow workflow and AI-powered commit assistant extension for Visual Studio Code. Ported from the high-performance Tauri desktop app, it provides native GitFlow branch control and smart AI-based tooling directly within the VSCode Source Control Management (SCM) interface.
🌟 Key Features
1. Native GitFlow Branch Management
- Tree View integration: View all your
feature/,release/, andhotfix/branches in a structured format in the Source Control panel. - Welcome View: Quick one-click "Initialize GitFlow" button when GitFlow isn't configured in the repository yet.
- Inline Hover Actions: Finish (
check) or Delete (trash) branches instantly from the sidebar hover buttons. - Multi-step Input Wizard: Premium, responsive input flows for initializing configurations, selecting merge strategies (merge, squash, rebase), and customizing tag choices.
2. StatusBar Navigation & Quick Actions Menu
- A customized icon + branch indicator next to your default Git branch (e.g.,
$(beaker) Feature: my-feature,$(package) Release: v1.0.0). - Click the status bar item to trigger the Quick Actions Menu with contextual shortcuts.
3. AI Commit Message Generator
- Generates precise commit messages from staged changes with a single click (
sparklebutton on SCM input box header). - Integrates with major providers: OpenAI Compatible, Anthropic (Claude), Ollama (local), llama.cpp, and 9Router.
- Multiple styles: Conventional Commits, Plain, Gitmoji, and Jira tickets.
- Configurable detail levels: Ultra-minimal, Minimal, Medium, Detailed, and Comprehensive.
- Local Fallback: Automatically falls back to a rule-based generator if the AI provider is offline or unconfigured.
4. Smart Split Commit (AI)
- Dynamically analyzes complex, staged changes spanning multiple files or concerns.
- Recommends atomic commits and guides you through a multi-step checklist to commit changes in logical steps.
⚙️ Configuration Settings
Configure these in VSCode settings (settings.json):
| Setting | Default | Description |
|---|---|---|
gitflow-plus.ai.provider |
openai-compatible |
Select AI Provider: openai-compatible, anthropic, ollama, llamacpp, 9router. |
gitflow-plus.ai.model |
gpt-3.5-turbo |
LLM Model name. |
gitflow-plus.ai.apiUrl |
"" |
Custom endpoint URL (e.g., for self-hosted or Ollama). |
gitflow-plus.ai.tokenLimit |
2048 |
Max response token limit. |
gitflow-plus.ai.commitStyle |
conventional |
Commit format style: conventional, plain, gitmoji, jira. |
gitflow-plus.ai.detailLevel |
medium |
Length/details: ultra-minimal, minimal, medium, detailed, comprehensive. |
gitflow-plus.ai.customRules |
"" |
Custom rules or instructions to append to prompt. |
gitflow-plus.ai.rateLimitPerMinute |
10 |
Rate limiting requests per minute. Set to 0 to disable. |
🛠️ Developer Setup & Packaging
Run/Debug Locally
- Open this folder in VSCode.
- Run
pnpm install(ornpm install) to install dependencies. - Press
F5or select Run Extension in the Debug panel. - A new Extension Development Host window will launch containing the active extension.
Compilation Scripts
pnpm compile(ornpm run compile): Build/bundle files intodist/withesbuild.pnpm watch(ornpm run watch): Watch files and rebuild on change.pnpm test(ornpm run test): Run the local GitFlow integration test suite.
Package and Install a VSIX
Build a production bundle and package the extension:
pnpm install
pnpm test
pnpm run vsix
This creates a file such as gitflow-plus-1.1.6.vsix in the project root. Install it locally with:
code --install-extension gitflow-plus-1.1.6.vsix --force
Alternatively, open the Extensions view in VSCode, select Views and More Actions..., then choose Install from VSIX....
Publish to the VSCode Marketplace
-
Create or select the
ChiThienpublisher in the Visual Studio Marketplace publisher portal. -
Create an Azure DevOps Personal Access Token (PAT) using All accessible organizations and the Marketplace (Manage) scope.
-
Increment the extension version. Each published version must be unique:
pnpm version patch --no-git-tag-version -
Test and package the release:
pnpm test pnpm run vsix -
Authenticate and publish the generated package, replacing the filename with the new version:
pnpm exec vsce login ChiThien pnpm exec vsce publish --packagePath gitflow-plus-1.1.7.vsix
Keep the PAT secret and never commit it to the repository. See the official VSCode extension publishing guide for account setup, pre-releases, and CI publishing.