CONTRIBUTING.md
Rama develop · réplica de lectura del repositorio original.
# Contributing to Morsl
## Dev setup
Requires Python 3.12+ and system libraries for CairoSVG.
```bash
# Ubuntu/Debian
sudo apt-get install libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf-2.0-0 shared-mime-info
# Install in editable mode with dev deps
pip install -e ".[dev]"
```
## Running tests
```bash
pytest
```
Integration tests (require a live Tandoor instance) are skipped by default. Run them with:
```bash
pytest -m integration
```
## Code style
This project uses [Ruff](https://github.com/astral-sh/ruff) for linting and formatting.
```bash
ruff check . # lint
ruff format --check . # format check
ruff format . # auto-format
```
Both checks run in CI. PRs that fail either check will not merge.
## Docker
```bash
docker build . # verify build
docker compose -f docker-compose.dev.yml up # run locally with build context
```
## Test policy
New features and bug fixes must include tests. PRs that reduce coverage or skip tests for new behavior will be asked to add them before merge.
## PR process
1. Fork the repo and create a branch from `develop`.
2. Make your changes. Add tests for new behavior.
3. Ensure `pytest`, `ruff check .`, `ruff format --check .`, and `docker build .` all pass.
4. Open a PR against `develop`. Fill in the template.
5. CI must pass before merge.