Skip to content

dbx.config ​

A dbx.config.ts file exports { toolchain: { ...sections } }: the @deltabox/toolchain settings live under the toolchain key. Every section is opt-in by presence (see Configuration): define it to enable it, omit it to leave that area untouched.

Generated from the Zod config schema — do not edit by hand. Run yarn config:generate.

project ​

Project metadata used as replacement tokens across every template.

type ​

  • Type: 'monorepo-root' | 'monorepo-workspace' | 'project'

The project kind (detected when omitted).

name ​

  • Type: string

The unscoped project name.

scope ​

  • Type: string

The npm scope, eg. @acme.

author ​

  • Type: string

Package author.

license ​

  • Type: string

SPDX license id.

homepage ​

  • Type: string

Project homepage.

repo ​

  • Type: string

Repository URL, eg. https://github.com/acme/app.

nodeVersion ​

  • Type: string

Node engine range, eg. >=22.

packageManager ​

  • Type: string

Package manager name (default yarn).

packageManagerVersion ​

  • Type: string

Package manager version, eg. 4.17.1.

description ​

  • Type: string

One-line description.

changelog ​

Conventional-Commits CI, commitlint and the changelog pipeline.

enabled ​

  • Type: boolean

Master switch (enabled when the section is defined).

workflows ​

ci ​

  • Type: string

changelog ​

  • Type: string

release ​

  • Type: string

issues ​

  • Type: string

sync ​

  • Type: string

branches ​

main ​

  • Type: string

dev ​

  • Type: string

types ​

  • Type: Array<string>

Allowed commit types (commitlint).

scopes ​

  • Type: Array<string>

Allowed commit scopes (commitlint).

vscode ​

  • Type: boolean

Write the Conventional-Commits VS Code settings.

biome ​

Biome config generation (for consumers that still want a biome.json).

enabled ​

  • Type: boolean

Master switch (enabled when the section is defined).

vscode ​

  • Type: boolean

Write the Biome VS Code settings (default true).

overrides ​

  • Type: Record<string, string>
  • Default: {}

Deep-merged over the generated biome.json (arrays union).

tsconfig ​

Workspace tsconfig generation (path aliases + project references).

enabled ​

  • Type: boolean

Master switch (enabled when the section is defined).

glob ​

  • Type: string

Glob for workspace tsconfig.default.json files.

appGlob ​

  • Type: string

Glob for "override" (app) workspaces.

refs ​

  • Type: boolean

Wire project references (default false).

composite ​

  • Type: boolean

Emit composite: true (default false).

aliases ​

  • Type: boolean

Inject path aliases (default true).

indent ​

  • Type: number

JSON indentation (default 4).

rootFile ​

  • Type: string

The monorepo tsconfig file name (default tsconfig.monorepo.json).

templates ​

Template sources / scaffolding.

enabled ​

  • Type: boolean

Master switch (enabled when the section is defined).

sources ​

  • Type: Array<string>

Extra sources on top of the builtin + registry sources.

vite ​

Vite+ configuration (manages vite.config.ts + the vite:* commands).

enabled ​

  • Type: boolean

Master switch (enabled when the section is defined).

config ​

  • Type: boolean

Write the managed vite.config.ts (default true when the section is set).

defaultTemplate ​

  • Type: string

create.defaultTemplate, eg. @acme for @acme/create.

testInclude ​

  • Type: Array<string>

Extra Vitest include globs (default: tests under src + tests).

lintIgnore ​

  • Type: Array<string>

Glob patterns Oxlint should ignore.

overrides ​

  • Type: Record<string, string>
  • Default: {}

Deep-merged over the generated vite.config.ts object.

watch ​

Watch behaviour for dbx watch.

enabled ​

  • Type: boolean

Watch by default (enabled when the section is defined).

debounce ​

  • Type: number

Debounce window in ms (default 150).

Full example ​

ts
import { defineConfig } from '@deltabox/toolchain';

export default defineConfig({
    toolchain: {
        project: { type: 'monorepo-root', name: 'acme', scope: '@acme' },
        changelog: { workflows: { ci: true, release: true }, branches: { main: 'main' } },
        tsconfig: { refs: true },
        templates: { sources: [{ type: 'local', locate: './templates', kind: 'application' }] },
        vite: { defaultTemplate: '@acme' },
        watch: { debounce: 150 },
    },
});