Flareforge Configuration
It is best practice to treat Flareforge’s configuration file as the source of truth for configuring a project.
Sample configuration
Section titled “Sample configuration”{ "site": {}, "i18n": { "locales": ["en"], "defaultLocale": "en" }, "pricing": { "plans": [] }, "taskDefinition": { "groups": [] }, "authProviders": ["google"], "features": { "showModeToggle": true, "enableInvoices": true, "enableSupport": true },}
Main configuration
Section titled “Main configuration”-
forge
object optionalapp
string optional- Path to the app directory, relative to the config file. Defaults to
"app"
.
- Path to the app directory, relative to the config file. Defaults to
locales
string optional- Path to the locales directory, relative to the config file. Defaults to
"locales"
.
- Path to the locales directory, relative to the config file. Defaults to
temp
string optional- Path to the temporary directory for generated files. Defaults to
".flareforge"
.
- Path to the temporary directory for generated files. Defaults to
-
i18n
object optionallocales
string[] required- An array of supported locale codes (e.g.,
["en", "fr"]
). Defaults to["en"]
.
- An array of supported locale codes (e.g.,
defaultLocale
string required- The default locale for non-prefixed paths (e.g.,
/
). Defaults to"en"
.
- The default locale for non-prefixed paths (e.g.,
-
site
object optional- See the Site section below for more information.
-
pricing
object required- See the Pricing section below for more information.
-
taskDefinition
object required- See the Task definitions section below for more information.
-
authProviders
string[] required- An array of authentication providers to enable.
- Available options are
google
,apple
,email
. - Defaults to
["google"]
.
-
features
object optional- An object containing feature flags to enable or disable specific features in your application.
showModeToggle
boolean optional- Controls whether the mode toggle (e.g., dark/light mode) is displayed in the UI.
enableInvoices
boolean optional- Enables the invoice management feature.
enableSupport
boolean coming soon- Enables support features in the application.
- An object containing feature flags to enable or disable specific features in your application.
Defines theme colors for both light and dark modes using valid OKLCH color strings.
brandColor
object requiredlight
object requiredmain
string requiredforeground
string requiredprimary
string requiredprimaryForeground
string required
dark
object requiredmain
string requiredforeground
string requiredprimary
string requiredprimaryForeground
string required
Pricing
Section titled “Pricing”Defines the pricing plans available for your application.
plans
Plan[] required- An array of plan objects. Each plan can be of type
credit
orsubscription
.
- An array of plan objects. Each plan can be of type
slug
string required- A unique identifier for the plan.
name
string required- The display name of the plan.
price
number required- The cost of the plan.
description
string required- A short description of the plan.
cta
object required- Call-to-action button configuration with
label
andvariant
properties. - Refer to the Plan CTA section below for details.
- Call-to-action button configuration with
icon
string optional- A valid Lucide icon name to display for the plan.
percentOff
number optional- A discount percentage to display on the plan card.
features
string[] optional- A list of features included in the plan.
type
'credit' required- Specifies a one-time purchase plan.
credits
number required- The number of credits provided upon purchase.
Plan CTA
Section titled “Plan CTA”label
string required- The text displayed on the call-to-action button.
variant
'default' | 'glow' required- The visual style of the button, either
default
orglow
.
- The visual style of the button, either
Task definitions
Section titled “Task definitions”Defines the structure of tasks your application will process. It is composed of groups
of fields.
groups
Group[] required- An array of group objects, where each group defines a logical set of data fields.
- Refer to the Group properties section below for details.
key
string required- A unique identifier for the group.
name
string required- The human-readable name for the group.
description
string optional- A description of the group’s purpose.
dynamic
object optional- Configuration to allow multiple instances of this group in a single task.
enabled
boolean required- If
true
, users can add multiple instances of this group.
- If
min
,max
,default
number optional- Define the limits and default count for dynamic groups.
- Configuration to allow multiple instances of this group in a single task.
fields
Field[] required- An array of field objects that make up the group.
- Refer to the Field properties section below for details.
name
string required- The key for the field in the data object.
label
string required- The display label for the field in the UI.
type
'text' | 'textarea' | 'asset' required- The type of input to render for the field.
required
boolean optional- Whether the field is mandatory. Defaults to
false
.
- Whether the field is mandatory. Defaults to
help
string optional- Help text displayed to the user.
placeholder
string optional- Placeholder text for the input field.