Skip to content

Quickstart

Get up and running with ComfyDock in 5 minutes. By the end, you'll have created an environment, added custom nodes, and understand the basics of version control for your ComfyUI workflows.

Before you begin

Make sure you have:

  • ComfyDock installed — Installation guide
  • A terminal or command prompt open
  • Internet connection for downloading dependencies

Step 1: Initialize your workspace

Create a ComfyDock workspace:

cfd init

This creates ~/comfydock/ with the following structure:

~/comfydock/
├── environments/          # Your ComfyUI environments
├── models/                # Shared models directory
└── .metadata/             # Workspace configuration

Custom workspace location

Use a different path: cfd init /path/to/workspace

Step 2: Create your first environment

Create an isolated ComfyUI environment:

cfd create my-project --use

This will:

  1. Create a new environment called my-project
  2. Download and install ComfyUI
  3. Install PyTorch with GPU support (auto-detected)
  4. Set it as your active environment
  5. Take 2-5 minutes depending on your internet speed

What's happening?

ComfyDock is creating an isolated Python environment with UV, downloading ComfyUI from GitHub, and installing dependencies. The --use flag makes this your active environment.

What you'll see:

🚀 Creating environment: my-project
   This will download PyTorch and dependencies (may take a few minutes)...

✓ Environment created: my-project
✓ Active environment set to: my-project

Next steps:
  • Run ComfyUI: cfd run
  • Add nodes: cfd node add <node-name>

Step 3: Run ComfyUI

Start ComfyUI in your environment:

cfd run

ComfyUI opens at http://localhost:8188

Run in background

cfd run &

Or use screen/tmux to keep it running:

screen -S comfy
cfd run
# Detach with Ctrl+A, D

Step 4: Check environment status

Open a new terminal and check your environment's status:

cfd status

Output:

Environment: my-project ✓

✓ No workflows
✓ No uncommitted changes

Step 5: Add custom nodes

Let's add a custom node from the ComfyUI registry:

cfd node add comfyui-depthflow-nodes

This will:

  1. Look up the node in the ComfyUI registry
  2. Clone the repository to custom_nodes/
  3. Install Python dependencies
  4. Update pyproject.toml

Adding nodes from GitHub

# Add by GitHub URL
cfd node add https://github.com/akatz-ai/ComfyUI-AKatz-Nodes

# Add specific version/branch
cfd node add comfyui-depthflow-nodes@main

Avoid ComfyUI-Manager

ComfyDock replaces ComfyUI-Manager's functionality. Don't install comfyui-manager - use cfd node add instead.

Try adding more nodes:

# Popular nodes to try
cfd node add comfyui-impact-pack
cfd node add comfyui-controlnet-aux

Step 6: Commit your changes

Save your environment's current state:

cfd commit -m "Added depthflow nodes"

This creates a git commit in the .cec/ directory tracking:

  • Custom nodes and their versions
  • Python dependencies
  • Model references
  • Workflow files

Check your commit history:

cfd commit log

Output:

Version history for environment 'my-project':

v1: Added depthflow nodes

Use 'cfd rollback <version>' to restore to a specific version

Verbose mode

cfd commit log --verbose

Shows timestamps and full commit hashes.

Step 7: Experiment safely

Let's add another node and see how rollback works:

# Add a test node
cfd node add comfyui-video-helper-suite

# Check status
cfd status

Now roll back to remove that change:

cfd rollback v1

Your environment reverts to the state from your first commit—comfyui-video-helper-suite is removed automatically.

Discard uncommitted changes

# Discard all changes since last commit
cfd rollback

Step 8: Load a workflow

Let's resolve dependencies for a workflow. Download a sample workflow JSON file, then:

# Move workflow to ComfyUI/user/default/workflows/
cp /path/to/workflow.json ~/comfydock/environments/my-project/ComfyUI/user/default/workflows/

# Resolve dependencies
cfd workflow resolve workflow.json

ComfyDock will:

  1. Analyze the workflow JSON
  2. Identify required nodes
  3. Prompt you to install missing nodes
  4. Find required models
  5. Suggest download sources

Auto-install mode

cfd workflow resolve workflow.json --install

Automatically installs all missing nodes without prompting.

Common workflows

Now that you have the basics, here are some common tasks:

Switch between environments

# Create another environment
cfd create testing --use

# List all environments
cfd list

# Switch back to my-project
cfd use my-project

Update a custom node

# Update to latest version
cfd node update comfyui-depthflow-nodes

# View installed nodes
cfd node list

Add Python dependencies

# Add a package
cfd py add requests

# Add from requirements.txt
cfd py add -r requirements.txt

# List installed packages
cfd py list

Export your environment

Share your environment with others:

cfd export my-workflow-pack.tar.gz

This creates a tarball containing:

  • Node metadata and versions
  • Model download URLs
  • Python dependencies
  • Workflow files

Import on another machine:

cfd import my-workflow-pack.tar.gz --name imported-env

Essential commands

Here are the most important commands for daily use:

Command What it does Example
cfd create Create new environment cfd create prod --use
cfd use Switch active environment cfd use testing
cfd list List all environments cfd list
cfd run Start ComfyUI cfd run
cfd status Show environment status cfd status
cfd node add Add custom node cfd node add comfyui-depthflow-nodes
cfd commit Save current state cfd commit -m "message"
cfd rollback Revert to previous state cfd rollback v1
cfd export Export environment cfd export my-pack.tar.gz
cfd import Import environment cfd import my-pack.tar.gz

See the CLI reference for a complete list of commands.

Pro tips for beginners

Use tab completion

Install shell completion for faster typing:

cfd completion install

Then use Tab to autocomplete environment names, node names, and commands.

Check logs when things fail

cfd logs -n 50

Shows the last 50 log lines for debugging.

Start with a clean environment

Don't add too many nodes at once. Start minimal, add what you need, commit often.

Use descriptive commit messages

cfd commit -m "Added IPAdapter for style transfer"

Makes it easy to find specific versions later.

Specify PyTorch backend manually

# For NVIDIA GPUs
cfd create gpu-env --torch-backend cu128

# For AMD GPUs
cfd create amd-env --torch-backend rocm6.3

# For CPU only
cfd create cpu-env --torch-backend cpu

What's next?

Now that you've learned the basics, explore more advanced features:

Getting help

  • In your terminal: Run cfd --help or cfd <command> --help
  • Documentation: You're here! Browse other guides
  • Issues: Report bugs on GitHub Issues
  • Discussions: Ask questions on GitHub Discussions