Files
kunail0804-ComfyUI-Scene-Co…/CONTRIBUTING.md
T
00d38181b2 Complete project documentation (#31) (#75)
* docs: verify and complete project documentation (#31)

Align the docs with the shipped V1 implementation (MASTER_SPEC §7.6, Phase 7).

- README: fix the Category Splitter output (it emits a Category Map; the
  per-category strings are produced by the Prompt Builder).
- docs/nodes.md: developer node reference with the exact inputs, outputs, and
  inter-stage data types for all eight nodes.
- CONTRIBUTING.md: link the Knowledge Base contribution guide and validation
  command, the golden-regeneration note, and the node/benchmark references.
- tests/test_docs_consistency.py: guards that README and docs/nodes.md mention
  every registered node and cover the inter-stage types, and that CONTRIBUTING
  links the Knowledge Base guide -- so docs cannot drift from the code.

The wiki ComfyUI-Nodes page is updated to match (Category Splitter emits a
Category Map) in the wiki repository.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore: retrigger CI (runner backlog)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 14:17:55 +02:00

55 lines
1.8 KiB
Markdown

# Contributing
Full contributor guidelines live in the project wiki:
[Development, Testing & Contributing](https://github.com/kunail0804/ComfyUI-Scene-Compiler/wiki/Development-Testing-and-Contributing).
The authoritative specification is [`MASTER_SPEC.md`](MASTER_SPEC.md) (see §24–§28).
## Local setup
Requires **Python 3.11+**.
```bash
git clone https://github.com/kunail0804/ComfyUI-Scene-Compiler.git
cd ComfyUI-Scene-Compiler
python -m pip install -e ".[dev]"
```
## Checks
Run the same checks CI runs before opening a pull request:
```bash
ruff check . # lint
ruff format --check . # formatting
pytest # tests
```
## Ground rules
- **Determinism first** — identical input + Knowledge Base + config always produces
identical output. No randomness.
- **No hardcoded tag mappings** — concept-to-tag knowledge lives in `knowledge_base/`.
- **Separation of concerns** — `compiler/` never imports ComfyUI; `nodes/` contains no
compiler logic.
- **Tests ship with code** — new functionality includes tests; every bug fix adds a
regression test.
- Explicit type hints on public functions, docstrings, and structured logging (no `print`).
## Contributing to the Knowledge Base
The Knowledge Base is data, not code. To add or edit a concept, follow the field
rules and file layout in [`knowledge_base/README.md`](knowledge_base/README.md),
then validate your change:
```bash
python scripts/validate_knowledge_base.py knowledge_base/
```
A change that alters compiler output must also update the golden files
deliberately (see [`tests/regression/golden/README.md`](tests/regression/golden/README.md)).
## Node and developer reference
- ComfyUI node inputs/outputs: [`docs/nodes.md`](docs/nodes.md)
- Performance baselines: [`docs/benchmarks.md`](docs/benchmarks.md)