Documentation Index
Fetch the complete documentation index at: https://docs.arkor.ai/llms.txt
Use this file to discover all available pages before exploring further.
createArkor
createArkor produces the project manifest that arkor dev, arkor start, and Studio’s /api/manifest endpoint look for in src/arkor/index.ts. Today the manifest only carries a Trainer; the type reserves space for deploy and eval slots, but neither is implemented.
Signature
Object.freeze-d. There are no methods on it; the framework reads _kind and trainer directly.
What works today
trainer: pass aTrainerproduced bycreateTrainer. Optional in the type, but a manifest with notrainercannot be run byarkor start(the runner throwsTraining entry must export `arkor` (from createArkor({...})) or `trainer` (from createTrainer({...})), or default-export one of them.).
Not yet
deployandevalslots. They appear inArkorInputandArkoras commented-out reserved fields. Passing them today is a type error, and there is no runtime path for them. Treat them as roadmap markers, not as forward-compatible API.
Recognized export shapes
arkor start (via runTrainer) inspects src/arkor/index.ts for one of three exports, in priority order:
export const arkor = createArkor({ ... })(preferred, what the templates produce)export const trainer = createTrainer({ ... })(power-user shortcut, no manifest)export default ...(either anArkormanifest or a bareTrainer)
isArkor
createArkor for code that consumes manifests dynamically. It checks that the value is a non-null object with _kind === "arkor" (it does not verify Object.isFrozen, even though createArkor itself produces a frozen value). Use it sparingly; in normal code the typed export from index.ts already gives you the right shape.