Ketryon Doc
⌘K

Getting Started

How a new internal app gets scaffolded in this monorepo.

This is a pnpm workspace with two kinds of packages: apps under apps/* and shared code under packages/*.

Running an app locally

Every app runs on its own fixed port so several can run side by side:

AppPort
web3001
smm3002
seo3003
dir3004
doc3005
pnpm --filter <app> dev

Scaffolding a new app

New internal tools start from the same foundation as dir/smm/seo:

  1. Copy the standard config files — tsconfig.json, eslint.config.mjs, postcss.config.mjs, next.config.ts (with transpilePackages: ["@ketryon/ui"]).
  2. Copy app/globals.css and give the new app the next unused base font-size in the sequence (see Conventions).
  3. Set up app/layout.tsx and app/manifest.ts with robots: { index: false, follow: false } — internal tools don't get indexed.
  4. Copy the shared brand assets into public/ — they're identical across every app.

Adding an interaction sound

Once an app has a real UI interaction to wire up (not before — there's nothing to gain from installing an unused dependency), add @ketryon/sound and map the interaction to one of the curated "Playful" pack's sounds.