CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing to Jambo API
Thank you for your interest in contributing!
## Before You Start
- Check the [open issues](https://github.com/jambostack/jambo-api/issues) before opening a new one
- For significant changes, open an issue first to discuss the approach
- All contributions must be compatible with the **AGPL v3** licence
## Development Setup
```bash
git clone https://github.com/jambostack/jambo-api.git
cd jambo-api
composer install
npm install
cp .env .env.local # set your DATABASE_URL and APP_SECRET
php bin/console doctrine:migrations:migrate
php bin/console app:setup # creates the first admin user
npm run dev # build frontend assets
symfony serve # or use your local web server
```
## Running Tests
```bash
./vendor/bin/phpunit
```
All pull requests must pass the full test suite. New features should include tests.
## Code Standards
- **PHP** — PSR-12 style; strict types (`declare(strict_types=1)`) on new files
- **TypeScript / React** — follow the existing component and hook patterns
- **Commits** — use [Conventional Commits](https://www.conventionalcommits.org/): `feat:`, `fix:`, `docs:`, `refactor:`, `test:`
- **No TODO/FIXME** — finish the implementation or open a tracked issue
## Pull Request Process
1. Fork the repository and create a branch from `main`
2. Make your changes with tests
3. Run `./vendor/bin/phpunit` — all tests must pass
4. Run `npx tsc --noEmit` — no TypeScript errors
5. Open a PR against `main` with a clear description of what and why
## Reporting Bugs
Please include:
- Jambo API version
- PHP version and OS
- Steps to reproduce
- Expected vs actual behaviour
For **security vulnerabilities**, see [SECURITY.md](SECURITY.md).