Pre-requisites:
- Install Nix and optionally direnv
- If you use infisical for managing your
.envfiles:- run
infisical login - run
infisical init - take a look at the
.env.examplefiles to fill your secrets - run
pnpm env:pullto create/update all the.envfiles
- 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)