Properties
The name of your application. Example: 'LaunchIt'
The URL of your application. Example: process.env.NEXT_PUBLIC_SITE_URL ?? ''
The description of your application. This uses a translation key. Example: 'config.appDescription'
The Twitter handle for your application. Example: '@yourhandle'
If you wish to display an onboarding page after the user signs up, you can enable it here. This will per default ask the user for his first name and last name. Example: true
The folder containing your blog content files. Example: 'web/content/blog'
Internationalization (i18n) configurations. Enable or disable the language routing and switching via prefix e.g. /en
. Example: true
The default language for your application. Example: 'en'
Authentication configurations. LaunchIt supports multiple authentication methods that can be enabled or disabled based on your needs. Magic link/password login will still work - this hides the login button, and disables signups. This is useful for beta testing.
If you want to disable logging in completely, open web/app/[locale]/(unprotected)/signin/page.tsx
and remove the file or return a 404. Example: true
Enable traditional email/password login. Example: true
Enable passwordless login via email links. Example: true
defaultLoginMethod
'magic_link' | 'sign_in'
required
Set the default login method. Example: 'magic_link'
Toogle if the user needs to be logged in to make a purchase. Example: true
The URL for the privacy policy. Necessary for legal compliance (Cookie consent banner) and footer. Example: '/privacy'
The URL for the terms of service. Necessary for legal compliance (Cookie consent banner) and footer. Example: '/tos'
cookieBanner
CookieBannerConfig
required
Cookie consent banner configurations. Enable or disable the cookie consent banner. If disabled, the banner will not be displayed and every service will be loaded by default. Example: true
Additional service configurations. Enable or disable Posthog analytics. Example: true
Enable or disable Plausible analytics. Example: true
Enable or disable Google Analytics. Example: false
Pricing configurations. LaunchIt supports both subscription and one-time purchase models. The pricing configuration is one of the most complex parts of the setup. defaultModel
'subscription' | 'one-time'
required
Set the default pricing model that is displayed by the <Pricing />
component. Example: 'subscription'
Free tier configuration. If you want to display a free tier, you can configure it here. It will automatically redirect to the sign-in page. The name of the free product. Example: 'config.pricing.free.title'
The description of the free product. Example: 'config.pricing.free.description'
An array of features included in the free tier. Example: [ { name: 'config.pricing.features.core1' }, { name: 'config.pricing.features.core2' } ]
An array of features explicitly not included.
The number of credits new users receive. Example: 3
Toggle the free tier. Example: false
Whether to highlight this product in the UI.
subscriptions
SubscriptionProduct[]
required
Array of subscription product configurations. The name of the subscription. Example: 'config.pricing.subscriptions.basic.name'
The hierarchy level of the plan. Example: 1
The description of the subscription. Example: 'config.pricing.subscriptions.basic.description'
An array of features included in the subscription.
An array of features explicitly not included.
Monthly pricing configuration. The Stripe price ID for the monthly plan. Example: process.env.NEXT_PUBLIC_STRIPE_STARTER_MONTHLY_PRICE_ID ?? ''
The monthly price. Example: 9.99
The anchor price to show discount. Example: 14.99
Annual pricing configuration.
The number of credits awarded each month. Example: 100
Promotion configuration for the subscription. The promotion code for customers. Displayed on the pricing card. Example: 'LAUNCH70'
The discount percentage. Needed for showing the discount badge. Example: 70
The corresponding Stripe promotion ID. Needed for automatic application. Example: 'promo_1QWMbOCVjR3erEYezwWi7faL'
Whether to automatically apply the promotion in stripe. (Note: This will force users to use the promotion code. They cannot remove it or use another code.) Example: false
Whether to show the promotion badge on the pricing card. Example: false
Whether to highlight this plan in the UI. Example: false
oneTimePurchases
OneTimePurchaseProduct[]
required
Array of one-time purchase configurations. Show OneTimePurchaseProduct
The name of the one-time purchase. Example: 'config.pricing.oneTime.starter.name'
The hierarchy level of the purchase. Example: 1
The description of the one-time purchase. Example: 'config.pricing.oneTime.starter.description'
An array of features included in the purchase.
An array of features explicitly not included.
Pricing configuration for the one-time purchase.
The total credits included with the purchase. Example: 100
validityPeriod
'lifetime' | `${number}-months`
required
The validity period of the purchase. Example: 'lifetime'
Promotion configuration for the purchase.
Whether to highlight this purchase in the UI. Example: false
Navigation configurations. Whether the navigation bar is sticky. Example: true
oAuth Providers
Array of OAuth provider configurations. See List of supported OAuth Providers . This will be automatically used in the <OAuthSignIn />
component on the sign-in page. The name of the OAuth provider. Example: 'github'
The display name for the provider. Example: 'GitHub'
The icon configuration for the provider.
Validation Checks:
At least one authentication provider must be active (either password login, magic link login, or an OAuth provider).
The default login method must be active.