README.md

June 2, 2026 · View on GitHub

ComfyGit Header
⭐ ⭐ ⭐   Ratatui-powered Git workflow automation with custom CLI   ⭐ ⭐ ⭐

inc.

Built-in Multi-Project Management       |       Release Manager       |       Automatic Version Bumper       |       Advanced Changelog Generator

GitHub Release      License: SA-PS      Rust 2024 Edition

A word from the developer...
Hi all 👋
I'm Tom, lead developer here at ComfyHome — also known as “the guy who keeps accidentally starting new projects”.

We’ve got a bunch of exciting things coming later in 2026 / early 2027, but before all that… let’s introduce ComfyGit.

Before I dive into the technical wizardry, let me tell you how this whole thing accidentally happened.

It all started with a friendly chat with two newbie developer friends. They asked me what I use for project management and versioning — you know, normal questions. Unfortunately, my answer was… “Uh… a weird little custom mini‑app I hardcoded years ago and never spoke of again.” Not exactly shareable. So I told them, “Maybe I’ll look into it one day.”

Fast‑forward a couple of weeks: I needed a break from our main project, so I thought, “Hey, I’ll just port that mini‑app. Two or three days, tops.” Yeah. Two to three days. You already know where this is going 🤦‍♂️ Another rabbit hole. A deep one.

Step one was research. As always. To my surprise, I couldn’t find anything even remotely close to what our mini‑app did. Ideally, I’d just send my friends a couple of links and call it a day. But no. The universe said: “Build it yourself.”

So here we are — roughly 600 work‑hours later (June 2026) — and I’m releasing ComfyGit v0.36 as a Public Release Beta.

As far as I’m concerned, ComfyGit is a unique tool. I’m pretty sure some of its features don’t exist anywhere else — and there’s plenty more coming. Out of all, I'll mention cg cd <alias>. A very simple feature that completely changed my workflow.

Use just the bits you need, or adopt it as a full workflow companion. Totally your call.

Honestly… I really hope that now that I’m releasing it, nobody shows up saying, “Hey bro, you suck at research — here’s a tool that already does it all.” If that happens, I’ll simply pretend I didn’t see the message and go lie face‑down on the nearest carpet for a bit.

There are definitely still some kinks to iron out in ComfyGit, so if you’ve got feedback, I’d love to hear it. I promise, I'll look into any meaningful feedback...

Feature‑wise, ComfyGit is now about 66% of what I want it to be for v1.0 — which means a lot has been done, but there is still a lot to do either!

Enjoy!


👀 What's new in v0.35.20 ...

💥 💥 💥 This Release's Top Picks ... 💥 💥 💥

1.    v0.35.3: ComfyGitFlow declaration

2.    v0.35.3: New "Git" tab in Project Settings

  • first entry: merge branch deletion setup

3.    c0.35.4-7: Bugfixes and enhancements

  • Discovered and fixed issues within GitLab merging flow

4.    v.0.35.8: Auto-detection enhancements (cg init / wizard)

  • Added to root manifest candidates:
    • settings.gradle / settings.gradle.kts → Gradle (version)
    • GNUmakefile → Makefile (VERSION)
  • Also added settings.gradle* to nested workspace detection (monorepos).
  • Source-embedded versions
  • New target formats:
    • python_version__version__ = "x.y.z" in .py files
    • c_define#define VERSION "x.y.z" in headers/sources
  • Auto-detected when the file exists and contains a readable version:
    • Root: __init__.py, version.py, _version.py, version.h
    • src/<package>/__init__.py (one level under src/)
  • Usage notes
    • For Python, key path should be __version__ (or leave default from init).
    • For C/C++, key path should be VERSION (or another macro name like PROJECT_VERSION if you configure it manually).
    • settings.gradle / GNUmakefile use the same parsers as build.gradle / Makefile (already supported in target_custom.rs).

