| name | stack-defaults |
| description | Use when choosing or confirming tech stack for a product or feature: frontend framework, database, auth, email, payments, hosting, search, or agent runtime. Applies AVID defaults (React/Vue, SQLite→Postgres/Supabase, Resend, Stripe, Playwright, Tavily, Context7) and records exceptions. Use during product-bootstrap or any greenfield/stack debate.
|
Stack Defaults
Opinionated defaults for AVID projects. Easy to override — record a short reason when you do. Scene beats table.
Default Stack Table
| Layer | Default | Notes |
|---|
| Frontend | React or Vue | Match existing repo; greenfield prefer React+TS unless user is Vue-native |
| UI quality | Design skills / impeccable patterns | No generic AI slop UI |
| Web QA | Playwright | Prefer a11y snapshots over pure screenshots |
| Email | Resend | Transactional + registration flows |
| Payments | Stripe | Don't hand-roll billing |
| Data (MVP) | SQLite | Local/dev/single-node first |
| Data (prod) | Postgres via Supabase when it fits | Auth/storage/realtime optional |
| Search (web) | Tavily | Default research path |
| Search (vertical) | AnySearch | Domain/structured retrieval |
| Lib docs | Context7 | New/fast-moving APIs — no memory guessing |
| Workflow agents | LangGraph + docs/skills | Only when workflow/HITL graph is real — see agent-framework-choice |
| Local harness agents | Pi SDK / pi-ai / embed Pi | Local/desktop/workspace agents only — not default for ordinary web FE/BE |
| Model API protocol (agent products) | Chat Completions /v1/chat/completions | Widest multi-model/gateway/Pi openai-completions support; Responses/Messages as optional extras |
| Minimalism | ponytail | Lazier working solution |
| Process (Claude Code) | Matt Pocock skills | Replaces Superpowers on CC; not for Codex/OpenCode |
| Frontend craft | Impeccable + taste-skill (design-taste-frontend) | Pair: taste direction + Impeccable polish/audit |
| Hosting (personal) | Existing VPS + Docker + reverse proxy pattern | Follow user infra notes |
Decision Rules
- Repo / scene wins: existing stack and deployment target override the table
- MVP data: SQLite until multi-writer, managed auth need, or clear prod path
- Managed beats yak-shave when it fits: Supabase/Stripe/Resend over custom SMTP + homegrown billing
- Docs before code on fast-moving APIs (Context7 / official)
- One frontend framework per product surface unless there's a real reason
- Agent runtime is scene-based — never "always Pi" or "always LangGraph"
- Agent model wire protocol — prefer Chat Completions for multi-provider; don't lock P0 to Responses-only unless product is OpenAI-only
Exception Log Format
When overriding a default, record:
- Layer: <e.g. email>
- Default: Resend
- Chosen: <X>
- Reason: <constraint>
Put exceptions in docs/spec.md or market/bootstrap package.
Anti-Patterns
- Postgres-on-day-1 for a solo MVP with no multi-user load
- Custom payment state machines instead of Stripe
- Guessing LangGraph/Pi APIs without docs
- Installing both React and Vue "for flexibility"
- Building email sending with raw SMTP "to save money" without cost math
Related
product-bootstrap, agent-framework-choice, install-dont-reinvent
references/stack-table.md