Skip to content

pinkpixel-dev/glow

Repository files navigation

Glow: Git Commit Message Generator

Glow is a lightweight, zero-dependency VS Code extension that generates clean Git commit messages from staged diffs and local workspace context.

WebsiteGitHubKo-FiBuy Me a Coffee


Features

  • Zero Bloat: Minimal, blazing-fast bundle (under 30KB) compiled using esbuild. No webviews, database layers, or heavy client SDKs.
  • Five Core Providers: OpenAI, Anthropic, Google Gemini, OpenRouter, and Ollama.
  • Dynamic Model Fetching: Pulls active, up-to-date lists of models straight from the provider APIs. If keys are missing or offline, enter any custom model identifier manually.
  • Smart Diff Compactor: Automatically filters out lockfiles, generated assets, binary files, and minified code, enforcing a safe 30k character limit to protect against rate limits and token window errors.
  • Context Aware: Optionally scans files like CHANGELOG.md or user-defined documentation in your workspace root, feeding the recent history to the LLM to align your commit message style and version numbers automatically.
  • Customizable Prompt: Define your own system prompt and temperature parameters to enforce Conventional Commits or custom naming conventions.
  • Secure Key Storage: Uses VS Code's native SecretStorage to keep your API keys safe.
  • Status Bar Integration: Shows the currently active model. Click to swap models or providers instantly.
  • Interruptible: Full cancel support for aborting in-progress LLM calls.

Getting Started

  1. Configure API Keys:
    • Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
    • Run Glow: Configure API Keys and input your keys for the providers you want to use.
  2. Select Model:
    • Click the Glow status bar item in the bottom-left of VS Code, or run Glow: Select Model / Provider from the Command Palette.
    • Select your provider and model (either from the fetched list or enter a custom one).
  3. Generate Message:
    • Stage your git changes in the SCM panel.
    • Click the sparkle icon (Glow: Generate Commit Message) in the SCM title bar, or run it via the Command Palette.
    • The message will be typed directly into your commit box!

Commands

Command Title Command ID Location / Trigger
Glow: Generate Commit Message glow.generateCommitMessage SCM Title Bar (Sparkle Icon) / Command Palette
Glow: Cancel Generation glow.cancelGeneration SCM Title Bar (Close Icon) / Command Palette
Glow: Select Model / Provider glow.selectModel Status Bar Item / Command Palette
Glow: Configure API Keys glow.configureKeys Command Palette / Settings Links

Configuration Settings

You can customize the behavior of Glow in VS Code Settings (glow.*):

  • glow.provider: Selected LLM provider (openai, anthropic, google, openrouter, or ollama).
  • glow.model: Model identifier (e.g. gpt-4o-mini, claude-3-5-sonnet-latest, gemini-2.5-flash).
  • glow.systemPrompt: Custom instructions for structuring commit messages.
  • glow.includeWorkspaceDocs: Toggle reading CHANGELOG.md or other files for additional generation context.
  • glow.contextFiles: List of filenames in the workspace root to scan for context (defaults to ["CHANGELOG.md"]).
  • glow.temperature: Set the LLM temperature (0.0 to 2.0).
  • glow.openaiBaseUrl: Custom endpoint URL for OpenAI.
  • glow.anthropicBaseUrl: Custom endpoint URL for Anthropic.
  • glow.googleBaseUrl: Custom endpoint URL for Google Gemini.
  • glow.openrouterBaseUrl: Custom endpoint URL for OpenRouter.
  • glow.ollamaBaseUrl: Custom endpoint URL for Ollama.

Support & Contact


License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.


Dream it, Pixel it ✨
Made with 💖 by Pink Pixel

About

A lightweight, zero-dependency VS Code extension that generates clean Git commit messages from staged diffs and local workspace context using OpenAI, Anthropic, Gemini, OpenRouter, and Ollama.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors