> ## Documentation Index
> Fetch the complete documentation index at: https://synthetiq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure the app

> App metadata and user-configurable settings

App configuration is defined in `src/server/config.ts`. It includes app metadata and an optional settings schema that allows users to configure the app through the admin UI.

## config.ts

Set up the task tracker's metadata and a configurable default view:

```typescript theme={null}
import type { AppConfig } from '@synthetiq/app-framework/server';

export const APP_CONFIG = {
  app: {
    displayName: 'Task Tracker',
    description: 'Track tasks and priorities across your team',
    category: 'Productivity',
  },
  settings: [
    {
      key: 'defaultView',
      description: 'Default task list view',
      type: 'select',
      required: false,
      defaultValue: 'list',
      options: JSON.stringify([
        { value: 'list', label: 'List' },
        { value: 'board', label: 'Board' },
      ]),
    },
  ],
} as const satisfies AppConfig;
```

## Accessing settings

Settings are available server-side in tRPC procedures via `ctx.appSettings`:

```typescript theme={null}
getTaskView: scopedProcedure([])
  .meta({ description: 'Get the configured default task view' })
  .query(async ({ ctx }) => {
    return { defaultView: ctx.appSettings.defaultView || 'list' };
  }),
```

<Note>
  Settings are only available on the server. To expose configuration to the frontend, create a tRPC procedure that returns the needed values.
</Note>

For setting types and the full configuration schema, see the [App config reference](/docs/platform-docs/app-framework/reference/app-config).
