Thank you for your interest in contributing to Perstack.
git clone https://github.com/perstack-ai/perstack.git
cd perstack
bun install
bun run buildgit checkout -b fix/your-fix
# ... edit code ...
bunx changeset # Select: affected package only, Type: patch
bun run typecheck && bun test && bun run build
git commit -m "fix: your changes"
git push origin fix/your-fixgit checkout -b feat/your-feature
# ... edit code ...
bunx changeset # Select: ALL packages, Type: minor
bun run typecheck && bun test && bun run build
git commit -m "feat: your changes"
git push origin feat/your-featureCore changes ripple through everything. Use major bump for all packages.
bunx changeset # Select: ALL packages, Type: majorbun run typecheck # Type checking
bun test # Unit tests
bun test:e2e # E2E tests
bun run build # Build all packages
bun run format-and-lint # Lint and format| Job | Description |
|---|---|
quality |
Lint, format, typecheck, knip, version sync |
test |
Unit tests with coverage |
build |
Build all packages |
changeset-check |
Verify changeset exists in PR |
- Merge PR with changeset to
main - "Version Packages" PR is automatically created
- Run
bun run build && bun test:e2elocally - Merge "Version Packages" PR → packages published to npm
Your changeset must include all packages that need the same major.minor version.
rm .changeset/your-changeset.md
bunx changeset # Select correct packagesChanged core types but forgot to update dependent packages.
- Fix the type errors
- Include all affected packages in changeset
- Both must have matching
major.minor
Breaking change requires major bump for all packages.
rm .changeset/your-changeset.md
bunx changeset # Select: ALL packages, Type: major- Questions: Open a discussion
- Bugs: Open an issue with reproduction
- Features: Open an issue with use case
Thank you for contributing to Perstack.