ffc28914e1
Document resume, dependencies, external tools, dev commands, and MIT license. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.0 KiB
Markdown
37 lines
1.0 KiB
Markdown
# Contributing
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
pip install -e ".[dev,ai]"
|
|
```
|
|
|
|
Use `.[dev]` only for core tests; AI module tests need `.[ai]` (torch). OpenRouter/Comfy steps need `OPENROUTER_API_KEY` in `.env` (see `.env.example`).
|
|
|
|
## Code style
|
|
|
|
- **Ruff** for lint and format (`ruff check .`, `ruff format .`)
|
|
- Python **3.11+**, type hints on public APIs
|
|
- CLI messages: direct English, no marketing tone (see `SOUL.md`)
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
pytest # full suite (may call local CLIs)
|
|
pytest -m "not integration" # fast subset for CI
|
|
```
|
|
|
|
Mark new external-tool tests with `@pytest.mark.integration`.
|
|
|
|
## Adding a module
|
|
|
|
See [MODULE_DEVELOPMENT.md](MODULE_DEVELOPMENT.md). Register in `imagepipeline/modules/__init__.py` and add param/behavior tests.
|
|
|
|
## Pipelines
|
|
|
|
Scripts in `pipelines/` are examples and shoot-specific recipes. Machine-local `INPUT` paths are intentional. Reset `CONTINUE_FROM` before sharing a script.
|
|
|
|
## Commits
|
|
|
|
Conventional Commits (`feat:`, `fix:`, `chore:`, …). One logical change per commit.
|