Files
pr-preview/CONTRIBUTING.md
space 8b53698f29
Deploy / Build (pull_request) Successful in 40s
Deploy / Build and Push Docker Image (pull_request) Has been skipped
Really huge mass update; Getting everything up-to-spec and implementing a wide range of features
2026-07-26 14:24:18 +02:00

77 lines
1.7 KiB
Markdown

# Contributing
Thanks for working on PR Previews. This project is a self-hosted Gitea PR
preview service; the product behavior source of truth is `SPEC.md`.
## Before You Change Code
- Read `AGENTS.md` for repository-specific implementation rules.
- Check `SPEC.md` when behavior is ambiguous.
- Use `pnpm`, not npm or yarn.
- Keep Prisma commands pointed at `../prisma/schema.prisma` from `backend/`.
- Do not commit generated secrets, `.env` files, EC2 keys, tokens, or database dumps.
## Development Setup
Start the database:
```bash
docker compose up -d pp-db
```
Apply migrations:
```bash
cd backend
pnpm migrate
```
Run the backend:
```bash
cd backend
pnpm install
pnpm dev
```
Run the frontend:
```bash
cd frontend
pnpm install
pnpm dev
```
## Validation
There is no automated test runner in this repository yet. Before opening a PR,
run the relevant builds:
```bash
cd backend
pnpm build
```
```bash
cd frontend
pnpm build
```
For behavior changes, also verify the running stack manually with a Gitea PR or
with the narrowest API/UI flow that exercises the change.
## Pull Request Guidelines
- Keep changes scoped to one behavior or cleanup.
- Explain user-visible behavior changes clearly.
- Include migration notes when changing `prisma/schema.prisma`.
- Preserve the existing security model: encrypted stored secrets, masked logs,
constant-time webhook signature checks, and no secret values in API responses.
- Update `README.md`, `SPEC.md`, or `AGENTS.md` when the change affects setup,
product behavior, or contributor workflow.
## License
By contributing, you agree that your contributions are licensed under the Apache
License, Version 2.0. See `LICENSE`.