Roomote is early in its public project shape. Right now, the most valuable contribution is a well-written issue, not a pull request. Maintainers triage issues actively, and a clear bug report or focused feature request helps far more than an unrequested diff.
- Roomote does not generally accept unsolicited community pull requests. Please do not open a PR unless a maintainer has explicitly invited it in an issue or discussion.
- The best way to help: open a well-scoped issue with reproduction steps, expected vs actual behavior, and your deployment context. The issue forms walk you through what maintainers need.
- Pull requests without a maintainer invitation or a clear linked issue will likely be closed without review so triage stays high-signal.
- When a PR has been invited: keep it small and scoped, link the issue, and include tests or a clear manual validation note when changing behavior.
mise install
pnpm install
pnpm lint
pnpm check-types
pnpm testUse the narrower package-level test commands from AGENTS.md when a full suite
is not necessary.
Roomote ships a single product version for the monorepo (not per-package npm
releases). Changesets files are the
authoring format for bump level + release notes; workspace package.json
versions are frozen and never bumped. The canonical version is
the root package.json field and is published as GitHub Release / tag vX.Y.Z.
Optional contributor entrypoint when your change should show up in the changelog:
pnpm changesetAny @roomote/* package selection is equivalent — only the bump level is read.
See .changeset/README.md.
- Merge work to
develop(squash). When pending changesets exist, automation opens a Release Roomote Version PR that bumps the root version andCHANGELOG.md(nothing else). - When the product version is untagged, automation cuts a frozen
release/vX.Y.Zbranch at the version-bump commit and opens or refreshes a PromotevX.Y.Zto production PR (release/vX.Y.Z→main). Work merged todevelopafter the version bump waits for the next release. - Merge that promote PR with a merge commit (branch rules on
mainallow merge only;developstays squash-only). Tagging (vX.Y.Z), GHCR image publish (latest), and the GitHub Release follow frommain/ tag workflows. Product tagging requires theRELEASE_BOT_TOKENrepository secret.
All contributors are required to sign the Roomote Contributor License Agreement before their pull requests can be merged.
Signing is handled automatically on your first pull request: the CLA Assistant bot posts a comment with instructions, and you sign by replying with:
I have read the CLA Document and I hereby sign the CLA
You only need to sign once; your signature applies to all your future contributions to this repository.
By contributing, you agree that your contribution is licensed under the same
license as the repository. See LICENSE.