Skip to main content

Tech Stack

Core Technologies

LayerTechnologyVersion
ServerFastify5.x
ClientReact19.x
Client RoutingReact Router7.x
DatabaseSQLite (via better-sqlite3)--
ORMDrizzle ORM0.45.x
BundlerWebpack5.x
StylingCSS Modules--
TestingJest (unit/integration), Playwright (E2E)30.x / 1.58.x
LanguageTypeScript~5.9
RuntimeNode.js24 LTS
ContainerDocker (Alpine)--
Monoreponpm workspaces--

Key Design Decisions

Each major technology choice is documented in an Architectural Decision Record (ADR) on the GitHub Wiki:

  • ADR-001: Server Framework (Fastify)
  • ADR-002: Frontend Framework (React)
  • ADR-003: Database and ORM (SQLite + Drizzle)
  • ADR-004: Bundler (Webpack)
  • ADR-005: Testing Framework (Jest + Playwright)
  • ADR-006: Styling (CSS Modules)
  • ADR-007: Project Structure (npm workspaces)

Dependency Policy

Cornerstone follows strict dependency policies:

  • No native binary frontend tooling -- tools like esbuild, SWC, and Tailwind v4 ship platform-specific binaries that fail in certain environments. Cornerstone uses pure JavaScript alternatives (Webpack, Babel, PostCSS).
  • Pinned versions -- exact versions rather than caret ranges (^) to prevent unexpected upgrades.
  • Zero known vulnerabilities -- npm audit must pass before merging.

Further Reading

For detailed technical documentation, visit the GitHub Wiki: