Skip to main content

config.ts

Located at src/server/config.ts.
import type { AppConfig } from '@synthetiq/app-framework/server';

export const APP_CONFIG = {
  app: {
    displayName: 'My App',
    description: 'What the app does',
    category: 'Analytics',
  },
  settings: [],
} as const satisfies AppConfig;

App metadata

FieldDescription
displayNameHuman-readable app name, title-cased
descriptionShort description
categoryApp category for organization in the Synthetiq console

Setting types

TypeDescription
textFree-form text input
passwordMasked text input
urlURL input with validation
selectDropdown with predefined options
booleanToggle switch

Setting definition

{
  key: 'myKey',
  description: 'What this setting controls',
  type: 'select',
  required: false,
  defaultValue: 'default',
  options: JSON.stringify([
    { value: 'a', label: 'Option A' },
    { value: 'b', label: 'Option B' },
  ]),
}

Accessing settings

Server-side only, via ctx.appSettings:
const value = ctx.appSettings.myKey || 'default';
To expose settings to the frontend, create a tRPC procedure that returns the needed values.