# defineConfig

Defines the collections tomekit loads. Use it as the default export of tomekit.config.ts.

> Every page: https://tomekit.aayush.cv/llms.txt

```ts
function defineConfig<TSchemas extends Record<string, StandardSchema>, TOutputs extends { [TName in keyof TSchemas]: unknown; }, TFiles extends { [TName in keyof TSchemas]: unknown; }, const TReferences extends { readonly [TName in keyof TSchemas]?: ReferencePaths<InferOutput<TSchemas[TName]>, keyof TSchemas & string>; } = Record<never, never>>(config: {
  collections: { [TName in keyof TSchemas]: {
    schema: TSchemas[TName] & ObjectSchema<TSchemas[TName]>;
  }; } & { [TName in keyof TFiles]: {
    loader: Loader<FileOf<TFiles[TName]>>;
  }; } & { [TName in keyof TOutputs]: {
    transform?: (source: Source<InferOutput<TSchemas[TName & keyof TSchemas]>, FileOf<TFiles[TName & keyof TFiles]>>, context: TransformContext<TName & string>) => TOutputs[TName];
  }; };
  references?: TReferences;
}): Config<InferredCollections<TSchemas, TOutputs, TFiles>, TReferences>;
```

Defined in: [index.ts:573](https://github.com/aayushbtw/tomekit/blob/main/packages/tomekit/src/index.ts#L573)

Defines the collections tomekit loads. Use it as the default export of `tomekit.config.ts`.

## Parameters

### config

`{ collections: { [TName in keyof TSchemas]: { schema: TSchemas[TName] & ObjectSchema<TSchemas[TName]>; }; } & { [TName in keyof TFiles]: { loader:` [`Loader`](https://tomekit.aayush.cv/api-tomekit/interfaces/Loader/index.md)`<FileOf<TFiles[TName]>>; }; } & { [TName in keyof TOutputs]: { transform?: (source:` [`Source`](https://tomekit.aayush.cv/api-tomekit/interfaces/Source/index.md)`<InferOutput<TSchemas[TName & keyof TSchemas]>, FileOf<TFiles[TName & keyof TFiles]>>, context:` [`TransformContext`](https://tomekit.aayush.cv/api-tomekit/interfaces/TransformContext/index.md)`<TName & string>) => TOutputs[TName]; }; }; references?: TReferences; }`

## Returns

[`Config`](https://tomekit.aayush.cv/api-tomekit/interfaces/Config/index.md)`<InferredCollections<TSchemas, TOutputs, TFiles>, TReferences>`

## Example

```ts
export default defineConfig({
  collections: {
    posts: {
      loader: directory("content/posts"),
      schema: z.strictObject({ title: z.string(), date: z.coerce.date() }),
    },
  },
});
```
