First steps

First steps after installation

Create Your First Project

  1. Create and open a new directory:
mkdir my-assignment
cd my-assignment
  1. 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)

  1. Add your assignment/template files to this repository.
  2. Add placeholders for individualized values where needed (for example $EntityClass$).
  3. Configure variation rules in variation.json and optional processing rules in individualization.json.
  4. Per-member selections are persisted in individuals.json during divekit distribute.

For the full setup, see Individualization.

First Distribution Run

  1. Distribute the repositories:
divekit distribute
  1. 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