Skip to main content

Tech Stack

On this page

Tech Stack

Which position blocks the recipe?

A capability recipe cannot execute without the jobs underneath — persistence, identity, deployment. Name the position the recipe needs, check whether it is chosen or conditional or absent, then follow the next move:

  • Chosen → position is filled; recipe can proceed; check Documentation for player details
  • Conditional → player installed but not accepted as default; review Known Gaps or proceed with explicit acceptance
  • Absent → position unfilled; add to Known Gaps with Owner and Next

Example consumer: Authorise Bounded Work needs durable records and trusted identity. Check positions Data (PostgreSQL + Drizzle: chosen) and Trust (Better Auth: chosen) → recipe can stand.

Position is the job. Player is the replaceable mate. Choosing a product before naming the job is choosing backwards.

The lineup

Skip to coverage decision or see the current Stackmates choices below — positions first, players second. States are honest: chosen means evidenced in the live monorepo; conditional means installed or available but not accepted as the default production path. This is a short core lineup for the Stackmates game, not a complete catalogue.

Core engineering

PositionCurrent playerState
Source control and pull-request executionGit, GitHub, Cursorchosen
Workspace packages and task graphpnpm + Nxchosen
Affected CI and selective cloud proofLocal Nx + GitHub Actions (+ optional cloud executor)chosen
Source and static contractsTypeScriptchosen
Web application runtimeNext.js + Reactchosen
Styling and interaction primitivesTailwind CSS + Radixchosen
Interactive form stateTanStack Formchosen
Runtime boundary validationZodchosen
Relational persistencePostgreSQL + Drizzlechosen
AuthenticationBetter Authchosen
Model invocation and streamingVercel AI SDKchosen
Unit, integration, and browser proofVitest + Playwrightchosen
Web deploymentVercelchosen
Named server and API entrypointsNestJSchosen

Product and provider edges

PositionCurrent playerState
Payment executionStripechosen
Email deliveryResendchosen
Browser file uploadsUploadThingchosen
Fleet-wide public request admissionUpstash Redis + Ratelimitchosen
Principal chain integrationSuichosen
Additional active chain SDKSolanachosen
Sui-adjacent blob storageWalrusconditional

This is a short core lineup for the Stackmates game, not a complete vendor catalogue and not a claim that every venture already closes the atoms loop.

Serves recipes

Capability recipes own the work. The stack is what those recipes build upon and with. Skills and tools are ingredients inside a recipe, not a second catalogue.

demand → recipe → skills and tools inside it → stack positions underneath

The stack does not choose values or policy. Humans keep purpose, consent, stop, and accepted risk.

Coverage decision

game → positions the game needs → core / conditional / absent / unknown
→ must-gates → surviving players → smallest test → human selects mate
→ one journey across the lineup → return variance

Routes

Sub-topics

  • Documentation — see how governed source becomes a readable public site without losing provenance or release authority.

Pages

  • Known Gaps — record observable differences between intended stack direction and the live codebase before correcting them.