This guide is based on https://suseejs.vercel.app/guide/contribution-overview.html:
- Contribution Overview
- Contributing to Susee
- Contributing to Core Build Packages
- Pull Request Checklist
You can contribute to two places in the ecosystem:
susee(this repository): https://github.com/phothinmg/susee- Core build scope packages in
suseejsmonorepo: https://github.com/phothinmg/suseejs
Choose one path first so your change stays focused.
If your report is security-related, do not open a public issue.
Use the private disclosure instructions in SECURITY.md.
- Keep changes small and focused.
- Add tests when behavior changes.
- Keep docs aligned with code, CLI, and config behavior.
- Prefer backward-compatible changes unless a breaking change is intentional and documented.
- Use
npmas package manager for consistency with lock-files and scripts. - Install hooks after clone when available.
This path is for changes in this repository (susee).
git clone https://github.com/phothinmg/susee.git
cd susee
npm install
npm run hooks:installgit checkout -b feat/my-changeCommon areas:
src/cli/**for CLI behavior (argument parsing, init, help)src/compiler/**for in-memory TypeScript compilation and JSX handlingsrc/config/index.tsfor config types, validation, and normalizationsrc/build.tsandsrc/bundler.tsfor build orchestration and bundlingsrc/helpers/**for file system operations and minificationsusee-docs/contents/**for documentation updates
npm run build # compile src/ via oxnode build.ts
npm run lint # oxlint
npm run fmt:check # oxfmt --checkOptional formatting:
npm run fmt # oxfmt
npm run lint:fix # oxlint --fixUse the commit helper:
npm run commitOpen your pull request at: https://github.com/phothinmg/susee
This path is for changes in the suseejs monorepo.
git clone https://github.com/phothinmg/suseejs.git
cd suseejs
npm install
npm run hooks:installCore build packages consumed by susee:
@suseejs/susee_bundler— oxc-powered bundling engine@suseejs/ts6— TypeScript compiler fork for type-checking and declaration emit
Recommended flow:
- Change one package first.
- Run tests/build for that package.
- Validate dependent packages if shared contracts changed.
Susee consumes these packages, so behavior changes should:
- be documented when needed
- be verified in integration behavior
- avoid silent breaking changes
npm run commitOpen your pull request at: https://github.com/phothinmg/suseejs
Use this checklist before opening a PR in either repository.
- The PR addresses one clear problem.
- The title and description clearly explain what changed and why.
- Out-of-scope changes were avoided.
- New code follows existing style and project patterns.
- Edge cases and error handling were considered.
- Config/CLI/API changes are consistent across code and docs.
- Existing tests pass.
- New tests were added for changed behavior.
- Manual verification was done for affected CLI/build output paths.
- Relevant documentation was updated.
- Examples still match current behavior and option names.
- Breaking changes are clearly called out.
- Consumer impact is documented (especially for
@suseejs/*).
- Branch is up to date with base branch.
- Commit messages are clear.
- Dependencies were installed with
npm. - Hooks were installed when the repository provides them.
- PR is ready for review.
These docs pages were used as the source for this file:
docs/contents/guide/contribution-overview.mddocs/contents/guide/contribution-susee.mddocs/contents/guide/contribution-core-build-packages.mddocs/contents/guide/contribution-pr-checklist.md