Install
ShowPony is a standalone Kumiko app — same shape as production apps: Bun,
Postgres, Redis, published @cosmicdrift/kumiko-* packages from npm. This
chapter gets a fresh clone running locally.
What you need
Section titled “What you need”- Bun
- Docker (for Postgres + Redis)
Clone and boot
Section titled “Clone and boot”git clone https://github.com/CosmicDriftGameStudio/show-ponycd show-ponycp .env.example .envdocker compose up -d # Postgres + Redisbun installbun devThe defaults in .env.example already match docker-compose.yml — a fresh
clone runs with no edits. *.localhost resolves to 127.0.0.1 in the browser,
so you never touch /etc/hosts.
What lands in the repo
Section titled “What lands in the repo”| File | What it does |
|---|---|
package.json | npm deps + the bun dev script |
tsconfig.json / biome.json | strict TS + lint rules |
.env.example / docker-compose.yml | Postgres + Redis for local dev |
bin/server.ts | dev server: runDevApp + demo host + admin login |
src/run-config.ts | single source of truth for feature composition |
src/features/show-pony/feature.ts | the showpony feature (built up in later chapters) |
src/styles.css | lavender/violet brand (see chapter 2) |
src/public/ | guest invite page (React, chapter 9) |
At the end of this chapter the process boots. After chapter 3 you’ll reach the login screen below; seeded events and guests appear once the app is fully wired in chapter 6.
Smoke-check
Section titled “Smoke-check”bun run typecheck # greenbun devOpen http://show-pony.localhost:4180 — login as [email protected] / changeme
once foundation auth is mounted. For the platform operator workspace, use
[email protected] / changeme (chapter 8).
Docker compose
Section titled “Docker compose”Postgres and Redis for local dev:
# Local Postgres + Redis for `bun dev`. Start with `docker compose up -d`.# The defaults match .env.example, so a fresh clone runs with no edits.services: postgres: image: postgres:18.4-alpine environment: POSTGRES_USER: showpony POSTGRES_PASSWORD: showpony POSTGRES_DB: show_pony_dev ports: - "5432:5432" volumes: - showpony-pg:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U showpony -d show_pony_dev"] interval: 3s timeout: 3s retries: 10 redis: image: redis:8-alpine ports: - "6379:6379" meilisearch: image: getmeili/meilisearch:v1.12 environment: MEILI_MASTER_KEY: kumiko-dev-key MEILI_ENV: development ports: - "17700:7700" volumes: - showpony-meili:/meili_data healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:7700/health"] interval: 5s timeout: 3s retries: 10
volumes: showpony-pg: showpony-meili:📄 On GitHub: docker-compose.yml