Thank you for your interest in contributing to Ralph!
Before submitting a pull request, ensure all checks pass:
| Command | Description |
|---|---|
bun run check |
Format and lint (auto-fixes issues) |
bun run typecheck |
TypeScript type checking |
bun test |
Run all tests |
bun run build |
Production build |
CI runs bun run check:ci which checks without auto-fixing, so run bun run check locally to fix issues before committing.
This project uses Conventional Commits. Commits are validated using commitlint.
-
Create a branch from
main:git checkout -b feature/<description>
-
Make your changes and ensure all checks pass.
-
Add a changeset if your changes affect the public API or user experience:
bun changeset # Make sure to use the correct semver level (patch/minor/major) -
Commit your changes following the commit message convention.
-
Push your branch and open a pull request against
main. -
Ensure CI passes and address any review feedback.
This project uses Changesets for version management. When making changes that should be included in the changelog:
- Run
bun run changeset - Select the type of change (patch/minor/major)
- Write a summary of your changes
- Commit the generated changeset file
Not all changes require a changeset. Skip for:
- Documentation-only changes
- CI/tooling changes
- Test-only changes