Skip to content

Commit 8cd3194

Browse files
committed
Add CONTRIBUTING.md
1 parent 7e61abc commit 8cd3194

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Contributing
2+
3+
## Setup
4+
5+
Use [`nvm`](https://github.com/nvm-sh/nvm) to manage Node versions. CI runs on Node 20; anything >= 18 works.
6+
7+
```bash
8+
nvm install 20
9+
nvm use 20
10+
```
11+
12+
This repo uses Yarn (Berry, via `.yarnrc.yml`). Install dependencies:
13+
14+
```bash
15+
yarn
16+
```
17+
18+
## Development
19+
20+
Generated GraphQL clients live in `generated/`. Regenerate them after changing queries or the schema:
21+
22+
```bash
23+
yarn gen-clients
24+
```
25+
26+
Build both CJS and ESM outputs:
27+
28+
```bash
29+
yarn build
30+
```
31+
32+
## Testing and linting
33+
34+
```bash
35+
yarn test # vitest, watch mode
36+
yarn test:ci # single run
37+
yarn lint
38+
yarn typecheck
39+
```
40+
41+
To refresh the schema used by tests, run `yarn update-test-schema`.
42+
43+
## Docs
44+
45+
```bash
46+
yarn gen-docs
47+
yarn start-docs
48+
```
49+
50+
## Releasing
51+
52+
Publishing is handled by GitHub Actions (`.github/workflows/publish.yml`). Bump the version with `yarn version`, which also regenerates `generated/version.ts` via the `postversion` hook.

0 commit comments

Comments
 (0)