Files
elysium/CLAUDE.md
T
hikari 6cc1310df5
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m8s
CI / Lint, Build & Test (pull_request) Successful in 1m10s
security: remove hardcoded R2 credentials from committed CLAUDE.md
2026-03-19 14:05:33 -07:00

2.1 KiB

Elysium Project Notes

CI Requirements

Never commit without first confirming the full pipeline passes locally:

  1. pnpm lint — zero errors, zero warnings
  2. pnpm build — all packages build cleanly
  3. pnpm test — all tests pass with 100% coverage on apps/api and packages/types

Art Assets

Game art is generated via the Gemini API (gemini-3-pro-image-preview, ~$0.134/image at 1K resolution) and hosted on the CDN at https://cdn.nhcarrigan.com/elysium/.

Process

  1. Generate images with curl to https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent?key=<API_KEY>, requesting soft-shaded anime style
  2. Save responses to /home/naomi/code/naomi/elysium/img/<category>/<id>.jpg
  3. Upload to R2 with the AWS CLI — credentials are in the global ~/.claude/CLAUDE.md (never commit them here)
  4. Delete the local img/ directory before committing (images live on CDN only)

CDN URL Helper

apps/web/src/utils/cdn.ts exports cdnImage(folder, id)https://cdn.nhcarrigan.com/elysium/<folder>/<id>.jpg

Directory → Category Mapping

Game entity CDN folder
Zones zones
Bosses bosses
Quests quests
Adventurers adventurers
Companions companions
Equipment equipment
Upgrades upgrades
Prestige upgrades prestige-upgrades
Transcendence upgrades transcendence-upgrades
Achievements achievements
Explorations explorations
Materials materials
Recipes recipes
Story chapter banners story-chapters

API Rate Limits

  • 250 images/day per API key — use a second key if quota is hit
  • Free-tier keys cannot use gemini-3-pro-image-preview; key must be on a billing-linked project

About Page

The About page (apps/web/src/components/game/aboutPanel.tsx) contains a How to Play guide that should be kept up to date as new features are added to the game. When implementing new game systems, zones, mechanics, or significant UI features, update the HOW_TO_PLAY array in aboutPanel.tsx to include a description of the new feature.