Establish the immutable mediahub-cloud identity, public documentation, branding, contribution contract, CI, guarded publishing workflow, and a live-smoke regression fix before the first public release. Constraint: Registry versions and node IDs are immutable after publication Rejected: Automatic publish on pyproject.toml changes | too easy to publish an unverified immutable version Confidence: high Scope-risk: moderate Directive: Run paid provider-family live verification before triggering the manual Registry workflow Tested: 221 pytest tests; JavaScript syntax; Python compilation; workflow JSON validation; restarted ComfyUI smoke; clean editable install; comfy node validate; comfy node pack inspection Not-tested: Paid live API calls for every advertised provider family
2.6 KiB
2.6 KiB
Contributing to ComfyUI MediaHub
Thank you for helping MediaHub connect more useful generative-media APIs to ComfyUI. Contributions from people and coding agents are welcome.
Before You Start
- Open or reference a GitHub issue for substantial new providers or operations.
- Read
AGENTS.md,docs/CURRENT_STATE.md,docs/DEVELOPMENT.md, anddocs/AGENT_EXECUTION_PROTOCOL.md. - Use current official provider documentation. Do not infer regional products, authentication, models, or payloads from similar APIs.
- Never commit API keys, publishing tokens, generated output, or private data.
Architecture Requirements
- Put provider implementations under
mediahub/providers/<provider>/. - Provider packages must not import ComfyUI, sibling providers, or sibling media-family modules.
- Keep provider-specific fields in provider config nodes.
- Reuse provider-neutral execution nodes and stable request/job contracts.
- Keep image, video, and future media families independent.
- Do not add
extra_params. - Do not add provider-name branches to generic services.
- Prefer existing patterns and small, reviewable changes over new frameworks.
Provider Evidence
Save dated official API evidence under docs/providers/<provider>/. Record:
- Endpoint and region
- Authentication
- Models and operations
- Parameters, defaults, constraints, and accepted values
- HTTP and provider-level errors
- Response schemas and task states
- Media URL lifetime and download requirements
- Any behavior confirmed only through a live probe
Required Deliverables
Every completed provider/operation path needs:
- Provider implementation and registration
- Provider config node
- Payload, validation, provider-error, and node-contract tests
- User-facing workflow under
examples/ - Deterministic API fixture under
tests/fixtures/ - Updated documentation and verification evidence
Verification
.venv/bin/python -m pytest -q
node --check js/mediahub.js
.venv/bin/python -m compileall -q .
for file in examples/*.json tests/fixtures/*.json; do
.venv/bin/python -m json.tool "$file" >/dev/null
done
After Python node-schema changes, restart ComfyUI and run:
.venv/bin/python scripts/smoke_comfyui.py
Run paid live tests only through explicit live-test commands with authorized credentials. Redact all keys and sensitive data from evidence.
Pull Requests
Describe:
- The provider and operations added or changed
- Official documentation used
- Architectural decisions and rejected alternatives
- Tests and live verification performed
- Known limitations and unverified boundaries
Keep unrelated refactors and generated files out of the pull request.