Glossary
Comprehensive list of Divekit terms and definitions.
This glossary defines core Divekit terms used across Quick Start, Reference, and CLI docs.
| Term | Definition |
|---|---|
| Divekit | Command-line tool for creating, distributing, and operating individualized programming assignments. |
| CLI | Command Line Interface. The primary way to use Divekit (divekit ...). |
| Origin Repository | Source repository containing assignment template files and .divekit configuration. |
| Distribution | Named setup in .divekit/distributions/<name>/ that controls one rollout. |
| Distribution Config | .divekit/distributions/<name>/config.json, the main runtime config for distribution commands. |
| Target | Logical repository target in a distribution (for example main or eval). |
| Main Target | Student-facing code repository target (main). |
| Eval Target | Evaluation-pipeline repository target (eval) used for separated CI and evaluation flows. |
| Evaluation Pipeline | Optional paired main/eval model for separated CI and evaluation workflows. See Evaluation Pipeline. |
| Linking | Automatic connection between paired targets (variables/tokens/trigger URLs, job-token scope, UUID pairing). |
| Member | User account assigned to a distributed repository with a configured permission level. |
| Members File | JSON file referenced by members.path, usually version 2.0 with groups and uuid entries. |
| UUID | Stable unique identifier used for one student/group repository pair across targets. |
| Individualization | Process of generating per-UUID content variants during distribution. |
| Variation Config | variation.json containing selectable object/relation/logic options. |
| Individualization Config | individualization.json containing delimiter, solution-deletion, warnings, file-manipulation and related rules. |
| Individuals File | individuals.json, generated state of concrete selections per UUID. |
| Remotes File | remotes.json, generated mapping of UUIDs to created remote repositories/project IDs. |
| Placeholder / Variable | Token in template files (for example $Vehicle$) replaced during individualization. |
| Host Alias | Named host entry in ~/.divekit/hosts.json used by distribution targets (remote). |
| Provider | Backend used for execution, for example gitlab, local, or simulated. |
| Dry Run | Preview mode without remote changes (--dry-run, often via simulated provider). |
| Add Mode | divekit distribute --add: only process new UUIDs/members, keep existing distributed repos. |
| Fresh Mode | divekit distribute --fresh: reset distribution state files (remotes.json, individuals.json) before run. |
| Fetch Cache | Local repository cache populated by divekit fetch and reused by run/analysis commands. |
| Extension | A program executed across fetched or pulled repositories, typically via divekit run. The current storage path is still .divekit/scripts/, but the user-facing term is extension. |
| Plugin | CI plugin switch in evaluation-pipeline templates, executed in the eval pipeline and managed as described in Plugins. |
| Variable Extensions | individualization.json -> variableExtensions: token transformation rules (prefixes/suffixes/transformations). Not the same as runtime script extensions. |
| Inject | divekit inject command to scaffold default assets (CI templates, variation template, scripts). |
| Group Layout | Strategy for deriving main/eval groups (distribution-subgroups or legacy). |