CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing to FreeFrame
Thanks for your interest in contributing! See the full guide:
- **[Development Setup & Contributing Guide](docs/contributing.md)** — prerequisites, dev environment, coding standards
- **[Architecture Overview](docs/architecture.md)** — system design, tech stack, data flow
- **[Deployment Guide](docs/deployment.md)** — production setup, Docker, environment variables
## Quick Start
```bash
git clone https://github.com/YOUR_USERNAME/freeframe.git
cd freeframe
cp .env.example .env
docker compose -f docker-compose.dev.yml up --build
# Open http://localhost:3000
```
## Pull Request Process
1. Fork and create a branch: `git checkout -b feat/my-feature`
2. Make your changes and write tests (see [test gotchas](docs/contributing.md#house-rules--test-gotchas-read-before-writing-tests) — API tests use a mock DB)
3. Run the checks CI runs:
- API: `docker compose -f docker-compose.dev.yml exec -w /workspace api python -m pytest apps/api/tests/ -q`
- Web: `pnpm --filter web test && pnpm --filter web lint && pnpm --filter web build`
4. Add a `CHANGELOG.md` entry under `## [Unreleased]` for user-facing changes
5. Open a PR against `main` — we aim to respond within 48 hours
**Not a coder?** Testing releases against your NLE, writing detailed bug reports, and improving docs are first-class contributions too.
## Reporting Issues
- **Bugs**: Use the [bug report template](https://github.com/Techiebutler/freeframe/issues/new?template=bug_report.yml)
- **Features**: Use the [feature request template](https://github.com/Techiebutler/freeframe/issues/new?template=feature_request.yml)
- **Security**: See [SECURITY.md](SECURITY.md)
## License
By contributing, you agree that your contributions will be licensed under the [MIT License](LICENSE).