GitFlow Plus for VSCode
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/, and hotfix/ 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.
- 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 (
sparkle button 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 (or npm install) to install dependencies.
- Press
F5 or select Run Extension in the Debug panel.
- A new Extension Development Host window will launch containing the active extension.
Compilation Scripts
pnpm compile (or npm run compile): Build/bundle files into dist/ with esbuild.
pnpm watch (or npm run watch): Watch files and rebuild on change.
pnpm test (or npm 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 ChiThien publisher 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.
| |