MDL game packages are the stable local artifact for repository-driven creator workflows. The package contract is deterministic so diff, push, pull, review, and automation all see the same file set.
| Path | Role |
|---|---|
| manifests/game-definition.json | Top-level package metadata, including published asset globs. |
| manifests/runtime-ui.json | Runtime presentation and UI configuration. |
| prompts/system_prompt.txt | The main game-owned runtime instruction file. |
| schemas/structured-output/structured_output.json | Visible structured-output contract used by the runtime. |
| openings/opening_states.json | Opening-state content for the game. |
prompts/generated_scene_image_system_prompt.txt when the game uses hosted generated-scene image promptingprompts/additional_special_scene_instructions.txt for a short final user-prompt addendum on generated-scene image requestsprompts/special_background_image_system_prompt.txt when the game uses generated reusable background platesprompts/additional_special_background_instructions.txt for reusable generated-background addendum textprompts/protagonist_avatar_image_system_prompt.txt and prompts/protagonist_avatar_image_user_prompt.txt when the game supports generated protagonist avatarsprompts/additional_instructions.txt for MGPT additional instructions that can be frozen into universe generation contractsopenings/opening_states.<locale>.json for localized opening-state data when supported, with Portuguese kept at openings/opening_states.pt.json for compatibilitymanifests/ stores package metadata and runtime UI configuration.prompts/ stores runtime, image, avatar, and addendum instruction files.schemas/ stores the structured-output contract.openings/ stores opening-state data.assets/ stores game-owned images, audio, and other published files.Runtime-required files are always included in the inventory. Assets are opt-in. Only paths matched by assets.published in manifests/game-definition.json are considered part of the hosted package inventory.
{
"assets": {
"published": [
"images/backgrounds/**",
"images/ui/**",
"audio/*.mp3",
"audio/sfx/*.wav"
]
}
}Patterns are relative to the assets/ root. Files that are not matched stay local by default, which keeps work-in-progress references and authoring assets out of the hosted runtime.
Public read-only workspaces can expose a downloadable source package. For non-owner exports, files under prompts/ are replaced with generic functional instructions so the package structure, schema, openings, and assets remain inspectable without revealing production instruction IP.
Owner and admin exports include the real prompt files. Public exports include a README listing which instruction files were replaced.
`mdl diff` and `mdl push` both use the same deterministic inventory model. Path normalization, file hashing, published asset filtering, and hosted path mapping are shared across local and remote operations.
The package contract is intentionally file-oriented. That keeps changes reviewable, diffable, and safe to edit with code agents instead of burying core game logic in opaque binary blobs or ad hoc editor state.