Your commits. Their personality.
Quackie is a VS Code extension that rewrites your Git commit messages through 22 bundled personas — dry seniors, sarcastic ducks, grim doomers, wise wizards, and more. Install once. Works in any repo.
Install once. Pick a persona. Type fix validation — get 🐄 fix: convince validation some manners
Commits are boring. Yours don't have to be.
You write "fix bug" or "update stuff". Your git log reads like a hospital intake form. You want personality without losing professionalism.
Personas are data, not hardcoded prompts in the extension. Each persona has voice, humor style, verbs, and rules. The extension only orchestrates — detect, select, rewrite, replace.
Same meaning. Better voice. One emoji. Max 72 characters. Your team might actually read the changelog.
Four steps. Zero friction.
Install Quackie
VSIX or Extension Development Host. Personas ship bundled — no config files in your repo.
Pick a persona
Click the status bar pill (🦆 Duck, 🐄 Moo, 🦉 Owl…) or use Command Palette: Quackie: Select Persona.
Type your commit
Write a normal draft: feat: add payment retry
Quackie rewrites
After ~500ms debounce, your commit input updates automatically. You stay in flow.
Quackie won't fight you — manually edit a generated commit and it stays frozen until you're ready for the next rewrite.
22 personas. One extension.
Each persona ships with metadata and a system prompt. The extension only knows id, name, and emoji — everything else stays in persona data.
Built for developers who live in Git
Auto-rewrite as you type
Polls Git input, debounces 500ms, replaces in place. No popup, no copy-paste.
Status bar persona picker
Always visible: 🐄 Moo. One click → QuickPick with all personas.
Loop prevention
Internal isUpdating guard — no infinite rewrite spiral.
User-respect freeze
Edit a generated commit manually? Quackie backs off until the next cycle.
Bundled personas
22 personalities included. No personas/ folder in your project.
Pluggable rewrite engine
RewriteService interface — swap mock for real LLM backend when ready.
Multi-repo support
Works across multiple Git repositories in one workspace.
Conventional Commits
Meaning preserved. Format respected. Max 72 characters.
Personality-first by design
The extension knows as little as possible about personalities. Personas are data.
Execution flow
rewrite({
persona: "moo",
type: "commit",
text: "fix validation"
})
// → "🐄 fix: convince validation some manners"
Get Quackie
Two ways to install. Both take under two minutes.
# Build from source
cd extension
npm install
npm run package
npx @vscode/vsce package
Then: Cmd+Shift+P → Extensions: Install from VSIX... → reload window.
vscode.git)Configurable, sensible defaults
quackie.persona""quackie.autoRewritetruequackie.debounceMs500quackie.enabledTargets["commit"]Commits are just the beginning
MVP — current release
Replace mock rewrite service
Persona voice for PR body
Persona-flavored review threads
Auto-generated, persona-voiced
Persona-aware branch names
Public release