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
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 },
},
});