CONTRIBUTING.md
Rama master · réplica de lectura del repositorio original.
# Contributing to Nexul
Thanks for taking the time. This is the short version; the
[contributor guide](https://nexul.io/docs/contributing/) has the rest.
## Before your first pull request
- Read the [Contributor License Agreement](CLA.md). Nexul is open core
(AGPL-3.0 outside `ee/`, commercial inside), and the CLA lets the project
keep licensing both parts. Tick the box in the pull request template to
agree. See [Licensing](https://nexul.io/docs/contributing/licensing/).
- For anything bigger than a bug fix, open an issue or a discussion first so
we agree on the shape before you build it.
## Setting up
Go (version in `go.mod`) and Bun are the only prerequisites.
```sh
go run ./server/cmd # API server
bun install && bun run --cwd web dev # web app
make test # Go tests
```
[Local development](https://nexul.io/docs/contributing/local-development/)
covers the debug compose stack, make targets, and tests.
## Standards
Changes are reviewed against [`practices/`](practices/README.md). Read the
file for your language before writing code; the
[coding standards](https://nexul.io/docs/contributing/coding-standards/) page
is a digest of them.
- Read `AGENTS.md` and `CONTEXT.md` first. `CONTEXT.md` is the vocabulary, and
it wins any naming argument.
- Durable decisions get an ADR in `docs/adr/`. Open work lives in `.scratch/`.
- Go changes keep `make coverage` green. Web changes pass
`bun run --cwd web lint` and `bun run --cwd web test`.
- SQL lives in `internal/platform/storage/queries/*.sql`. Run `make sqlc` and
commit the generated code.
## Pull requests
- One topic per PR, branched from `master`, squash-merged.
- Fill in the PR template. CI must be green before merge.
- UI changes include before and after screenshots, dark and light: 768, 1024,
and 1440 px for the web app, 320, 375, 414, and 768 px for the website.
- Write commit messages and PR descriptions from the code's point of view:
what changed and why.
## Bugs and security issues
Bugs go through the issue templates. Security issues don't: see
[SECURITY.md](SECURITY.md).