Skip to content

Latest commit

 

History

History
117 lines (82 loc) · 3.84 KB

CONTRIBUTING.md

File metadata and controls

117 lines (82 loc) · 3.84 KB

Contributing to static-tree

Thank you for stopping by. static-tree welcomes and appreciates your contribution.

Table of Contents

Reporting Issues

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.

Bug Report

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.

Feature Request

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.

Pull Requests

Each pull request should reference an open issue unless the change is very something simple such as a typo.

Consistent Code Style

  1. Commit message should follow the Conventional Commits specification, if commit is intended for publication, make sure you include a new changeset in your commit.
  2. 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.
  3. Code should be documented follow tsdoc, this will allow [generating docs].

Development

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.

Prerequisites

Dependency Description Version
node refer to package.json
pnpm npm alternative refer to package.json

Typical Workflow

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