# Contributing Guidelines

Thank you for considering contributing to this project! We welcome contributions that improve the code, documentation, and overall project quality.

## Getting Started

- Fork the repository.
- Create a feature branch from `main`.
- Commit your changes with clear messages (we follow **Conventional Commits**).
- Push your branch and open a Pull Request (PR).

## Requirements

- Write tests alongside code where possible.
- Ensure all tests pass before submitting a PR.
- Follow the repository’s coding style and linting rules.
- Update documentation (README, ADRs, etc.) when making significant changes.
- When making architectural changes, create a new ADR (Architecture Decision Record) that **succeeds** the previous one rather than modifying old ADRs. This preserves history and ensures decisions are traceable.
- Use the [ADR template](./docs/adrs/adr-template.md) when writing new ADRs to ensure consistency.
- Before your first contribution, sign the appropriate Contributor License Agreement (CLA). See [legal/CLA.md](legal/CLA.md) for details, then email the signed document to [contributors@plasius.co.uk](mailto:contributors@plasius.co.uk).

## Communication

- Use GitHub Issues for bugs and feature requests.
- Pull Requests should describe the problem, solution, and trade-offs.

We appreciate your support in making this project better!
