graphile_worker 0.11.1

High performance Rust/PostgreSQL job queue (also suitable for getting jobs generated by PostgreSQL triggers/functions out into a different work queue)
Documentation
# Contributing to graphile_worker_rs

Thank you for your interest in contributing to graphile_worker_rs!

## Getting Started

1. Fork the repository
2. Clone your fork locally
3. Set up your development environment (see below)
4. Create a feature branch from `main`

## Development Setup

### Prerequisites

- Rust (stable toolchain)
- Docker (for running PostgreSQL in tests)
- `diff-cover` (optional, for coverage diff reports): `pip install diff-cover`

### Running Tests

```bash
just test-docker
```

This will spin up a PostgreSQL container and run all tests.

### Linting

Before submitting a PR, ensure your code passes all checks:

```bash
just lint
```

This runs `cargo fmt`, `cargo check`, and `cargo clippy`.

## Pull Request Process

1. Ensure all tests pass with `just test-docker`
2. Ensure linting passes with `just lint`
3. Update documentation if needed
4. Keep commits focused and atomic
5. Write clear commit messages

## Code Style

- Follow standard Rust conventions
- Use `cargo fmt` for formatting
- Prefer early returns (guard clauses) over nested conditionals
- Use `thiserror` for error types
- Use builder pattern for configuration structs

## Reporting Issues

- Use GitHub Issues for bug reports and feature requests
- For security vulnerabilities, see [SECURITY.md]SECURITY.md

## Code of Conduct

This project follows the Contributor Covenant. See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).