77 lines
1.7 KiB
Markdown
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`.
|