# Contributing

To get set up in the environment and run the tests:

```bash
uv sync --all-groups
uv run pre-commit run --all-files
uv run coverage run
uv run coverage report
```

## Code Style

- Ruff for linting and formatting (configured in pyproject.toml)
- Single quotes for strings
- 79 character line length

## Generated Code

`pamqp/commands.py`, `pamqp/constants.py`, and `pamqp/exceptions.py` are
generated by `tools/codegen.py`. Do not edit them manually. To regenerate:

```bash
uv run python tools/codegen.py
uv run ruff format .
```

## Test Coverage

Pull requests that make changes or additions that are not covered by tests
will likely be closed without review.
