-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture and Stack
Lucas YourLastName edited this page Jul 17, 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 Node 24 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 24 + npm 11 | vendor archive + SHA-256 | all |
| Git | OS package | all |
GitHub CLI (gh) |
signed vendor repository / WinGet / Homebrew | template + CI |
VS Code (code) |
Microsoft repository / WinGet / Homebrew | editor + WSL |
Google Cloud CLI (gcloud) |
signed vendor repository / installer | provisioning |
Firebase CLI (firebase-tools) |
pinned local 15.24.0
|
provisioning + deploy |
Stripe CLI (stripe) |
brew install stripe/stripe-cli/stripe |
billing (optional) |
| Chrome DevTools MCP | npx chrome-devtools-mcp |
agent automation (optional) |
The one-line workstation installer installs and verifies the baseline before asking whether to enter setup. Authentication and optional Stripe/MCP/Microsoft 365 tooling remain explicit setup-phase actions.
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