A default template for a monorepo using pnpm and Turborepo.
To get started install Node version 20+, and pnpm (globally).
We use pnpm, for reasons mentioned here. Install all dependencies by running pnpm i
in the root.
The template is configured as a pnpm workspace. There are two subfolders for code:
apps
which contains all the apps.packages
which contains all shared code and configuration.
For building and bundling, the following tools are included:
- TSup for building and bundling Typescript libraries.
- Typescript main development language.
- Vite for building web applications.
Packages and apps can include build
, dev
, and typecheck
scripts in their package.json
so they can be executed through the root versions of those commands.
Code style is determined by Biome. There are three code style commands included:
check
: lints, formats, and fixes imports. Automatically run on commit.format
: formats the codelint
: lints code
These commands do not use turbo.
The following testing tools are included in dev dependencies:
Packages and apps can include e2e
, test
, and test:watch
scripts in their package.json
so they can be executed through the root versions of those commands.
The following are additional support tools: