Fast Bridge is a Turborepo + pnpm monorepo with:
- Chain apps (
apps/<chain>) that are thin wrappers. - A shared app package (
packages/fast-bridge-app) that contains almost all UI/logic. - A root landing app (
apps/root) that links to chain deployments and serves built chain bundles.
pnpm install
pnpm dev:allUseful commands:
pnpm dev:root
pnpm build:all
pnpm chain:add <slug> --name "Chain Name"
pnpm chains:sync
pnpm vercel:env- Architecture:
docs/architecture.md - Add a chain:
docs/adding-chains.md - Chain customization and feature flags:
docs/customization.md - Agent workflow rules for this repo:
AGENTS.md
pnpm chain:add sonic --name "Sonic"Then:
- Fill
apps/sonic/.env.sonic. - Adjust
apps/sonic/src/runtime.tsfeature flags. - Run
pnpm --filter @fastbridge/sonic dev. - Run
pnpm vercel:envand sync prefixed env vars in deployment.
Edit shared code in packages/fast-bridge-app/src/**.
All chain wrappers pick it up automatically through Vite aliasing.
Use apps/<slug>/src/runtime.ts (chainFeatures) first.
If needed, add a new flag in packages/fast-bridge-app/src/types/runtime.ts and consume it in shared code.
- If you add new env keys in
.env.<slug>, runpnpm chains:syncsoturbo.jsontracks them. - If runtime image URLs are relative (for example
/logo.svg), route them throughwithBasePath(...)in shared code. - If shared files move, keep Tailwind source scanning updated in
packages/fast-bridge-app/src/index.css.