Pre-requisites:
- Install Nix and optionally direnv
- If you use infisical for managing your
.env
files:- run
infisical login
- run
infisical init
- take a look at the
.env.example
files to fill your secrets - run
pnpm env:pull
to create/update all the.env
files
- run
Opiniated TypeScript monorepo architecture including:
- Stable system dependencies (Nix/Devenv)
- Pure ESM packages
- Fast package manager (Pnpm)
- Type-checking (TypeScript)
- Lint (ESLint)
- Format (Prettier)
- Task runner (Turborepo)
- Monorepo lint (Knip)
- Unit/Integration tests (Vitest)
- Components/E2E tests (Playwright)
- Storybook
- Stories tests (a11y included)
- Vite web app
- CLI app
- API backend
- Shared core/SDK
- GitHub Action for tests
- Renovate for dependencies updates
- Environment variables management with infisical
- Use Bun
- GitHub Action for deployments
- GitHub Action for previews
- Design-system / UI library
- Changesets for versioning and publishing packages
- Observability (Opentelemetry/Grafana Tempo)