Naming your ComfyUI plugin project clearly and consistently is crucial for discoverability, avoiding conflicts, and ensuring users understand what your extension does. Based on the search results and community practices, here's a comprehensive guide to naming conventions: 🏷️ 1. Git Repository Name (GitHub Project Name)
This is the most visible identifier for your project. The standard convention is:
Prefix with ComfyUI- to clearly indicate it's a ComfyUI extension
. Follow with a unique identifier (often your name or organization) and a descriptive name for the functionality . Use hyphens (-) to separate words. Avoid spaces or underscores
.
Format: ComfyUI-[YourIdentifier]-[DescriptiveName]
Examples:
ComfyUI-Manager
ComfyUI-Impact-Pack
ComfyUI-APZmedia-cleanName-from-string
ComfyUI-Custom-Scripts
📂 2. Custom Node Directory Name
The directory name inside ComfyUI's custom_nodes folder should match your Git repository name to avoid confusion
. 🧩 3. Node Category Names
Inside your code, nodes are categorized in the UI menu using the CATEGORY field in your node class
.
Use a consistent prefix (e.g., your identifier) to group your nodes together and prevent conflicts
. Separate subcategories with /
.
Format: [YourIdentifier]/[Subcategory]
Examples:
APZmedia/Naming Tools
🐑 MieNodes/🐑 Caption Tools
image/upscaling (for generic categories)
🧾 4. Node Display Names (UI Names)
These are the human-readable names shown in the node menu. They are defined in NODE_DISPLAY_NAME_MAPPINGS in your init.py
.
Use clear, descriptive names with spaces and proper capitalization (Title Case or PascalCase)
.
Avoid technical jargon where possible.
Examples:
APZmedia Clean File Name Node
Batch Rename Files 🐑
Standard Filename Builder
📄 5. Python Module and Class Names
Module files (.py): Use snake_case (e.g., filename_builder.py).
Node classes: Use PascalCase (e.g., BatchRenameFiles
).
⚙️ 6. File Structure and Metadata
Include a clear README.md with your project name and purpose
. Use a requirements.txt file for dependencies
. Ensure your init.py correctly exports NODE_CLASS_MAPPINGS and NODE_DISPLAY_NAME_MAPPINGS
.
💡 Best Practices Summary Aspect
Convention
Example
Git Repo Name ComfyUI-[Identifier]-[Description] (Hyphens) ComfyUI-APZmedia-Naming-Tools Node Category [Identifier]/[Subcategory] APZmedia/Naming Tools Node Display Name Descriptive, Title Case or PascalCase APZmedia Clean File Name Node Python Class Name PascalCase CleanFileName Uniqueness Prefix with your unique identifier to avoid conflicts Using APZmedia or Mie as a prefix
❌ Common Pitfalls to Avoid
Inconsistent Naming: Ensure your repo name, directory name, and node categories align.
Generic Names: Avoid names like utils or tools without a unique prefix
. Ignoring Conflicts: Check existing nodes to avoid name collisions in categories or display names
.
🛠️ Tools for Management
Use ComfyUI Manager to install, update, and manage custom nodes easily
. For sharing, consider listing your node in the ComfyUI Registry or community-curated lists like Awesome ComfyUI Custom Nodes
.
Following these conventions will make your plugin more professional, easier to discover, and simpler for users to manage alongside other custom nodes.