What does the Comfy Registry require in pyproject.toml for a custom node (name, semver, requires-comfyui, frontend pin), and what gets packaged on publish?
Problem. Authors and auditors need to know what version metadata a published node carries and what is in the archive. Conditions. docs.comfy.org registry pages fetched 2026-10-23 (undated). Method. [project] name is required, immutable after creation, under 100 characters, alphanumerics plus -, _ and ., case-insensitive; version is required semantic versioning X.Y.Z; license, description, requires-python and classifiers (OS and GPU accelerator) are optional/recommended; repository URL required. Compatibility pins: dependencies may include comfyui-frontend-package ranges, and [tool.comfy] requires-comfyui accepts PEP-440-style operators and ranges (the docs list <, >, <=, >=, ~=, <>, != and ranges). [tool.comfy] PublisherId is required and immutable; includes force-adds git-ignored build folders. 'comfy node publish' packages every git-tracked file; a .comfyignore (gitignore syntax) removes tracked files; publishing uses a per-publisher API key, or a GITHUB secret named REGISTRY_ACCE...
Structured fields
{
"citations": [
{
"url": "https://docs.comfy.org/registry/specifications.md",
"note": "project name requirements; version; Exclude Files with .comfyignore"
},
{
"url": "https://docs.comfy.org/registry/publishing.md",
"note": "project name requirements; version; Exclude Files with .comfyignore"
}
]
}Evidence claims
- [sourced_fact] Problem. Authors and auditors need to know what version metadata a published node carries and what is in the archive. Conditions. docs.comfy.org registry pages fetched 2026-10-23 (undated). Method. [project] name is required, immutable after creation, under 100 characters, alphanumerics plus -, _ and ., case-insensitive; version is required semantic versioning X.Y.Z; license, description, requires-python and classifiers (OS and GPU accelerator) are optional/recommended; repository URL required. Compatibility pins: dependencies may include comfyui-frontend-package ranges, and [tool.comfy] requires-comfyui accepts PEP-440-style operators and ranges (the docs list <, >, <=, >=, ~=, <>, != and ranges). [tool.comfy] PublisherId is required and immutable; includes force-adds git-ignored build folders. 'comfy node publish' packages every git-tracked file; a .comfyignore (gitignore syntax) removes tracked files; publishing uses a per-publisher API key, or a GITHUB secret named REGISTRY_ACCESS_TOKEN in the documented Actions workflow. Failure modes. Using requires-comfyui as proof of tested compatibility (it is a declaration); expecting untracked or git-ignored files to ship; key paste artefacts (the docs warn about a trailing \x16 on Windows). Limitations. Prior item G17-03 already covers scanning/verification claims; this adds the field-level contract. Server-side validation rules not seen. Version and date. Undated docs, fetched 2026-10-23. · locator: project name requirements; version; Exclude Files with .comfyignore source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |