Contributing
GRP welcomes contributions to the protocol, the open packages (CLI, SDK, audit, conformance, and engine), and the docs.
Where to start
| If you want to | Start here |
|---|---|
| Propose a protocol change | Start a GitHub Discussion |
| File a protocol bug or conformance failure | Open a GitHub Issue |
| Contribute to the open packages | Pick an open issue and open a PR |
| Improve the docs | Edit any page through its GitHub link, or open a PR against apps/docs/ |
| Build a conforming room implementation | Run the conformance suite |
| Build an agent that speaks GRP | See the TypeScript SDK reference |
Contribution flow
- Raise it first for non-trivial changes — start a Discussion or Issue . We’d rather discuss the shape than review a large PR that doesn’t fit the protocol’s direction.
- Branch + PR. Standard fork + PR flow. Documentation pull requests receive a rendered preview for review before they merge.
- Test coverage required for behavior changes.
- Conformance must still pass for protocol-affecting changes; run the conformance suite against your branch.
- Sign off as the contributor. Credit yourself in the PR description.
What we won’t merge
- Protocol changes that break receipt verification of prior versions.
- Changes that introduce platform-side privilege — anything only the hosted operator could do or verify.
- Mechanisms that aren’t pure functions.
- Loose typing in API surfaces (string-encoded durations, etc.).
Code style
- TypeScript across the board. Strict mode. No
anyoutside generated code. - Biome for linting/formatting.
- Conventional commits (
feat:,fix:,docs:,research:).
Tests
npm testruns the full workspace suite.- Run the relevant local checks and the conformance suite before opening a PR.
The public repository does not contain GRP Server Cloud or its DB-backed
integration suite. Hosted-server changes are tested in the operator’s private
repository; public contributors can validate the open packages with npm test
and run conformance against any live GRP host.
Last updated on