Skip to content

createApp

createApp<TSchema, TPermissions>(config): App<TSchema, TPermissions, unknown, unknown>

Defined in: packages/core/src/create-app.ts:36

Creates a cfast application instance that wires env, permissions, and plugins into a typed per-request context.

Call .use(plugin) to register plugins, then use app.context(request, context) in route loaders/actions to build the per-request context with all plugin values.

TSchema extends Schema

TPermissions extends Permissions

CreateAppConfig<TSchema, TPermissions>

Application configuration containing the env schema and permissions definition.

App<TSchema, TPermissions, unknown, unknown>

An App instance with methods for context creation, route helpers, and plugin registration.

import { createApp } from '@cfast/core';
import { authPlugin } from '@cfast/auth';
import { envSchema } from './env';
import { permissions } from './permissions';
export const app = createApp({ env: envSchema, permissions })
.use(authPlugin({ magicLink: { sendMagicLink: async ({ email, url }) => {} } }));