Git for your ComfyUI environments β version control, package management, and reproducible sharing.
Status: Early release, actively developed. Feedback welcome via GitHub Issues or Discord.
- π Isolated environments β test new nodes without breaking production
- π¦ Git-based versioning β commit changes, rollback when things break
- π One-command sharing β export/import complete working environments
- πΎ Smart model management β shared model directory and content-oriented index
- π§ Standard tooling β built on UV and pyproject.toml, works with Python ecosystem
- π₯οΈ Cross-platform β Windows, Linux, macOS
Note
For a visual UI inside ComfyUI, check out ComfyGit Manager
ComfyUI Manager helps you browse, install, and update custom nodes in a single shared ComfyUI setup. ComfyGit focuses on isolated, version-controlled environments you can reproduce and share anywhere.
- ComfyUI Manager: manage nodes in-place (one environment)
- ComfyGit: create per-project environments with commits, branches, rollback, export/import
# With UV (recommended)
uv tool install comfygit
# Or with pip
pip install comfygitNeed UV? See UV installation.
The monorepo root is a uv workspace. Install its matched packages with
uv sync --frozen --all-packages, then run uv run --frozen --package comfygit cg ....
To expose the checkout as your user-installed CLI, run from the root:
uv tool install --force --editable ./packages/cli \
--with-editable ./packages/core \
--with-editable ./packages/studio-runtimeRerun this command after dependency changes: editable source updates do not
refresh installed dependencies automatically. See the bundled skill's
installation troubleshooting for
keyring and headless-host distinctions. Release-wheel dependency checks run
with uv run python dev/scripts/check-package-install.py --python 3.10.
The reusable ComfyGit skill covers environment/version
comparisons, shared models, node development and workflow validation with
progressively loaded references. Copy skills/comfygit into your agent's skill
directory (for Codex, ~/.codex/skills/comfygit), or symlink it to this checkout
to follow local updates. Review an existing installed skill before replacing it.
Other agents can read SKILL.md directly. The skill is generic; configure local
workspace/model paths in your own agent instructions.
$ cg init
Initialized ComfyGit workspace at ~/comfygit
$ cg create my-project --use
Created environment 'my-project'
Active environment: my-project
$ cg node add comfyui-impact-pack
Resolving comfyui-impact-pack...
Installing ComfyUI-Impact-Pack from registry
+ comfyui-impact-pack@1.2.3
$ cg commit -m "Initial setup with Impact Pack"
[main a28f333] Initial setup with Impact Pack
1 file changed, 15 insertions(+)
$ cg -e my-project run
Starting ComfyUI at http://localhost:8188ComfyGit creates new, isolated ComfyUI environments inside your ComfyGit workspace. Your existing ComfyUI install (and anything in it) is untouched.
Models are stored once and symlinked into environments, so you can share the same model library across projects without duplicating storage.
Initial download size depends on the selected PyTorch backend and custom nodes; GPU packages alone can require several gigabytes. uv caches can reuse package artifacts, while each environment keeps its own mutable runtime.
See the documentation for more examples including version control workflows, sharing environments, and team collaboration.
Full documentation at docs.comfygit.org including:
- How It Works β architecture and design
- Model Management β content-addressable indexing
- Sharing Environments β export/import and git remotes
cg create <name> # Create new environment
cg list # List all environments
cg use <name> # Set active environment
cg status # Show environment state
cg run # Run ComfyUIcg node add <id> # Add from registry
cg node add <github-url> # Add from GitHub
cg node remove <id> # Remove node
cg node list # List installed nodescg commit -m "message" # Save snapshot
cg log # View history
cg revert <commit> # Undo a commit
cg checkout <commit> # Explore old statecg export <file.tar.gz> # Export environment
cg import <file.tar.gz> # Import environment
cg push / cg pull # Sync with git remoteContributions welcome! See CONTRIBUTING.md for details.
- GitHub Issues β bugs and features
- GitHub Discussions β questions and ideas
- Discord β community chat
ComfyGit is licensed under GPL-3.0.