Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama develop · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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.