mirror of
https://github.com/Comfy-Org/cookiecutter-comfy-extension.git
synced 2026-11-04 23:47:39 +00:00
A cookiecutter template for writing a ComfyUI custom node extension
- Python 99.9%
|
|
||
|---|---|---|
| .github | ||
| hooks | ||
| tests | ||
| {{cookiecutter.project_slug}} | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| cookiecutter.json | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
cookiecutter-comfy-extension
Get started writing custom nodes in one step without setting up a ton of Python project config.
An opinionated way to develop ComfyUI custom nodes. Uses cookiecutter to scaffold a python project.
This template helps you
Usage
-
First install
cookiecutter:# pipx is strongly recommended pipx install cookiecutter # if pipx is not an option, you can install cookiecutter in your Python user directory. python -m pip install --user cookiecutter -
Run
cookiecutterwith this template:# if you installed cookiecutter with pipx pipx run cookiecutter gh:comfy-org/cookiecutter-comfy-extension # if you installed cookiecutter with pip cookiecutter gh:comfy-org/cookiecutter-comfy-extension # initialize git repo in your new project cd <your-project-name> git init -
Run
cookiecutterwith this as local template:git clone https://github.com/Comfy-Org/cookiecutter-comfy-extension cd cookiecutter-comfy-extension git submodule update --init --recursive cookiecutter .
Features
The resulting ComfyUI node extension project will automatically come with a few neat features:
- Support for Ruff linter and various recommended rules
- A pre-commit hook for the Ruff linter
- An optional
webdirectory if your extension will include custom javascript- If selected,
webwill also be added to the project'sMANIFEST.into ensure that any non-python code inwebwill also be correctly installed
- If selected,
- Testing via PyTest (check the
tests/directory) - A Github Action that will automatically run any unit tests as part of Pull Requests made against your project
- A Github Action to diff your changes for backwards incompatible changes: (node-diff)[https://github.com/Comfy-Org/node-diff]
- A Github Action to publish to the Comfy Registry