Files
malkuthro-ComfyUI-Koolook/.github/copilot-instructions.md
T
malkuthroandClaude Opus 4.7 a40117c8c2 feat(video): add Easy_VideoCombine with absolute-path support
Adds a Koolook subclass of VHS VideoCombine that bypasses ComfyUI's
output-directory sandbox when filename_prefix is an absolute path —
the VFX-pipeline missing piece for writing renders into a project
tree (e.g. E:/projects/shot01/v003) instead of ComfyUI/output/.

Implementation:
- k_video_combine.py: ~60 LoC subclass + a pure _resolve_abs_target
  helper. Scoped-patches folder_paths.get_save_image_path for the
  duration of one combine_video() call so upstream's encoder, audio
  mux, batch manager, and progress bar run unchanged. No VHS code
  copied. Self-skips registration when VHS isn't importable (clean
  one-line stderr notice).
- Discriminator: os.path.isabs(filename_prefix). No new input pin;
  pattern borrowed from spacepxl/ComfyUI-HQ-Image-Save's SaveEXR.
- Optional create_path_if_missing BOOLEAN (default False) so typos
  surface as FileNotFoundError instead of spawning stray dirs.

License audit (2026-05-16):
- VHS upstream: GPL-3.0 (verified via raw LICENSE fetch).
- HQ-Image-Save pattern source: MIT, copyright 2023 spacepxl.
- Koolook: already GPL-3.0; both upstreams are compatible.
- No source code from either upstream is incorporated.

Verification: 18 pytest cases green (12 existing + 6 new covering
relative passthrough, absolute resolution, create-on/off branches,
trailing-separator normalization, and empty-basename rejection).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 20:19:07 +02:00

4.1 KiB

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:

  1. 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.

  2. 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):

__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

  • Node IDs in saved workflows are stable. Never rename a registered node ID without a back-compat alias — see docs/maintainers/node-versioning.md.
  • 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/. See forks/README.md and forks/THIRD_PARTY.md.
  • dev-sync is 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 in CLAUDE.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.md before any version bump.

Where to look next