GitHub Copilot β repo orientation
Thin pointer. The canonical agent context lives in CLAUDE.md
at the repo root β read that first for source-of-truth conventions, dev-sync
rules, release rules, fork policy, and trigger phrases. This file only carries
the high-stability orientation that helps Copilot place a request before it
follows links.
What this repo is
ComfyUI-Koolook is a custom-node pack for ComfyUI. Two shipped surfaces:
Kforge Labs sidebar β the main user-facing experience. A ComfyUI sidebar tab that saves favorite nodes, workflows (with subdirectories + archive + tags + reusable modules), and full-state snapshots to a configurable on-disk library.
- Front-end entry:
web/koolook_sidebar.js; module bodies underweb/sidebar/. - Back-end snapshot/preset routes:
koolook_routes.py(registers/koolook/presets/*aiohttp routes on ComfyUI's PromptServer). - Bundled visual onboarding guide:
web/guide/index.html(also opened in-app via the sidebar's Tools-row Help button).
- Front-end entry:
Koolook custom nodes β Python node classes at the repo root, each exposing the standard ComfyUI node contract (
INPUT_TYPES,RETURN_TYPES,RETURN_NAMES,FUNCTION,CATEGORY):k_easy_wan22_prompt.pyβEasyWan22Prompt(readsconfig.jsonat import time β edits toconfig.jsonneed a ComfyUI restart).k_easy_resize.pyβEasyResize_Koolook(deprecated aliasEasyResizestill registered for back-compat).k_ai_pipeline.pyβEasyAIPipeline(paired with front-end widgets inweb/ai_pipeline.js).k_easy_image_batch.pyβeasy_ImageBatch.k_easy_track.pyβKoolookLoadCameraPosesAbsolute.k_video_combine.pyβEasy_VideoCombine(runtime subclass of VHSVideoCombine; self-skips if VHS not installed).- Radiance VAE wrappers under
forks/radiance_koolook/versions/v2_3_3/βEasy_hdr_VAE_encode,Easy_hdr_VAE_decode.
__init__.py imports each module's NODE_CLASS_MAPPINGS /
NODE_DISPLAY_NAME_MAPPINGS and exposes the merged set plus WEB_DIRECTORY.
Things that bite if you don't know them
- Backward compatibility is opt-in for Koolook-created nodes only (the root
k_*.pycustom nodes). For those, make the cleanest change by default β rename/drop/reorder IDs, inputs, and outputs freely, no aliases or_v2suffixes β unless the maintainer sayscheck backward compatibility. Fork nodes are different: anything underforks/keeps full back-compat discipline by default (never rename a fork ID in saved workflows, version via new suffix/namespace, keep the__koolook_vX_Y_Zcollision suffix). Seedocs/maintainers/node-versioning.mdandCLAUDE.mdβ Change management. - Third-party code stays out of MAIN. Modified fork code lives under
forks/<name>/versions/<vX_Y_Z>/; raw upstream checkouts live in../ComfyUI-Forks/. Seeforks/README.mdandforks/THIRD_PARTY.md. dev-syncis user-triggered only. Never run it automatically (e.g. after a commit, after a merge, on session end). The maintainer runs parallel worktrees and an unsolicited sync overwrites whatever they're reviewing in their live ComfyUI. Wait for the explicit phrase. Full rules inCLAUDE.md.- UI work needs visual QA. See
AGENTS.mdβ open the changed page in a browser, take a screenshot, verify before claiming done. - Three independent version axes (pack version / fork wrapper version /
upstream pinned commit) β see
docs/reference/versioning.mdbefore any version bump.
Where to look next
CLAUDE.mdβ full project conventions and protocolsdocs/maintainers/β release procedure, dev-sync loop, registry API, sidebar starter preset, workflows-sidebar referencedocs/reference/β glossary, versioning modeldocs/user_guide/β per-node end-user docsREADME.mdβ public landing page + installCHANGELOG.mdβ what changed, in detail