mirror of
https://github.com/Comfy-Org/ComfyUI-test-framework.git
synced 2026-11-04 23:37:25 +00:00
[PR #3] feat: add manifest.json for external tool consumption #1
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-test-framework#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/ComfyUI-test-framework/pull/3
Author: @WASasquatch
Created: 3/23/2026
Status: 🔄 Open
Base:
main← Head:was/add-manifest📝 Commits (1)
40996c4feat: add manifest.json for external tool consumption📊 Changes
2 files changed (+329 additions, -0 deletions)
View changed files
➕
manifest.json(+121 -0)➕
scripts/generate_manifest.py(+208 -0)📄 Description
Summary
manifest.json— a generated file exposing node metadata (node_id, display_name, is_output_node, category, description) for external toolsscripts/generate_manifest.py— generates the manifest from nodedefine_schema()definitions, with a--checkflag for CI sync validationWhy
External tools (like workflow validators) need to know which test framework nodes are output nodes, without requiring a running ComfyUI instance. Previously, tools had to hardcode node names or rely on
object_info.jsonfrom a live server. The manifest provides a static, always-available source of truth that stays in sync with the code via CI.Test plan
python scripts/generate_manifest.pygenerates manifest with all 17 nodespython scripts/generate_manifest.py --checkpasses when manifest is up to datevalidate_workflow.pysuccessfully reads the manifest and recognizes test framework output nodes🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.