5.    Misc:

  • v0.35.9-11:
    • tabs within TUI were upgraded to use ratatui-comfy-tabs crate from crates.io
    • bugfixes to "branch verifications" and "target change" during cg br end/cg branch end
    • bugfixes to PATCH branch creation from MAIN branch
  • v0.35.12: Top Picks Editor enhacements:
    • TPE now supports mouse wheel scroll
    • TPE now accepts 4(as before) and 2(new) space indentation
  • v0.35.14: Improvements to cg sync
    • applies only to "GitLab+GitHub" project type
    • in Project Settings/Git now user can change two behaviours:
      • manual or external sync (as it was before this version)
      • automatic sync after each merge
  • v0.35.15-20:
    • fixed nesting in Top Picks Editor
    • implemented new ratatui-comfy-tabs features
    • TUI now can use both, ABSOLUTE and RELATIVE paths!
    • bugfix: mouse pane focus

... 🎉 Enjoy!



👀 See previous changes...
v0-34-3 ...

1.    v0.32.x: From now on, ComfyGit supports GitLab!

2.    v0.33.1-8: Follows up and fixes many bugs introduced by GitLab implementation

3.    v0.33.9: Focuses on developers who use GitHub action for macOS releases

  • For those who develop on Linux/Win machines, this is a big leap
  • ComfyGit now can manage releasing via GH actions for macOS artifacts (GitHub-Enabled projects)

4.    v0.33.10: Introduced HELP modal in TUI

  • you can use ? keyboard anywhere within TUI
  • it brings up a help modal based on your position
  • NOTE: help pages will evolve, and will contain more info. They are in public-beta stage now

5.    v0.34.x: Brings the following:

  • multi-remote sync during ReleaseNOW pre-flight check if remotes are out-of-sync
  • multiple bugfixes to bug introduced since the last release
  • new project integration mode "GitLab+GitHub"!
    • ComfyGit now fully support projects with two remotes (Lab+Hub)
    • Extremely useful for those who use mainly GL, but use also GL as a mirror
    • ReleaseNOW flow now can create releases for both platforms at the same time!
    • ReleaseNOW also supports macOS artifact processing from GitHub Actions, so they are pushed to GitLab within the same flow!

... 🎉 Enjoy!


v0-30-7 ...

1.    Added support for most mainstream programming languages / eco-systems.

... 🎉 Enjoy!


v0-29-5 ...

1.    Advanced Alias Functionality!

  • Must be enabled in Project Settings/General
  • Allows cg cd command to cd into more than just a project root
  • For instance, for broject with alias cg you can define:
    • dist folder path as {PROJECT_ROOT}/dist/latest/linux/amd64 ==> then you can perform cg cd cg dist from anywhere to get in instantly!
  • Has pre-defined two sub-aliases: dist and ui
  • Allows creation of custom sub-aliases!
  • They are now in a dedicated "Changelogs" tab within Project Settings

3.    Project TILE visual change

  • The first info line ("commits ahead since release") got its icon removed
  • Now the label displays as "Tag ==>> HEAD:"
  • Reasoning:
    • Some terminals as kitty and konsole were having trouble rendering the tag (🏷)️ icon
    • Only terminals with a full GPU engine were reliable
    • The easiest and most reliable fix was to simplify the line

... 🎉 Enjoy!


v0-28-4 ...

1.    Ability to inject historical Top Picks/changelogs into README!

2.    Ability to inject only Top Picks (no changelogs)

3.    Changes default folder of historical changelogs to .changelogs/history

  • This has been done to declutter the .changelogs folder, so user does not need to scroll down on GitHub page to see README.md summarizing changelog within .changelogs folder

... 🎉 Enjoy!




... ✨ auto-injected by ComfyGit       |       For detailed changelog CLICK HERE



📜 Table of Contents

Table of Contents


Important


PREREQUISITES:

