Know which files matter
Build Your First Origin Repository
Know which files matter
Start by separating the files you prepare from the files Divekit generates later. That distinction prevents a lot of beginner confusion.
At the beginning of the course, you do not need to think about every internal Divekit file.
What matters first is simpler:
- there are setup files
- there are generated state files
Later in the course, the relevant part of the project will look roughly like this:
vehicle-workshop/
└── .divekit/
├── individualization.json
└── distributions/
└── M0/
├── config.json
├── individuals.json
└── remotes.json
Setup files
These files are the minimum you need to care about in the beginner workflow:
config.jsondescribes one rolloutindividualization.jsondefines what may vary across the distributed repositories
In the normal beginner flow:
config.jsonis created by Divekit commands such asdivekit initindividualization.jsonis the file you will edit manually
Generated state files
These files are created by Divekit during distribution:
individuals.jsonrecords which concrete variation was selected for each UUIDremotes.jsonrecords which remote repositories were created
These are result files.
You do not prepare them by hand.
Member input is stored separately: Divekit saves it as a timestamped file in your user-level Divekit directory (~/.divekit/members/) — outside the project — and references it from config.json.
Why the distinction matters
A beginner mistake is to treat every JSON file as if it should be prepared manually.
The safe rule is:
- prepare the actual input files
- let Divekit generate the result files
- inspect generated state instead of editing it
Check
Before moving on, make sure you can answer these questions:
config.json and individualization.json.
individuals.json and remotes.json in the distribution folder. Member input lives separately in your user-level Divekit directory (~/.divekit/members/) and is referenced from config.json.
config.json, individualization.json, or the member input.