All work on Callstack Rspress Theme happens directly on GitHub. Contributors send pull requests which go through review process.
Working on your first pull request? You can learn how from this free series: How to Contribute to an Open Source Project on GitHub.
- Fork the repo and create your branch from
main(a guide on how to fork a repository). - Run
pnpm installto install all required dependencies.
This project uses a monorepo structure with pnpm workspaces:
packages/theme/- Main theme packagepackages/tester/- Test site for development and testing
-
Start the development server for the
themepackage:pnpm --filter ./packages/theme dev
-
Start the development server for the
testerapp:pnpm --filter ./packages/tester dev
-
Open the tester app in your browser at
http://localhost:3000 -
Make changes to the theme components in
packages/theme/src/ -
Changes should be automatically reflected in the tester app
Currently we use TypeScript for typechecking, Biome for linting and formatting the code.
pnpm lint: run Biome for linting and formattingpnpm typecheck: run TypeScript type checking
We prefix our commit messages with one of the following to signify the kind of change:
- chore: Changes which don't affect the published packages or are not related to documentation or tests
- docs: Documentation only changes
- feat: A new feature
- fix: A bug fix
- perf: A code change that improves performance
- refactor: A code change that neither fixes a bug nor adds a feature
- test: Adding missing tests or correcting existing tests
When you're sending a pull request:
- Prefer small pull requests focused on one change.
- Verify that TypeScript, Biome and all tests are passing.
- Preview the documentation to make sure it looks good.
- Follow the pull request template when opening a pull request.
This part is for maintainers only, documenting steps to manually publish the packages with Changesets.
- Pull latest changes for the stable branch.
- Run
pnpm buildto build the packages. - Run
pnpm changeset addto add an empty changeset. - Run
pnpm changeset versionto update versions. - Run
pnpm lintto fix the formatting. - Commit the changes with
git commit -m "chore: changeset version". - Run
pnpm changeset publishto publish to npm. - Generate release notes in the project's
Releasetab on GitHub.
You can report issues on our bug tracker. Please follow the issue template when opening an issue.
By contributing to Callstack Rspress Theme, you agree that your contributions will be licensed under its MIT license.