devtools
Built-in devtools with live preview, hot reload, time-travel debugging, and more.
Import
import { devtools } from 'frog/dev'Usage
Check out the Devtools Guide for more information on features and how the devtools work.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
 
export const app = new Frog() 
 
app.frame('/', (c) => { ... })
 
devtools(app, { serveStatic })Parameters
appFid
- Type: 
number | undefined 
Custom Farcaster application FID for the devtools instance.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
 
export const app = new Frog() 
 
app.frame('/', (c) => { ... })
 
devtools(app, {
  appFid: 123,
})appMnemonic
- Type: 
string | undefined 
Custom Farcaster application mnemonic for the devtools instance.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
 
export const app = new Frog() 
 
app.frame('/', (c) => { ... })
 
devtools(app, {
  appMnemonic: 'foo bar baz ...',
})assetsPath
- Type: 
string | undefined 
The base path for devtools' assets.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
 
export const app = new Frog() 
 
app.frame('/', (c) => { ... })
 
devtools(app, {
  assetsPath: '/.frog',
})basePath
- Type: 
string - Default: 
'/dev' 
The base path for the devtools instance off the Frog instance's bathPath.
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
 
export const app = new Frog() 
 
app.frame('/', (c) => { ... })
 
devtools(app, {
  basePath: '/debug', // devtools available at `http://localhost:5173/debug`
  serveStatic,
})serveStatic
- Type: 
ServeStaticFunction | undefined 
Platform-dependent function to serve devtools' static files.
Node.js
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'frog/serve-static'
 
export const app = new Frog() 
 
devtools(app, {
  serveStatic,
}) serveStaticOptions
- Type: Inferred
 - Default: 
{ root: '<resolved path to frog/_lib/ui>', rewriteRequestPath: (path) => path.replace(devBasePath, '') } 
Parameters to pass to the serveStatic function.
Cloudlare Workers
import { Frog } from 'frog'
import { devtools } from 'frog/dev'
import { serveStatic } from 'hono/cloudflare-workers'
 
export const app = new Frog() 
 
devtools(app, {
  serveStatic, 
  serveStaticOptions: {
    manifest: await import('__STATIC_CONTENT_MANIFEST'),
    root: './',
  },
})