ComfyGit expects you...

  • ...are using a modern terminal app, e.g. ptyxis, konsole, kitty, pwsh, etc (or a built-in terminal in VSCode and similar IDE)
  • ...have git installed and configured
  • ...have the forge CLI for your host when using remote workflows: gh (GitHub) and/or glab (GitLab)

NOTE: There are no other requirements beyond git and the relevant CLI for your forge — no extra scripts, host-specific CI settings, or tokens managed by ComfyGit.

Overview

ComfyGit is a powerful Terminal User Interface (TUI) and CLI tool designed to streamline Git workflows, automate version management, and generate beautiful changelogs. Built with Ratatui in Rust, it provides an intuitive visual interface while maintaining full CLI accessibility.

Whether you're managing a simple single-package project or a complex multi-scope monorepo, ComfyGit adapts to your workflow with flexible project configurations and intelligent automation.

Note

ComfyGit supports 20+ version manifest formats across Rust, Node/TypeScript, Python, Go, Java, .NET, mobile, and many others.
See the WIKI: Supported languages & version files for the full list, key paths, and limitations.
Want another ecosystem? Request it here.


Features

🎯 Core Capabilities

  • 🖥️ Interactive TUI — Beautiful terminal interface with mouse support, keyboard navigation, and real-time previews
  • 📦 Version Management — Automated SemVer/CalVer bumping with updates to JSON, TOML, YAML, XML, Gradle, CMake, go.mod, mix.exs, Package.swift, Cabal, and more (see supported manifests)
  • 🌳 Smart Branching — Visual branch trees, parent/child navigation, and guided merge workflows
  • 📝 Changelog Generation — Multiple formats: Standard, ReleaseNOW (with QuickDownloads), and Top Picks
  • 🔧 GitHub & GitLab Integration — PR/MR creation, merge management, and release automation via gh or glab

🚀 Advanced Features

  • Multi-Scope Projects — Manage branched projects with different version schemes per scope
  • Shell Integrationcg cd <alias> command to jump to any project from anywhere
  • Advanced Alias — Optional sub-aliases (e.g. cg cd myapp dist) for paths beyond the project root; enable in Project Settings → General
  • cg init — Register a new project from the CLI with automatic manifest detection
  • Commit Management — Rename and safely delete commits with revert automation
  • Variator Storage — Custom key-value storage per project for automation scripts
  • ReleaseNOW — Generate release-ready changelogs with QuickDownloads integration
  • Top Picks — Highlight significant improvements in a dedicated release summary section
  • Top Picks Editor — Edit Top Picks in the TUI (P); edits persist until the next release
  • README auto-injection — Inject expandable “What’s new” blocks into README.md (Top Picks only, historical releases, nested previous changes)

🌍 Multi-Language Version Targets (v0.30+)

ComfyGit can read, bump, and auto-detect version fields in many ecosystems. Highlights:

CategoryExamples
Structured configCargo.toml, package.json, composer.json, deno.json, pyproject.toml, package.yaml, pubspec.yaml, shard.yml, pom.xml, *.csproj
DSL / build scriptsgo.mod, build.gradle(.kts), build.sbt, mix.exs, Package.swift, project.clj, configure.ac, meson.build
Native formatsDESCRIPTION (R), *.cabal, Gemfile / *.gemspec, CMakeLists.txt, Makefile, Makefile.PL, MODULE.bazel, *.plist, *.nimble, *.rockspec, META.json
UniversalVERSION / plain version files

