Skip to content

Latest commit

 

History

History
100 lines (65 loc) · 3.85 KB

CONTRIBUTING.md

File metadata and controls

100 lines (65 loc) · 3.85 KB

Contribution Guidelines

When contributing to create-t3-app, whether on GitHub or in other community spaces:

  • Be respectful, civil, and open-minded.
  • Before opening a new pull request, try searching through the issue tracker for known issues or fixes.

How to Contribute

Prerequisites

In order to not waste your time implementing changes that has already been declined, or is generally not needed, start by opening an issue describing the problem you would like to solve.

Setup your environment

Some commands will assume you have the Github CLI installed, if you haven't, consider installing it, but you can always use the Web UI if you prefer that instead.

In order to contribute to this project, you will need to fork the repository:

gh repo fork t3-oss/create-t3-app

then, clone it to your local machine:

gh repo clone <your-github-name>/create-t3-app

This project uses pnpm as its package manager. Install it if you haven't already:

npm install -g pnpm

Then, install the project's dependencies:

pnpm install

Implement your changes

This project is a Turborepo monorepo. The code for the CLI is in the cli directory, and the docs is in the www directory. Now you're all setup and can start implementing your changes.

Here are some useful scripts for when you are developing:

Command Description
pnpm dev:cli Builds and starts the CLI in watch-mode
pnpm dev:www Starts the development server for the docs with HMR
pnpm build:cli Builds the CLI
pnpm build:www Builds the docs
pnpm build Builds CLI and docs
pnpm format Formats the code
pnpm lint Lints the code
pnpm lint:fix Lints the code and fixes any errors
pnpm check Checks your code for typeerrors, formatting and linting

When making commits, make sure to follow the conventional commit guidelines, i.e. prepending the message with feat:, fix:, chore:, docs:, etc... You can use git status to double check which files have not yet been staged for commit:

git add <file> && git commit -m "feat/fix/chore/docs: commit message"

When you're done

Check that your code follows the project's style guidelines by running:

pnpm check

Please also make a manual, functional test of your changes.

If your change should appear in the changelog, i.e. it changes some behavior of either the CLI or the outputted application, it must be captured by changeset which is done by running

pnpm changeset

and filling out the form with the appropriate information. Then, add the generated changeset to git:

git add .changeset/*.md && git commit -m "chore: add changeset"

When all that's done, it's time to file a pull request to upstream:

NOTE: All pull requests should target the next branch. main has been feature-locked since 2022-10-06.

gh pr create --web

and fill out the title and body appropriately. Again, make sure to follow the conventional commit guidelines for your title.

Credits

This documented was inspired by the contributing guidelines for cloudflare/wrangler2.