Scaffold the Phase 0 foundation per MASTER_SPEC §24:
- Directory layout: nodes/, compiler/{analyzer,validator,resolver,splitter,
builder,common}/, knowledge_base/, schemas/, prompts/, config/,
tests/{analyzer,resolver,validator,integration,regression}/, examples/,
scripts/, docs/.
- pyproject.toml targeting Python 3.11+, jsonschema as the single runtime dep,
ruff + pytest as dev deps, explicit package list, and ruff/pytest config.
- ruff for linting and formatting; pytest with repo root on pythonpath.
- GitHub Actions CI running install, ruff lint, ruff format check, and pytest
on Python 3.11 and 3.12 for pushes and pull requests.
- docs/ skeleton and CONTRIBUTING.md referencing the wiki.
- Layout test asserting the §24 structure and package importability.
Co-authored-by: kunail0804 <kunail0804@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Contributing
Full contributor guidelines live in the project wiki:
Development, Testing & Contributing.
The authoritative specification is MASTER_SPEC.md (see §24–§28).
Local setup
Requires Python 3.11+.
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:
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).