index.json is the single entry point agents use to discover all packs in a repo. It lives at .agent/aep/index.json and lists every pack with enough metadata for the agent to rank candidates before loading individual pack files.
The index can hold entries for packs of both
"0.1" and "1.0-exp" versions. Agents should handle mixed-version indexes gracefully and not require all entries to have every field.Complete example
This is the actual template fromassets/templates/index.json:
Field reference
The index schema version. Use
"1.0-exp" when the index itself uses experimental fields such as strength on entries. Agents that do not understand "1.0-exp" should still be able to read the packs array.Array of pack entries. Each entry gives the agent enough information to rank packs before loading the full pack file.
File location
.agent/ directory lives at the root of your repository. Agents read index.json first to build the candidate list, then load individual pack files only for the top candidates.
Keeping the index in sync
When you runaep save, the agent updates index.json automatically, adding or refreshing the entry for the saved pack. The entry should always include version, strength, and updated_at for v1.0-exp packs.
If you add or edit pack files manually, update index.json to match. An entry in index.json that points to a missing file will cause the agent to skip that entry with a warning.
Related pages
Pack schema reference
Full field reference for the individual pack files listed in this index.
Templates
A ready-to-use index.json template alongside all three pack templates.