Contributing to static-tree
Thank you for stopping by. static-tree welcomes and appreciates your contribution.
Before opening a new issue, first search for existing issues to avoid duplications.
When you start working on an issue, make sure you are asked to be assigned to it.
Please include as much details as possible:
- steps to reproduce,
- a github repo that has enough setup to reproduce the bug would be nice. It might be helpful to clone this create a branch to reproduce your problem there and reference in your issue,
- screenshots.
If you have an idea and don't know where to start yet, consider opening a discussion first.
If you have a PR ready as your proposed implementation, you can create an issue and a PR that references it.
Each pull request should reference an open issue unless the change is very something simple such as a typo.
- Commit message should follow the Conventional Commits specification, if commit is intended for publication, make sure you include a new changeset in your commit.
- Code should be formatted with prettier and linted with eslint. They are already integrated into the codebase. See package.json for relevant scripts. There might also exist extensions for your editor that further enhance the experience with these tools.
- Code should be documented follow tsdoc, this will allow [generating docs].
This project is a monorepo that uses turborepo. For project-wise commands, see turbo.json & package.json at root project for available pipelines and scripts.
Dependency | Description | Version |
---|---|---|
node | refer to package.json | |
pnpm | npm alternative | refer to package.json |
Refer to package.json
in each app/package for all available scripts.
-
Install packages
pnpm install
-
Run tests and watch for changes
pnpm test
-
Lint & format:
pnpm lint --fix pnpm format --write
-
Build package
pnpm build
-
Generating api documentation (run only after build)
pnpm api
-
Add a changeset, following the on-terminal wizard
pnpm changeset