Miscellaneous
How to Contribute
Learn how to contribute to Zap.ts
How to Contribute to Zap.ts
Thank you for your interest in contributing to Zap.ts! We welcome all contributions, whether you're fixing bugs, improving documentation, or adding new features.
Getting Started
- Fork the repository
- Click the "Fork" button on GitHub to create your own copy.
- Clone your fork
git clone https://github.com/<your-username>/zap.ts.git
cd zap.ts
git remote add upstream https://github.com/alexandretrotel/zap.ts.git
- Create a new branch
git checkout -b my-feature-branch
Setting Up the Monorepo
-
Install dependencies
- Run
bun install
from the root directory to install all packages.
- Run
-
Set up environment variables
- In the
core/
directory, run:zap generate env
- Rename the generated file to
.env
insidecore/
. - Run
bun install
again incore/
.
- In the
The .env
file may be required for the core
package to compile and for Husky pre-commit hooks to pass. If Husky blocks your commit, you may use git commit --no-verify
and/or git push --no-verify
, but this is discouraged and may reduce the chance of your PR being merged.
Making Changes
- Make your changes in a dedicated branch.
- Ensure your code passes all checks and tests.
- If you add or change features, create a changeset:
bun changeset
.
Opening a Pull Request
- Push your branch
git push origin my-feature-branch
- Open a PR
- Go to your fork on GitHub and click "Compare & pull request".
- Fill out the PR template and describe your changes.
Review Process
- Your PR will be reviewed by maintainers.
- Address any requested changes.
- Once approved, your PR will be merged.
Quality and DX tools
- Husky: Enforces pre-commit checks for code quality.
- Ultracite: Ensures accessibility and code style rules.
- Changesets: Used for managing versioning and changelogs.
- Turbo: Used for fast monorepo builds, caching, and running tasks efficiently across packages.
Additional Resources
If needed, open an issue. You can also join the GitHub discussions or the Discord.
Thanks for helping make Zap.ts better!
Last updated on