47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# Contributing to HoopScout
|
|
|
|
## Branching Model (GitFlow Required)
|
|
|
|
- `main`: production-ready releases only
|
|
- `develop`: integration branch for completed features
|
|
- `feature/*`: feature development branches from `develop`
|
|
- `release/*`: release hardening branches from `develop`
|
|
- `hotfix/*`: urgent production fixes from `main`
|
|
|
|
## Workflow
|
|
|
|
1. Create branch from the correct base:
|
|
- `feature/*` from `develop`
|
|
- `release/*` from `develop`
|
|
- `hotfix/*` from `main`
|
|
2. Keep branch scope small and focused.
|
|
3. Open PR into the proper target branch.
|
|
4. Require passing CI checks and at least one review.
|
|
5. Squash or rebase merge according to repository policy.
|
|
|
|
## Local Development
|
|
|
|
1. `cp .env.example .env`
|
|
2. `docker compose up --build`
|
|
3. `docker compose exec web python manage.py migrate`
|
|
4. `docker compose exec web python manage.py createsuperuser`
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
docker compose exec web pytest
|
|
```
|
|
|
|
## Commit Guidance
|
|
|
|
- Use clear commit messages with intent and scope.
|
|
- Avoid mixing refactors with feature behavior changes.
|
|
- Include migration files when model changes are introduced.
|
|
|
|
## Definition of Done (MVP)
|
|
|
|
- Feature works in Dockerized environment.
|
|
- Tests added/updated for behavior change.
|
|
- Documentation updated when commands, config, or workflows change.
|
|
- No secrets committed.
|