Glossary

Comprehensive list of Divekit terms and definitions.

This glossary defines core Divekit terms used across Quick Start, Reference, and CLI docs.

TermDefinition
DivekitCommand-line tool for creating, distributing, and operating individualized programming assignments.
CLICommand Line Interface. The primary way to use Divekit (divekit ...).
Personal Access TokenGitLab token used by Divekit to call the GitLab API for operations such as creating groups, repositories, and memberships.
Divekit Home DirectoryUser-level Divekit directory, usually ~/.divekit, for local configuration, generated state, and fallback storage.
Origin RepositorySource repository containing assignment template files and .divekit configuration.
DistributionNamed setup in .divekit/distributions/<name>/ that controls one rollout.
Distribution Config.divekit/distributions/<name>/config.json, the main runtime config for distribution commands.
TargetLogical repository target in a distribution (for example work or eval).
Work TargetStudent-facing code repository target (work).
Eval TargetEvaluation-pipeline repository target (eval) used for separated CI and evaluation flows.
Evaluation PipelineOptional paired work/eval model for separated CI and evaluation workflows. See Evaluation Pipeline.
LinkingAutomatic connection between paired targets (variables/tokens/trigger URLs, job-token scope, UUID pairing).
MemberGitLab user account assigned to a distributed repository with a configured permission level.
Members FileJSON file referenced by members.path. It contains groups; each group has a stable uuid and the GitLab usernames that should receive access to that repository.
Members DirectoryBase directory used to resolve members files. It is configured with DIVEKIT_MEMBERS and defaults to ~/.divekit/members.
Group LabelOptional human-readable label on a members group. It can be used in repository name templates with {{label}} or as a GitLab-safe {{slug}}.
Group MetadataOptional key/value metadata on a members group. It can be imported from member tables and used in repository name templates with {{metadata "key"}}.
UUIDStable unique identifier used for one student/group repository pair across targets.
IndividualizationProcess of generating per-UUID content variants during distribution.
Variation Configvariation.json containing selectable object/relation/logic options.
Individualization Configindividualization.json containing delimiter, solution-deletion, warnings, file-manipulation and related rules.
Individuals Fileindividuals.json, generated state of concrete selections per UUID.
Remotes Fileremotes.json, generated mapping of UUIDs to created remote repositories/project IDs.
Placeholder / VariableToken in template files (for example $Vehicle$) replaced during individualization.
Host AliasNamed host entry in ~/.divekit/hosts.json used by distribution targets (remote).
ProviderBackend used for execution, for example gitlab, local, or simulated.
Dry RunPreview mode without remote changes (--dry-run, often via simulated provider).
Add Modedivekit distribute --add: only process new UUIDs/members, keep existing distributed repos.
Fresh Modedivekit distribute --fresh: reset distribution state files (remotes.json, individuals.json) before run.
Fetch SnapshotTimestamped GitLab repository snapshot under .divekit/local-data/<distribution>/gitlab/<timestamp>/, populated by divekit fetch or divekit run --fetch-first and reused by run/analysis commands.
Research SnapshotHistory-stripped GitLab copy created by divekit snapshot. It contains the repository tree from distributed work repositories as one neutral initial commit, but it does not scrub UUIDs, names, paths, or file contents.
Local Provider OutputFilesystem distribution output under .divekit/local-data/<distribution>/local/<run-id>/, created by divekit distribute -p local.
ExtensionA program executed across fetched or pulled repositories, typically via divekit run. Named run extensions live under .divekit/scripts/run/.
Run WorkflowLifecycle extension form for divekit run. Lua workflows register dk.run.prepare, dk.run.each, and/or dk.run.cleanup; external workflow directories contain workflow.json and runtime functions such as prepare, each, and cleanup.
PluginCI plugin switch in evaluation-pipeline templates, executed in the eval pipeline and managed as described in Plugins.
Variable Extensionsindividualization.json -> variableExtensions: token transformation rules (prefixes/suffixes/transformations). Not the same as runtime script extensions.
Injectdivekit inject command to scaffold default assets (CI templates, variation template, scripts).
Group LayoutStrategy for deriving work/eval groups (distribution-subgroups or legacy).
Last modified June 25, 2026: docs: document snapshot command (fac7f4e)