Create a vertical
pnpm create-app <name> --display "<DISPLAY>" --tagline "<TAGLINE>" --keywords "<a,b,c>"The scaffolder copies the working vertical pattern (apps/fashion is the template): core packages + denpa.config.ts + a home board + a /broadcast smart-TV clock + /api/health.
What you get
Section titled “What you get”| File | Role |
|---|---|
denpa.config.ts | identity, theme, copy, market scope — details |
app/layout.tsx | reads config.theme |
app/page.tsx | export default createForkPage(config) |
app/broadcast/page.tsx | export default createForkBroadcastPage(config) |
app/api/health/route.ts | { ok: true } |
Dependencies: @denpa/{app-config,sdk,types,ui} + next/react; next.config.mjs transpiles @denpa/sdk-core and @denpa/realtime.
Scaffolder caveats
Section titled “Scaffolder caveats”Read before trusting the output:
- The template uses
markets: VERTICAL_SCOPES.fashion. The scaffolder cannot rewrite that, so a fresh fork silently inherits the fashion scope until you editdenpa.config.ts. providersis not set — a Kalshi-first fork is a manual edit.- The theme stays the template’s until changed.
Always open denpa.config.ts first.
Register and build
Section titled “Register and build”- Add
{ "path": "./apps/<name>" }totsconfig.references.json. pnpm install && pnpm --filter @denpa/<name> builduntil it compiles clean.- Add a
<name>)branch torailway.toml(start) andscripts/railway-build.sh(build). See Deploy.
Ask Claude Code to do it
Section titled “Ask Claude Code to do it”Paste from the repo root:
Fork Denpa into a new vertical called <name> ("<Display Name>", <one-line tagline>).1. Run: pnpm create-app <name> --display "<DISPLAY>" --tagline "<TAGLINE>" --keywords "<a,b,c>"2. Edit apps/<name>/denpa.config.ts — distinct theme, markets.includeKeywords for my vertical.3. Keep app/broadcast wired to the smart-TV clock; scope it with createForkBroadcastPage(config, { categories: [...] }) if my vertical maps to a known clock category.4. For full parity follow FEATURES.md; writes ONLY through denpa.ai/api/predictions with a dk_ key. Never re-implement scoring, resolution, receipts, or identity.5. pnpm install && pnpm --filter @denpa/<name> build — fix until clean.6. Print the Railway deploy steps and env vars (NEXT_PUBLIC_API_URL, PROGRAM_CLOCK_URL).Do not touch apps/web or denpa.ai's broadcast surface.