Thanks for contributing to Adeptly.
uv python install 3.12
uv venv --python 3.12
uv sync --frozen --extra devUse short, descriptive branch names:
feat/<area>-<summary>fix/<area>-<summary>docs/<area>-<summary>chore/<area>-<summary>
Examples:
docs/contributor-workflowfix/dqn-target-update
Follow a conventional style:
feat: add replay warmup guardfix: prevent empty batch samplingdocs: document canonical uv commandschore: add pre-commit hooks
Keep the subject line imperative and under ~72 characters.
Always run commands via uv run:
uv run make format
uv run make lint
uv run make typecheck
uv run make test
uv run make docs
uv run pre-commit run --all-filesCI validates on Python 3.12 and 3.13 with:
black --check adeptly testsmypy adeptly testspytest -q
For local work, run:
- Required minimum before PR:
uv run mypy adeptly testsanduv run pytest -q - Recommended full sweep: canonical command set above.
Install and run with uv:
uv run pre-commit install
uv run pre-commit run --all-filesThe configured hooks enforce formatting, linting, and type checks before commit.
- Branch name follows the naming convention.
- Commits follow conventional commit style.
-
uv sync --frozen --extra devcompleted successfully. -
uv run make lintpasses. -
uv run make typecheckpasses. -
uv run make testpasses. -
uv run pre-commit run --all-filespasses. - Documentation updated for behavior/workflow changes.
- PR description includes motivation, scope, and validation results.