pr_01m47d15m3e54sn21z27rpy5n9/CONTRIBUTING.md

38 lines1,660 bytesCodeBlame
1# Contributing to g1t
2
3g1t is built the way it asks others to build: issues and pull requests on
4[g1t.sh/syntaqx/g1t](https://g1t.sh/syntaqx/g1t), checks that prove a change
5done, and a merge queue that keeps `main` passing.
6
7## A change ships with its docs
8
9Documentation is part of the product, held to the same bar as the code.
10A pull request that changes what someone can do, see or call changes the
11docs in the same pull request:
12
13| If you change | Update |
14| --- | --- |
15| Something a person does on g1t.sh | The guide for it in `apps/docs/src/content/docs/guides/` |
16| An API route, a field, or an MCP tool | `apps/api/src/operations.rs` descriptions (they feed the OpenAPI document and the API reference), `reference/mcp.md`, and any guide that shows the call |
17| How agents behave | `guides/g1t-agents.md`, and `apps/web/public/llms.txt` |
18| Settings, limits or prices | The page that names them, and the table it is in |
19| A new feature | A section in the guide that owns it, linked from the docs home if it is a new task |
20
21The style, in short: plain sentences, second person, no marketing words,
22sentence-case headings, a numbered list for steps, a table for options, and
23every API mention with its exact route or tool name. Examples are copyable
24and real. Nothing is documented that the code does not do.
25
26Check the docs build before you push:
27
28```sh
29cd apps/docs && npm run build
30```
31
32## Before you push
33
34- `cargo test` in the crate or service you changed.
35- `npx tsc -b --force` in `apps/web` (the incremental build misses changes
36 in `packages/contracts`).
37- Look at what you changed in a browser. Screenshots catch what type
38 checks do not.