Skip to content

Project structure

Your new Flareforge project generated from the create flareforge CLI wizard already includes everything you need to get started.

Flareforge leverages an opinionated folder layout for your project. Every project root should include the following directories and files:

  • .flareforge/ - Generated by Flareforge Codegen, this directory contains metadata and generated code.
  • app/* - Frontend code, including your pages, blocks, and styles.
  • workers/* - Task runners handling logic.
  • locales/* - Localization files for internationalization (i18n).
  • migrations/* - Database migrations for your application.
  • package.json - A project manifest.
  • flareforge.jsonc - A Flareforge configuration file. (required)
  • wrangler.jsonc - A Wrangler configuration file. (required)
  • drizzle.config.ts - A Drizzle ORM configuration file. (required)
  • react-router.config.ts - A React Router configuration file. (required)
  • vite.config.ts - A Vite configuration file. (required)
  • tsconfig.json - A TypeScript configuration file. (recommended)
  • .dev.vars - A file for local development environment variables. (optional)

A common Flareforge project directory might look like this:

  • Directory.flareforge/
  • Directoryapp/
    • Directoryblocks/marketing/
      • faq.tsx
    • style.css
  • Directoryworkers/
    • index.ts
  • Directorylocales/en/
    • marketing.ts
    • task_fields.ts
  • Directorymigrations/
    • Directorymeta/
    • 0000_misty_blue_blade.sql
  • package.json
  • flareforge.jsonc
  • wrangler.jsonc
  • drizzle.config.ts
  • react-router.config.ts
  • vite.config.ts
  • tsconfig.json
  • .dev.vars