Configuration Keys
Lookup page for the most important editable Divekit configuration keys.
This page summarizes the most relevant keys that users edit in current Divekit setups.
Distribution config.json
| Key | Type | Notes |
|---|---|---|
version | string | Use "2.0". |
remote | string | Host alias from hosts.json. |
groupId | integer | Work distribution group ID. |
name | string | Optional repository name template. If omitted, Divekit uses {{distribution}}-{{uuid}}. |
members.path | string | Path to members.json. |
members.permissions | string | Default permission level, usually developer. |
evaluationPipeline.enabled | boolean | Enables the paired eval target. |
evaluationPipeline.groupId | integer | Optional explicit eval root group. |
groupLayout.mode | string | distribution-subgroups or legacy. |
groupLayout.rootGroupId | integer | Optional explicit root group for derived subgroups. |
snapshot.remote | string | Optional host alias used by divekit snapshot for writes. Defaults to the work target remote. |
snapshot.groupId | integer | Optional snapshot root group used by divekit snapshot. Interactive runs can store this after you choose a root group. |
deleteExistingRepositories | boolean | Deletes existing target repositories before distribution. |
scripting.languages | array | Enabled languages for scripting/tooling. |
scripting.extensions | object | File-pattern to language mapping. |
variables.variableDelimiter | string | Start delimiter for token replacement. |
variables.variableDelimiterEnd | string | Optional end delimiter. |
variables.values | object | Fixed values shared across all UUIDs. |
Notes:
linkingis derived automatically when the evaluation pipeline is enabled and is normally not persisted.{{distribution}}innameis replaced with the distribution folder name.{{uuid}}is replaced with the UUID frommembers.json.namecan also use group context frommembers.json:{{label}},{{slug}},{{metadata "key"}}, and{{.Metadata.key}}.- The implicit
evaltarget uses the samenametemplate unless an explicit target template exists; Divekit does not append-evalautomatically. divekit patch nameuses this key as the desired state when reconciling already distributed repositories.divekit snapshotusessnapshot.remoteandsnapshot.groupIdwhen set. If they are omitted, it falls back to the work remote and derives a snapshot group from the distribution group layout.- The stored file is flat, even though Divekit internally expands it into targets.
individualization.json
| Key | Type | Notes |
|---|---|---|
variables.variableDelimiter | string | Required when the file exists. |
variables.variableDelimiterEnd | string | Optional closing delimiter. |
variables.values | object | Fixed token values. |
solutionDeletion.enabled | boolean | Enables deletion workflow. |
solutionDeletion.files | array | Files to delete completely. |
solutionDeletion.directories | array | Directories to delete completely. |
solutionDeletion.deleteFileKey | string | Marker for full-file deletion. |
solutionDeletion.deleteParagraphKey | string | Marker for section deletion. |
solutionDeletion.replaceMap | object | Marker-to-replacement mapping. |
warnings.enabled | boolean | Enables warning generation. |
warnings.ignore | array | Required when warnings are enabled. |
warnings.variationResidues.typeWhiteList | array | Complete list of file types to inspect when set explicitly. |
warnings.variationResidues.ignoreList | array | Global suppression list for residue values or matching surrounding words/identifiers. |
warnings.variationResidues.matchMode | string | Matching mode: substring, word, or identifierPart. |
warnings.variationResidues.ignoreRules | array | Optional path-scoped or global suppression rules for residue warnings and related divekit dev false positives; omit values to suppress all matches on matching paths. |
fileManipulation.filePreIdentifier | string | Default _. |
fileManipulation.filePostIdentifier | string | Default repo. |
fileManipulation.noRepoIdentifier | string | Default no. |
processors.uml.mode | string | UML artifact mode: off, source, image, or both. Default both. |
processors.uml.imageFormat | string | Rendered UML image format. Default jpg. |
processors.tableHash.solutionTableFileName | string | Optional eval solution table filename pattern. Default ${id}.solution.md. |
processors.tableHash.hashedSolutionTableFileName | string | Optional work hashed table filename pattern. Default ${id}.hashed.md. |
processors.tableHash.tableConfigFileName | string | Optional table config filename pattern. Default ${id}.config.json. |
relations.objectRelations | array | Relation metadata. |
variableExtensions.prefixes | object | Prefix mapping. |
variableExtensions.suffixes | object | Suffix mapping. |
variableExtensions.transformations | object | Transformation mapping. |
variations | object | Unified variation compatibility container. |
objectVariations | array | Legacy flattened format. |
relationVariations | array | Legacy flattened format. |
logicVariations | array | Legacy flattened format. |
Table Hash Config Files
Files such as E1.config.json configure a single hashed solution table.
| Key | Type | Notes |
|---|---|---|
tableType | string | Optional legacy table mode, for example ROWS_AND_COLUMNS. |
explanationDimensions | array | Row or column names whose cells are explanatory and skip validCellValues validation. |
validRowValues | array | Optional case-insensitive allow-list for row labels. Empty accepts all. |
validColumnValues | array | Optional case-insensitive allow-list for column labels. Empty accepts all. |
validCellValues | array | Optional case-insensitive allow-list for comma-separated cell values. Empty accepts all. |
hashedColumns | array | Boolean flags for columns that should be hashed. |
caseSensitiveColumns | array | Boolean flags for columns whose case should be preserved before hashing. Missing values default to false. |
caseInsensitiveColumns | array | Compatibility alias for explicitly lowercasing columns when caseSensitiveColumns is not set. |
trimCells | boolean | Trim cell whitespace before hashing. Default true. |
showRowHints | boolean | Legacy test-library hint setting. |
showColumnHints | boolean | Legacy test-library hint setting. |
hosts.json
| Key | Type | Notes |
|---|---|---|
version | string | Use "1.0". |
hosts.<alias>.host | string | Base URL of the host. |
hosts.<alias>.tokenAt | string | Storage key for the token. |
hosts.<alias>.maxWorkers | integer | Optional host-specific concurrency limit. |
hosts.<alias>.rateLimitDelayMs | integer | Optional delay in milliseconds. |
hosts.<alias>.enableConcurrency | boolean | Optional concurrency toggle. |
Generated keys
These are not primary authoring files, but they are useful during debugging:
| File | Key | Purpose |
|---|---|---|
individuals.json | individuals[].selection.* | Concrete per-UUID variation choices. |
remotes.json | targets.<target>.remotes[] | UUID to remote project mapping. Entries may also contain the stable one-based index used by {{index}} and {{autoincrement}} repository name templates. |
Related pages:
Last modified July 13, 2026: docs: update CLI behavior notes (cae77c5)