comfyui-node-registry

Solid

Authoring & publishing ComfyUI custom nodes to the Comfy Registry — node structure, pyproject.toml spec, comfy-cli publishing, and CI

AI & Automation 160 stars 30 forks Updated today MIT

Install

View on GitHub

Quality Score: 87/100

Stars 20%
73
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Authoring & Publishing ComfyUI Custom Nodes This skill covers writing a ComfyUI custom node pack and publishing it to the **Comfy Registry** (registry.comfy.org), the public catalog that powers ComfyUI-Manager. For *using* existing nodes in workflows, see the `comfyui-core` skill instead. ## Minimal Node Pack Structure A node pack is a Python package placed under `ComfyUI/custom_nodes/<name>/`. The package `__init__.py` must export `NODE_CLASS_MAPPINGS` and `NODE_DISPLAY_NAME_MAPPINGS`; `WEB_DIRECTORY` is optional (only if the pack ships frontend JS). ``` ComfyUI/custom_nodes/my-node-pack/ ├── __init__.py # exports the mappings ComfyUI scans for ├── nodes.py # node class definitions ├── pyproject.toml # registry metadata (required to publish) ├── requirements.txt # optional Python deps ├── .comfyignore # optional — exclude files from the published archive ├── LICENSE ├── README.md └── web/js/ # optional frontend extension (see WEB_DIRECTORY) ``` ### `__init__.py` ```python from .nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS # Optional: serve frontend JS/CSS from this folder (path relative to __init__.py) WEB_DIRECTORY = "./web/js" __all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] ``` ### A minimal node class (`nodes.py`) ```python class ImageSelector: CATEGORY = "example" # menu path where the node appears @classmethod def INPUT_TYPES(cls): ...

Details

Author
artokun
Repository
artokun/comfyui-mcp
Created
4 months ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Related Skills