Run cg init in a repo root to scan for manifests (including common monorepo paths like electron/package.json and packages/*/package.json). Use format: auto or pick a specific format in project settings. Full reference: wiki/supported-lang-and-ver-files.md.

Tip

Make sure to visit ComfyGit's WIKI

We’re rolling out lots of deep‑info educational CG usage scenarios with full step‑by‑step breakdowns — and some are already live!


Installation

Note

ComfyGit will be soon available via Distro channels like flatpak and similar.

To be announced when it happens...

  1. Download the latest installation package from GitHub Releases
  2. Install via apt, dnf, or whatever applies to your OS.

Windows

  1. Just download the MSI from GitHub Releases
  2. Double-click to install
  3. Done

Alternatively via CLI

RPM (Fedora, SUSE, etc.)

Example video

# Download (replace <> with actual version, OS, and architecture)
wget https://github.com/comfy-home/ComfyGit/releases/latest/download/ComfyGit-<version>-<OS>-<architecture>.rpm
sudo dnf install ./ComfyGit-<version>-<OS>-<architecture>.rpm

DEB (Ubuntu, Debian, etc.)

# Download (replace <> with actual version, OS, and architecture)
wget https://github.com/comfy-home/ComfyGit/releases/latest/download/ComfyGit-<version>-<OS>-<architecture>.deb
sudo apt install ./ComfyGit-<version>-<OS>-<architecture>.deb

AppImage

Warning

Unlike deb, rpm, or msi, AppImage requires a manual shell integration installation.

I think all devs understand why...

# Download (replace <> with actual version, OS, and architecture)
wget https://github.com/comfy-home/ComfyGit/releases/latest/download/ComfyGit-<version>-<OS>-<architecture>.AppImage
chmod +x ComfyGit-<version>-<OS>-<architecture>.AppImage

# Install shell integration
./ComfyGit-<version>-<OS>-<architecture>.AppImage install-shell

# Or run directly (just to verify install)
./ComfyGit-<version>-<OS>-<architecture>.AppImage

Cargo Install

cargo install --git https://github.com/comfy-home/ComfyGit

# Install shell integration
ComfyGit install-shell

Shell Integration

Shell integration enables the cg command and the powerful cg cd <alias> feature:

# Install for current user
ComfyGit install-shell

# Uninstall
ComfyGit uninstall-shell

Supported shells:

  • Bash
  • Zsh
  • Fish
  • PowerShell (pwsh)

After installation, open a new shell session or run:

source ~/.config/comfygit/cg.sh  # bash/zsh

Update

  • Simply download the new installation package and reinstall

Note

Auto-update feature to be implemented very soon!


Quick Start

1. Launch the TUI

cg
# or
comfygit

2. Add Your First Project

From the CLI (in your repository root):

cg init

ComfyGit scans for common version manifests (Cargo.toml, package.json, go.mod, pyproject.toml, and many more) and walks you through setup.

From the TUI:

  1. Navigate to Projects tab
  2. Press n or click New Project
  3. Follow the wizard to configure your project
  1. Select your project → Project SettingsGeneral
  2. Set an Alias (e.g., "myapp")
  3. Now you can use: cg cd myapp

4. Basic Version Bump

cd /path/to/your/project
cg bmp minor

# or if you already configure your alias:
cg cd <alias>
cg bmp .. #`..` is synonym for minor

5. Generate Changelog

In the TUI Overview, select your project and press C to Generate Changelog or use the ReleaseNOW workflow via RLS tile button or R shortcut.


CLI Reference

General Commands

CommandDescription
cg / comfygitLaunch interactive TUI
cg initRegister the current directory as a ComfyGit project (detects version manifests)
cg -v / --versionShow version and GitHub update status
cg pwd <alias>Print configured project root path
cg pwd -allPrint all configured repo roots
cg cd <alias>Change directory to project root (requires shell integration)
cg cd <alias> <sub>Jump to a configured advanced sub-alias path (e.g. cg cd myapp dist)
cg install-shellInstall bash/zsh/fish/pwsh integration
cg uninstall-shellRemove shell integration
cg v <alias>Show project version, last bump, and release info

Branching Commands

CommandDescription
cg branchShow current branch and compact branch tree
cg branch up / cg branch ..Switch to parent branch
cg branch main / cg branch ~Switch to main/master/custom main
cg branch doneCreate PR, merge it, switch to target, and sync
cg branch cdInteractively choose and switch to a recent branch
cg prGenerate PR title/body for current branch
cg pr --mainGenerate PR against main/master
cg mergeInteractively merge an open PR
cg merge #67Merge PR #67 directly
cg rerootMerge selected source branch into current non-main branch
cg reroot rebaseRebase current branch onto selected source

Version Bumping

CommandDescription
cg bmp major / cg bmp .Bump major version
cg bmp minor / cg bmp ..Bump minor version
cg bmp patch / cg bmp ...Bump patch version
cg bmp autoAuto-determine bump type from commits
cg bmp calBump using CalVer scheme

With Options:

cg bmp <action> <option>Description
1Just bump version
2Bump & Commit (local)
3Bump & Commit & Push
4Branch & Bump & Commit (prompts for branch)
5Branch & Bump & Commit & Push

Commit Management

CommandDescription
cg commit del <hash>Safely revert and push a published commit
cg commit rename <target>Rename commit (hash or HEAD offset)

Aliases:

  • commit: cmt, com, ct
  • del: rm, rem, delete, drop, erase
  • rename: rn, rnm, reword, rwrd, rwd

TUI Overview

Dashboard

The main dashboard provides an overview of all configured projects with:

  • Project tiles showing version, scheme, and status
  • Quick actions via keyboard shortcuts or mouse
  • Branch trees for complex projects
  • Changelog preview integration

Key Shortcuts:

  • / or j/k — Navigate projects/scopes
  • Tab — Cycle through tabs (Overview, Projects, Settings)
  • Enter — Activate selected item
  • q — Quit
  • ? — Help

Project Settings

Access via ProjectsProject Settings (or press i on a project).

General Tab

  • Alias — Short name for cg cd <alias>
  • Advanced alias — Optional sub-aliases (dist, ui, or custom paths) for cg cd <alias> <sub>
  • Custom Main Branch — Override default main branch name

Changelogs Tab

  • Standard / ReleaseNOW changelog options
  • README injection — enable row, historical depth, inject Top Picks only
  • Wrap detailed changelog when Top Picks are present
  • Changelog Settings — Enable/configure changelog generation
  • Mini Commit Hashes — Compact hash display in changelogs

Distro Tab

  • ReleaseNOW — Enable release automation scripts per platform
  • Configure Windows, Linux ARM, Linux AMD, and macOS release scripts

RlsQd Tab (Release QuickDownloads)

  • Enable QuickDownloads integration
  • Position (Top/Bottom) and footer message customization

Branch Workflows

ComfyGit provides guided workflows for common branching operations:

  1. New Branch (n) — Create feature branch with optional bump
  2. Commit & Push (p) — Commit changes and push to remote
  3. Pull Request — Create PR with generated title/body
  4. Merge — Merge PR with upstream sync
  5. Done — Complete workflow: PR → Merge → Switch → Sync

Project Configuration

Project Types

All-in-One

Single codebase with unified versioning. Ideal for:

  • Single-package projects
  • Simple applications
  • Libraries with one version source

Configuration:

project_type = "all_in_one"
version_scheme = "SemVer"
targets = [{ path = "Cargo.toml", key_path = "package.version", format = "Toml" }]

Branched

Multi-scope projects with independent versioning per branch. Ideal for:

  • Monorepos with multiple services
  • Projects with separate frontend/backend versions
  • Microservices with independent release cycles

Configuration:

project_type = "branched"
unified_versioning = false  # or true for shared version

[[branches]]
name = "core"
label = "Core"
scope_kind = "Module"  # or "Branch", "Service"
version_scheme = "SemVer"
changelog_enabled = true
changelog_path = "CHANGELOG.md"

Version Schemes

SchemeDescriptionExample
SemVerSemantic Versioning (MAJOR.MINOR.PATCH)1.2.31.3.0 (minor bump)
CalVerCalendar Versioning (YYYY.MM.MICRO)2026.05.12026.05.2

CalVer Variants:

  • YYYY.MM.MICRO — Year, Month, Micro
  • YYYY.0M.0D — Year, Zero-padded Month, Day
  • YYYY.MM.MINOR.MICRO — Hybrid with minor/micro

Changelog Settings

[changelog]
enabled = true
file_path = "CHANGELOG.md"
hide_pr_messages = false
hide_bump_messages = false
mini_commit_hashes = false

Changelog Features

ComfyGit supports multiple changelog formats with different use cases:

Standard Changelog

Generated from conventional commits with categorized sections:

## Changelog `v1.2.0` <sup><div align="end">🗓️ 2026-05-11</div></sup>

### 🧩 Features
* Added user authentication _(#a1b2c3d)_
* Implemented dark mode _(#e4f5g6h)_

### 🐛 Fix(es)
* Resolved memory leak in parser _(#i7j8k9l)_

---
... ✨ made with [ComfyGit](https://github.com/comfy-home/ComfyGit)

Commit Categories:

  • feat: / ft: → 🧩 Features
  • fix: / bf: → 🐛 Fix(es)
  • enh: / imp: → 💎 Enhancements
  • docs: / dox: → ℹ️ Documentation
  • ui: / gui: → 📱 UI Changes
  • style: / vis: → 🎨 Visuals
  • ref: / refactor: → ♻️ Refactor
  • perf: / opt: → 🚀 Performance
  • test: / tst: → 🧪 Tests
  • chore: / dep: → 🔧 Maintenance
  • build: / rls: → 📦 Build
  • broken: / brk: → ⛓️‍💥 Not Working Yet

Special Prefixes:

  • ! — Breaking change (appears in 💥 Breaking Changes section)
  • @ — New feature announcement (appears before categories)
  • @. — Dotted new announcement (higher priority)
  • ~ — Ignored (excluded from changelog)

ReleaseNOW Changelog

Extended changelog format for GitHub releases with optional QuickDownloads integration.

Features:

  • Previous public release reference
  • QuickDownloads section (Top or Bottom position)
  • Footer customization
  • Markdown formatting optimized for GitHub

Top Picks

A dedicated section for highlighting the most significant improvements in a release.

Top Picks Editor (TUI): Press P on the dashboard to open the editor. Define headers and bullets in a simple markdown-like format; saves to .comfygit/mem/.tp_edits.md until the next ReleaseNOW run. The editor seeds from unreleased top commits since the last public release (not stale picks from older releases).

Syntax in commit messages:

# Priority 1-20 (top1 = highest position)
git commit -m "top3: *Included bugfix you've been waiting for... **Sorts these on Linux: ***Failed autostart"

# Without priority (appears after prioritized items, sorted alphabetically)
git commit -m "feat: New feature; top: *Another important improvement"

Formatting Rules:

  • * — Header (required)
  • ** — First-level bullet
  • *** — Second-level bullet (nested)

Example Output:

### 💥 💥 💥 This Release's Top Picks ...  💥 💥 💥

#### **1.    Included bugfix you all have been waiting for...**
- Sorts these on Linux:
    - Failed autostart
    - Bad render
- Sorts this on macOS
    - Failed autostart

#### **2.    This is the third big improvement**

<sub>...  🎉 Enjoy!</sub>

<br>

Important: Top Picks configuration commits don't appear in the standard changelog—only in the Top Picks section.

README “What’s new” injection

Optional ReleaseNOW step that injects a collapsible HTML <details> block into README.md (configure row, depth, and Top-Picks-only mode in Project Settings → Changelogs).

  • Injects current release Top Picks and/or changelog content
  • Can embed previous releases in a nested “See previous changes” section
  • Replaces older ComfyGit auto-injected blocks so duplicate “What’s new” sections do not accumulate
  • Commits and pushes the updated README when ReleaseNOW completes

Branching Workflows

Branch Tree Visualization

ComfyGit displays your branch structure visually:

main ─┬─ feature/auth ─┬─ feature/oauth
      │                └─ feature/2fa
      ├─ feature/api
      └─ fix/memory-leak

Workflow: Start New Feature

  1. Create Branch:

    cg new
    # or in TUI: press 'n'
    
  2. Make Changes & Commit:

    # edit files...
    cg commit  # or use your regular git workflow
    
  3. Create PR:

    cg pr
    
  4. Complete (Merge & Cleanup):

    cg branch done
    

Syncing with Parent

# Merge parent into current branch
cg reroot

## or use synonym:

cg rrt

# Or rebase instead

cg reroot rebase

## or use synonym:

cg rrt rbs

Switching Branches

# Interactive branch switcher
cg branch cd

## or use synonym:

cg br cd

# Jump to parent
cg branch up

## or use synonym:

cg br ..

# Jump to main

cg branch main

## or use synonym:

cg br main


Integration Modes

ComfyGit supports different levels of Git integration:

ModeDescriptionUse Case
GitLocalOnlyLocal git operations onlySimple projects, no forge host
GitHubEnabledFull GitHub integration (gh)PRs, merges, releases on github.com
GitLabEnabledFull GitLab integration (glab)MRs, merges, releases on gitlab.com

cg init auto-detects GitHubEnabled or GitLabEnabled from origin when the remote URL points at github.com or gitlab.com.

Configure in Project Settings or directly in config:

integration_mode = "GitHubEnabled"   # or "gitlab_enabled"

Tips & Best Practices

1. Use Aliases for Quick Navigation

Set short, memorable aliases for frequently accessed projects:

  • myapp/home/user/projects/my-application
  • api/home/user/work/api-service

Then jump instantly from anywhere via:

cg cd myapp

2. Conventional Commits for Better Changelogs

Structure commits for automatic categorization:

git commit -m "feat(auth): add OAuth2 provider support"
git commit -m "fix(parser): resolve edge case with nested arrays"
git commit -m "!breaking: change default API response format"

3. Branched Projects for Monorepos

For repositories with multiple independently-versioned components:

project_type = "branched"

[[branches]]
name = "frontend"
label = "Frontend"
version_scheme = "SemVer"

[[branches]]
name = "backend"
label = "Backend API"
version_scheme = "SemVer"

4. Shell Integration for Power Users

Add to your shell profile for enhanced productivity:

# Bash/Zsh: Enable shell integration
eval "$(cg install-shell --print)"

# Fish
source (cg install-shell --print | psub)

5. Variator Storage for Automation

Store commit message definitions, and call them out via simple (!{})

Store custom data for CI/CD scripts:

# Set a value
cg var set deploy-target production

# Retrieve in scripts
DEPLOY_TARGET=$(cg var get deploy-target)

6. Hide Unwanted Commits

Use the ~ prefix for commits that shouldn't appear in changelogs:

git commit -m "~chore: update internal dependencies"

Configuration File

ComfyGit stores configuration in platform-appropriate locations:

PlatformPath
Linux~/.config/comfygit/config.toml
macOS~/Library/Application Support/comfygit/config.toml
Windows%APPDATA%\comfygit\config\config.toml

Example Configuration:

schema_version = 4

[ui]
accent_color = "cyan"
show_mouse_hints = true
show_tab_hints = true

[[projects]]
name = "My Application"
alias = "myapp"
project_type = "all_in_one"
integration_mode = "GitHubEnabled"
version_scheme = "SemVer"

[projects.changelog]
enabled = true
file_path = "CHANGELOG.md"
hide_pr_messages = true
hide_bump_messages = true
mini_commit_hashes = false

[[projects.targets]]
label = "Version"
path = "Cargo.toml"
key_path = "package.version"
format = "Toml"

License

ComfyGit is licensed under the Source-Available - Protected Source License (SA-PS).

  • Free for personal use
  • 💼 Commercial license required for larger teams

See LICENSE.md for full terms.


Support


Made with ❤️ by ComfyHome™