Pull requests are accepted. This document is about what happens to them, since the mechanics here are unusual enough to be worth stating plainly.
This repository is generated. Readyset develops RDST in an internal
monorepo and projects the suite here on every merge, preserving full history —
commits keep their author, date and message. Nothing is edited directly on
main here, so a merge button on a pull request would be overwritten by the
next sync.
That does not mean patches are unwelcome. It means they take one extra hop.
- Open a pull request as you would anywhere. Base it on
main. - A maintainer reviews it here, in the pull request, and discussion happens here.
- On approval, a maintainer carries the commits into Readyset's internal
review system, preserving your authorship with a
Co-authored-by:trailer, and lands them there. - The next sync brings the change back to this repository under your name, and the pull request is closed with a link to the resulting commit.
So your commit lands, with your name on it. What you do not get is a merge performed on this repository, and the resulting SHA will differ from the one in your branch.
- Small and focused travels fastest. A patch a maintainer can read in one sitting reaches the internal review in days; a large refactor may not.
- Discuss anything structural first in an issue. The design system in
packages/is shared with software that is not in this repository, so an API change there has consequences you cannot see from here. - Run the checks:
pnpm install && pnpm lint && turbo build, pluspnpm --filter rdst-web testfor the web UI. The CLI has its own suite — seecli/README.md. - Match the surrounding style.
pnpm checkruns the formatter and linter that the internal tree is held to.
Bugs and feature requests: open an issue.
Security vulnerabilities: do not open an issue. Follow
cli/SECURITY.md.
Commits you did not expect. The shared packages under packages/ are used
by Readyset software beyond this suite, so their history carries commits about
products that are not here.
Assets that differ from the official builds. The type and icon artwork in
this repository are open equivalents of commercially licensed sets; see
LICENSE-THIRD-PARTY. A patch that adds an icon needs an
open source for it, or the build has nothing to draw.