-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture and Stack
Lucas YourLastName edited this page Jul 11, 2026
·
3 revisions
The stack is an opinionated, vendor-neutral-where-possible baseline. Versions are pinned baselines — bump them deliberately, not accidentally.
| Layer | Default choice | Swap-friendly? |
|---|---|---|
| Language | TypeScript (strict) | No — assumed everywhere |
| UI runtime | React 19 | Yes (Preact/Solid possible, not covered) |
| Build / dev server | Vite 8 | No — core of the template |
| Styling | Tailwind CSS 4 + Radix UI primitives | Yes |
| Auth / DB / Storage | Firebase (Auth, Firestore, Storage, RTDB) | Partial |
| Serverless backend | Firebase Cloud Functions (Node 22) | Yes (Cloud Run noted) |
| Payments | Stripe (Checkout + Webhooks) | Yes (optional) |
| Hosting | Firebase Hosting | Yes (Cloud Run / static host noted) |
| Cloud platform | Google Cloud (gcloud) |
No — Firebase lives on GCP |
| Errors / tracing | Sentry | Yes (optional) |
| Unit tests | Vitest + Testing Library | Yes |
| E2E tests | Playwright | Yes |
| Lint / format | ESLint 9 (flat config) | Yes |
| CI/CD | GitHub Actions | Yes |
| Agent tooling | Chrome DevTools MCP | Yes (optional) |
| Tool | Baseline | Why |
|---|---|---|
| TypeScript | ~5.9 |
Strict types across app, functions, scripts |
| React | ^19 |
Component model; concurrent features |
| React Router | ^7 |
Client routing + data APIs |
| Tool | Baseline | Why |
|---|---|---|
| Vite | ^8 |
Dev server + Rolldown/Rollup-compatible production build |
@vitejs/plugin-react |
^5 |
JSX transform |
| Tailwind CSS | ^4 |
Utility styling via @tailwindcss/vite
|
lucide-react |
latest | Icon set |
| Tool | Baseline | Why |
|---|---|---|
| Firebase (web SDK) | ^12 |
Auth, Firestore, Storage, RTDB, Analytics |
firebase-admin |
^13 |
Privileged server SDK in functions |
| Cloud Functions runtime | nodejs22 |
Serverless backend + webhooks + cron |
Google Cloud (gcloud) |
latest | Platform, IAM, billing, logs |
| Tool | Baseline | Why |
|---|---|---|
| Vitest + Testing Library |
^4 / latest |
Unit + component tests |
| Playwright | ^1.6x |
E2E + visual/a11y audits |
| ESLint (flat config) | ^9 |
Linting; --max-warnings=0 in CI |
Sentry (@sentry/react) |
^10 |
Error + performance monitoring |
@firebase/rules-unit-testing |
^5 |
Firestore/Storage rules tests |
flowchart TD
A[index.html] --> B[src/main.tsx]
B --> C[RouterProvider · src/router.tsx]
C --> D[Layout · Navbar + Outlet + Footer]
D --> E[Pages: Home / About / Services / Docs / Login / Contact / 404]
B -.imports.-> F[src/config/firebase.ts]
F -->|VITE_FIREBASE_* present| G[(Firebase: Auth · Firestore · Storage)]
F -->|not configured| H[Guarded no-op exports · app still boots]
-
src/config/firebase.tsonly callsinitializeAppwhen a project ID is present, so the template builds and runs before credentials exist. Exports (auth,db,storage) arenulluntil configured. -
vite.config.tssets the@→srcpath alias and splitsreactandfirebaseinto separate chunks. -
Tailwind 4 is loaded via the
@tailwindcss/viteplugin (no separatetailwind.config.jsrequired for the baseline).
| CLI | Install | Used in |
|---|---|---|
| Node.js + npm (≥ 20; 22 recommended) | nvm / installer | all |
| Git | OS package | all |
GitHub CLI (gh) |
brew install gh |
template + CI |
Google Cloud CLI (gcloud) |
Google installer | provisioning |
Firebase CLI (firebase-tools) |
npx --yes firebase-tools or global firebase
|
provisioning + deploy |
Stripe CLI (stripe) |
brew install stripe/stripe-cli/stripe |
billing (optional) |
| Chrome DevTools MCP | npx chrome-devtools-mcp |
agent automation (optional) |
💡 You don't have to install these by hand —
.SYSTEMX/scripts/bootstrap.shinstalls, authenticates, and verifies all of them in one pass (bash .SYSTEMX/scripts/bootstrap.sh --with-stripe --with-mcp --interactive-login).
See the full rationale in
.SYSTEMX/Template/WEBAPP-STACK-G1.0.md.
SFWA-WTL-G1 · Standard Firebase Web App, Wayne Tech Lab Generation 1 · Provided by Wayne Tech Lab LLC under MIT · Use at your own risk · Subject to daily change · Repository
- Home
- Quick Start
- WTL Standard Setup Guide
- One-Line Install
- Platform Matrix
- Linux Setup
- Windows Setup
- Architecture and Stack
- Project Structure
- SYSTEMX Root and Folder Standard
- Setup Playbook
- Environment Variables
- Security
- Deployment
- Testing and QA
- MCP and Agents
- GitHub Authors and Contribution Notes
- SYSTEMX WEBPORTAL
- White Paper
- Executive Summary
- CISO Note From the Founder
- Wayne Tech Lab Purpose
- Security Overview
- Long-Term Warnings
- .ENV Solutions
- Menu Operations
- Setup and Deployment
- Start and End of Day
- SYSTEMX Sync and Controlled Updates
- Agent 0 and Subagents
- Agent 0 Operating Model
- How Subagents Work
- Starter Prompts and Smart Routing
- Third-Party Responsibility
- User Ingest and Production Setup
- FAQ