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

KeyTypeNotes
versionstringUse "2.0".
remotestringHost alias from hosts.json.
groupIdintegerWork distribution group ID.
namestringOptional repository name template. If omitted, Divekit uses {{distribution}}-{{uuid}}.
members.pathstringPath to members.json.
members.permissionsstringDefault permission level, usually developer.
evaluationPipeline.enabledbooleanEnables the paired eval target.
evaluationPipeline.groupIdintegerOptional explicit eval root group.
groupLayout.modestringdistribution-subgroups or legacy.
groupLayout.rootGroupIdintegerOptional explicit root group for derived subgroups.
snapshot.remotestringOptional host alias used by divekit snapshot for writes. Defaults to the work target remote.
snapshot.groupIdintegerOptional snapshot root group used by divekit snapshot. Interactive runs can store this after you choose a root group.
deleteExistingRepositoriesbooleanDeletes existing target repositories before distribution.
scripting.languagesarrayEnabled languages for scripting/tooling.
scripting.extensionsobjectFile-pattern to language mapping.
variables.variableDelimiterstringStart delimiter for token replacement.
variables.variableDelimiterEndstringOptional end delimiter.
variables.valuesobjectFixed values shared across all UUIDs.

Notes:

  • linking is derived automatically when the evaluation pipeline is enabled and is normally not persisted.
  • {{distribution}} in name is replaced with the distribution folder name. {{uuid}} is replaced with the UUID from members.json.
  • name can also use group context from members.json: {{label}}, {{slug}}, {{metadata "key"}}, and {{.Metadata.key}}.
  • The implicit eval target uses the same name template unless an explicit target template exists; Divekit does not append -eval automatically.
  • divekit patch name uses this key as the desired state when reconciling already distributed repositories.
  • divekit snapshot uses snapshot.remote and snapshot.groupId when 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

KeyTypeNotes
variables.variableDelimiterstringRequired when the file exists.
variables.variableDelimiterEndstringOptional closing delimiter.
variables.valuesobjectFixed token values.
solutionDeletion.enabledbooleanEnables deletion workflow.
solutionDeletion.filesarrayFiles to delete completely.
solutionDeletion.directoriesarrayDirectories to delete completely.
solutionDeletion.deleteFileKeystringMarker for full-file deletion.
solutionDeletion.deleteParagraphKeystringMarker for section deletion.
solutionDeletion.replaceMapobjectMarker-to-replacement mapping.
warnings.enabledbooleanEnables warning generation.
warnings.ignorearrayRequired when warnings are enabled.
warnings.variationResidues.typeWhiteListarrayComplete list of file types to inspect when set explicitly.
warnings.variationResidues.ignoreListarrayGlobal suppression list for residue values or matching surrounding words/identifiers.
warnings.variationResidues.matchModestringMatching mode: substring, word, or identifierPart.
warnings.variationResidues.ignoreRulesarrayOptional 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.filePreIdentifierstringDefault _.
fileManipulation.filePostIdentifierstringDefault repo.
fileManipulation.noRepoIdentifierstringDefault no.
processors.uml.modestringUML artifact mode: off, source, image, or both. Default both.
processors.uml.imageFormatstringRendered UML image format. Default jpg.
processors.tableHash.solutionTableFileNamestringOptional eval solution table filename pattern. Default ${id}.solution.md.
processors.tableHash.hashedSolutionTableFileNamestringOptional work hashed table filename pattern. Default ${id}.hashed.md.
processors.tableHash.tableConfigFileNamestringOptional table config filename pattern. Default ${id}.config.json.
relations.objectRelationsarrayRelation metadata.
variableExtensions.prefixesobjectPrefix mapping.
variableExtensions.suffixesobjectSuffix mapping.
variableExtensions.transformationsobjectTransformation mapping.
variationsobjectUnified variation compatibility container.
objectVariationsarrayLegacy flattened format.
relationVariationsarrayLegacy flattened format.
logicVariationsarrayLegacy flattened format.

Table Hash Config Files

Files such as E1.config.json configure a single hashed solution table.

KeyTypeNotes
tableTypestringOptional legacy table mode, for example ROWS_AND_COLUMNS.
explanationDimensionsarrayRow or column names whose cells are explanatory and skip validCellValues validation.
validRowValuesarrayOptional case-insensitive allow-list for row labels. Empty accepts all.
validColumnValuesarrayOptional case-insensitive allow-list for column labels. Empty accepts all.
validCellValuesarrayOptional case-insensitive allow-list for comma-separated cell values. Empty accepts all.
hashedColumnsarrayBoolean flags for columns that should be hashed.
caseSensitiveColumnsarrayBoolean flags for columns whose case should be preserved before hashing. Missing values default to false.
caseInsensitiveColumnsarrayCompatibility alias for explicitly lowercasing columns when caseSensitiveColumns is not set.
trimCellsbooleanTrim cell whitespace before hashing. Default true.
showRowHintsbooleanLegacy test-library hint setting.
showColumnHintsbooleanLegacy test-library hint setting.

hosts.json

KeyTypeNotes
versionstringUse "1.0".
hosts.<alias>.hoststringBase URL of the host.
hosts.<alias>.tokenAtstringStorage key for the token.
hosts.<alias>.maxWorkersintegerOptional host-specific concurrency limit.
hosts.<alias>.rateLimitDelayMsintegerOptional delay in milliseconds.
hosts.<alias>.enableConcurrencybooleanOptional concurrency toggle.

Generated keys

These are not primary authoring files, but they are useful during debugging:

FileKeyPurpose
individuals.jsonindividuals[].selection.*Concrete per-UUID variation choices.
remotes.jsontargets.<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)