* 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>
55 lines
1.8 KiB
Markdown
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)
|