Create an app
Scaffold a new FrogBot project with everything wired up:--no-install to skip installing dependencies, or --no-git to skip Git. If the install fails, the command stops before Git and exits with an error.
See Coding agents for skill installation options, agent selection flags, and project paths.
For a non-interactive setup with the defaults, use --yes:
--ai zen, --ai openai, --ai anthropic, --ai google, or --ai bedrock. Pass the key with --api-key to write it to .env. Without prompts, a key already set in your environment is not copied into the app; the scaffolder tells you it found the key and did not copy it. Select another database with --db sqlite, --db postgres, or --db mongodb.
Command options
--yes is set or when it doesn’t run in an interactive terminal, and uses the defaults below for anything you didn’t pass.
An unknown option or a missing value exits with an error. An invalid choice exits with an error that lists the valid values.
Run the app
create-frogbot-app writes a .env file with a generated FROGBOT_SECRET, the connection string for your selected database, and your provider key if you entered one. Otherwise, add the key to .env (for example OPENAI_API_KEY=...). With OpenAI, Anthropic, or Google, add it before starting the app; the app does not start without it. Bedrock and Zen apps start without a key, but chat needs one.
src/frogbot.config.ts; see Configuration for the full schema. See CLI for every frogbot command.
Software requirements
- Node.js 24.21 or newer
- TypeScript 6.0.3 or newer
- npm, pnpm, yarn, or bun
- SQLite, PostgreSQL, or MongoDB — see Database
- Optional: an object store (S3, GCS, Azure, R2, or Vercel Blob) — see Configuration
Monorepos
Keep one copy offrogbot in a workspace. Each copy has its own types, so a block, field, or collection exported from a shared package fails to typecheck in an app that resolves a different copy. Check which copies are installed:
frogbot under peerDependencies, plus devDependencies so it can build and run its own tests. Never list it under dependencies, which installs a separate copy for that package.
Use the same frogbot version in every package. If pnpm why frogbot still shows more than one copy, run pnpm dedupe. An optional peer that only some packages install, such as @ai-sdk/otel, can also split frogbot into two copies; install it in every package that installs frogbot, or in none of them.
Next steps
Configuration
Configure app identity, auth, models, pieces, storage, and plugins.
Database
Choose a database adapter and review the core collections FrogBot registers.