/acme

Primary LanguageTypeScript

Acme Monorepo

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

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)