This repo now includes:
- A Godot level system (10 levels, completion rewards, level selector, progression state)
- Cross-runtime hosts:
- React Native + Expo +
@borndotcom/react-native-godot - Next.js browser host (
web/) - Electron desktop host (
electron/)
- React Native + Expo +
- Local Supabase roundtrip for game progress (frontend -> Godot -> Supabase and Supabase -> Godot)
- Dockerized dev stack for web/native bridge
- Python sprite template engine for transparent, fixed-size deep-sea sprite sheets
- Generate runtime configs:
npm run template:generate
- Install web + electron packages:
npm run knowns:bootstrap
- Start local Supabase + docker services:
make up
- Apply DB schema:
make supabase-schema
Supabase behavior:
make upstarts Supabase only when it is not already running.make downstops Supabase only if it was started by this repo.
- Main stack:
docker-compose.yml - Docker build files:
docker/*.Dockerfile - Ignore rules:
.dockerignore - Entry points:
Makefile
Common commands:
make up(web + bridge + native metro)make up-desktop(adds electron profile)make downmake logsmake sprites(runs sprite generator in Docker)
- React Native Metro:
npm run start(ormake nativein docker) - iOS:
npm run ios - Android:
npm run android - Web (Next.js):
npm run web:dev - Desktop (Next.js + Electron):
npm run desktop:dev - Bridge API only:
npm run bridge:dev
- Install Python deps in a venv and generate sprites:
python3 -m venv .venv && source .venv/bin/activatepip install -r tools/sprites/requirements.txtnpm run sprites:gen
- API:
http://127.0.0.1:54321 - REST:
http://127.0.0.1:54321/rest/v1 - Studio:
http://127.0.0.1:54323 - DB:
postgresql://postgres:[email protected]:54322/postgres