First steps
Create Your First Project
- Create and open a new directory:
mkdir my-assignment
cd my-assignment
- Initialize Divekit:
divekit init
What divekit init does
divekit init creates the base configuration for an origin repository and prepares your project for distribution workflows.
Typical structure after init:
my-assignment/
└── .divekit/
└── distributions/
└── <distribution>/
└── config.json
For command details, see divekit init.
variation.json and individualization.json are optional and can be added at project level (.divekit/) or distribution level (.divekit/distributions/<distribution>/).
To scaffold a starter variation config, use divekit inject --scope variation.
Assignment Creation (Short Version)
- Add your assignment/template files to this repository.
- Add placeholders for individualized values where needed (for example
$EntityClass$). - Configure variation rules in
variation.jsonand optional processing rules inindividualization.json. - Per-member selections are persisted in
individuals.jsonduringdivekit distribute.
For the full setup, see Individualization.
First Distribution Run
- Distribute the repositories:
divekit distribute
- If distribution fails due to setup/authentication issues, run diagnostics:
divekit doctor --verbose
If the failure is caused by malformed Divekit JSON such as config.json, variation.json, or individualization.json, recent Divekit versions show the affected file together with the exact line and column. divekit doctor --verbose also validates local Divekit JSON files proactively.
If you use paired code/eval repositories, read Evaluation Pipeline.
For a full end-to-end flow, see Distribution.
Next Steps
- Configuration details: Architecture / Configuration
- Distribution command reference:
divekit distribute