Skip to content

uradhere05/SigmaWarehouseGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

128 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIGMA WAREHOUSE

A satirical arcade browser game. Clock in, pick warehouse orders against the clock, survive escalating manager rage, and try not to get fired.

Play now → sigmawarehousegame.web.app


What It Is

SIGMA WAREHOUSE is a timed order-picking game with combo scoring, boss interruptions, and 70/30 weighted chaos. Success feels earned; failure feels like a bit. Built for former and current warehouse workers and anyone who finds corporate labor culture darkly funny.

Screen flow: Character Create → Welcome cutscene → Station Hub → OSR Gameplay → Results / Fired


Tech Stack

Layer Tech
UI React 19, Vite 8, Framer Motion 12, Tailwind CSS 4
State Zustand 5
Audio Web Audio API (procedural SFX)
AI Dialogue Anthropic Claude Haiku (via server-side proxy)
Hosting Firebase Hosting
Backend Firebase Cloud Functions (Node 22)
Tests Vitest 4, @vitest/coverage-v8, Playwright

Setup

# Install dependencies
npm install

# Start dev server (localhost:5173)
npm run dev

# Run tests
npm test

# Run browser E2E smoke tests
npm run test:e2e

# Run tests with coverage
npm run coverage

# Production build
npm run build

Environment Variables

The client requires no secrets. The Anthropic API key was moved server-side (ARN-5) and never ships in the browser bundle.

For the local Firebase Functions emulator only, create functions/.secret.local:

ANTHROPIC_API_KEY=sk-ant-...

See .env.example for full documentation. The live key is stored in Firebase Secret Manager — never in any .env file committed to the repo.

npm run build also scans the generated client bundle for likely secret references and fails if one appears in dist/.


Deployment

The app deploys to Firebase Hosting with a Cloud Function proxy for AI dialogue.

Hosting is deployed automatically. Every push to main that passes CI is published to Firebase Hosting by the deploy job in .github/workflows/ci.yml (via FirebaseExtended/action-hosting-deploy), typically live within ~2 minutes — no manual step needed. This requires the repo secret FIREBASE_SERVICE_ACCOUNT_SIGMAWAREHOUSEGAME (a Firebase Hosting Admin service-account key). Cloud Functions are not part of the auto-deploy and are still released manually.

Manual deploys (Functions, or hosting outside CI):

# Deploy everything (hosting + functions)
firebase deploy

# Hosting only
firebase deploy --only hosting

# Functions only
firebase deploy --only functions

Live site: https://sigmawarehousegame.web.app

To store or rotate the Anthropic key in Secret Manager:

firebase functions:secrets:set ANTHROPIC_API_KEY

Project Docs

  • PRODUCT.md — game concept, brand voice, and product goals
  • DESIGN.md — visual direction, tokens, and component guidelines
  • ARCHITECTURE.md — screen flow, state, persistence, OSR, testing, and multiplayer scope
  • CONTRIBUTING.md — local setup, checks, PR expectations, and contributor rules
  • SECURITY.md — client/server config boundaries, secret storage, and bundle-secret scanning
  • AGENTS.md / CLAUDE.md — coding-agent instructions

Development

npm run lint        # ESLint
npm test            # Vitest (single run)
npm run test:e2e    # Playwright critical-flow smoke tests
npm run test:watch  # Vitest watch mode
npm run coverage    # Coverage report (threshold: 80% on osrEngine.js)
npm run check:client-secrets # Scan dist/ for leaked client secrets

Issues and roadmap tracked in Linear.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages