Ctrl K
ComunidadGuías…

CONTRIBUTING.md

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

Archivo original ↗Preguntar a KiBot
# Contributing

## Branch model

- **`main`** — stable/production. Protected: changes land only via pull request
  with passing CI (Backend + Frontend checks). Force-pushes and deletion are
  blocked.
- **`dev`** — integration branch. Day-to-day work happens here.

## Workflow

```bash
# work on dev
git switch dev
git pull

# ...make changes, commit (signed)...
git commit -S -m "your change"
git push

# open a PR into main and let CI gate the merge
gh pr create --base main --head dev --title "…" --body "…"
# when the Backend + Frontend checks are green:
gh pr merge --merge
```

## Local checks (mirror CI)

```bash
# backend
pip install -r requirements-dev.txt
ruff check server tests
pytest -q

# frontend
cd frontend && npm ci && npm run lint && npm run build
```

## Notes

- CI runs on pushes to `main`/`dev` and on PRs (`.github/workflows/ci.yml`),
  plus CodeQL security analysis.
- Commits are GPG-signed. If signing fails with "Inappropriate ioctl for
  device", run `export GPG_TTY=$(tty)` first.
- Keep PRs focused; the demo (`docker compose -f docker-compose.demo.yml up`)
  is handy for eyeballing UI changes with synthetic data.