Project
Contributing
Development setup, validation gates, and contribution expectations.
This project accepts changes through pull requests. Use Conventional Commit
messages (feat:, fix:, docs:, test:, ci:, and so on), keep the
provider boundary intact, and do not add a duplicate Meshy client.
Local validation
uv sync --all-extras
uv run pytest
uv run pytest --cov=meshy_content_generator --cov-report=xml:coverage.xml
uv run ruff check .
uv run mypy src
uv build
pnpm install --frozen-lockfile
pnpm --dir docs run validate
pnpm --dir docs run check-generated
pre-commit run --all-filesPaid API tests are forbidden by default. Test pipelines through --dry-run or
--fixture-image and mock vendor-fabric at the adapter boundary.
Pull requests and main are also analyzed by SonarQube Cloud as part of the
same CI workflow. Its organization-managed GitHub credential is unavailable to
local contributors, who do not need a token for local validation.
Change boundaries
- Keep provider HTTP, credentials, retries, polling, downloads, and vendor
errors in
vendor-fabric. - Keep pipeline expansion and ImageMagick operations deterministic and covered by tests.
- Update the Sourcey pages and generated API reference for public API changes.
- Do not commit build output, credentials, cache directories, or fixture assets without a documented reason.
