Tech Stack
FRAME is built on a modern, secure, and scalable technology stack. Below is a detailed breakdown of the core technologies used in this project.
FRAME leverages a variety of open-source libraries and tools to ensure a strong developer experience and AI-assisted development.
At a glance
Section titled “At a glance”- Language: TypeScript for frontend and backend
- Database: PostgreSQL
- ORM: Drizzle ORM
- Validation: Zod
- Testing: Vitest & Playwright
- Product UI: Tailwind CSS v4 + shadcn/ui
Detailed Breakdown
Section titled “Detailed Breakdown”- Language: TypeScript — Typed JavaScript superset (
tsc/ TypeScript native preview for type-check). - Package Manager: pnpm — Fast package manager that is efficient with disk space.
- Monorepo Manager: Turborepo — Task orchestration and caching for monorepos.
- Portability: Docker (and Docker Compose) — Containers for Postgres and local environments.
- Database: PostgreSQL.
- ORM: Drizzle ORM — TypeScript-typed ORM.
- Validation: Zod — Shared schemas in DTOs and API boundaries.
- Domain events:
@frame/events— Zod integration contracts between modules. - Logs: Evlog — Request observability and drains.
Backend
Section titled “Backend”- Framework: NestJS — Modular API (
apps/nest). - Authentication: Better Auth.
- API Documentation: OpenAPI (rendered via Scalar in the Astro portals).
Frontend
Section titled “Frontend”- Frameworks:
- Styling (by surface):
apps/next/apps/astro/docs/: Tailwind CSS v4 + shadcn/ui (Next).- CSS Modules only for complex layout in Next; not as the primary design system.
- Icons: Lucide React.
- State Manager: Zustand.
- Data fetching: TanStack Query + @better-fetch/fetch.
- Internationalization: next-intl.
- Templates: React Email.
- Transport: Nodemailer.
Testing and QA
Section titled “Testing and QA”- Unit Tests: Vitest.
- E2E Tests: Playwright.
- Git Hooks: Lefthook — format, lint, and type-check on pre-commit.
- Commit Convention: Commitlint — Conventional Commits.
Development Tools
Section titled “Development Tools”- Formatting: Oxfmt.
- Linting: Oxlint.
- Secrets Management: Infisical or Bitwarden Secrets Manager.
- Code Generation: Turbo Gen (
pnpm gen).
Continuous Integration and Deployment
Section titled “Continuous Integration and Deployment”- GitHub Actions: GitHub Actions.
- Release Management: Semantic Release.
- Container registry: GitHub Packages.