| 1 | # Configuration Defaults DOX |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | - Own repository-shipped configuration defaults and templates. |
| 6 | - Keep clean-checkout defaults safe, portable, and free of user-specific state. |
| 7 | |
| 8 | ## Ownership |
| 9 | |
| 10 | - `model_providers.yaml` defines built-in provider metadata and LiteLLM wiring defaults. |
| 11 | - `*.default.gitignore` files define templates copied or used for generated user/project/workdir directories. |
| 12 | - Runtime user settings belong under ignored `usr/` local state and are not documented with local DOX files. |
| 13 | |
| 14 | ## Local Contracts |
| 15 | |
| 16 | - Do not commit API keys, provider secrets, local account identifiers, or private endpoints. |
| 17 | - Keep provider IDs and settings keys stable unless all loaders, UI references, migrations, and tests are updated. |
| 18 | - Defaults must work in a clean checkout and in Docker. |
| 19 | - Chat Completions is the transport default; providers intentionally using Responses must set `a0_api_mode: responses` explicitly. |
| 20 | - Templates must avoid accidentally unignoring private runtime content. |
| 21 | |
| 22 | ## Work Guidance |
| 23 | |
| 24 | - Prefer adding provider metadata here only when it is broadly useful to shipped Agent Zero. |
| 25 | - Keep comments concise and operational. |
| 26 | - Coordinate provider changes with model settings UI, plugin model overrides, and docs. |
| 27 | |
| 28 | ## Verification |
| 29 | |
| 30 | - Run targeted model/provider tests after changing `model_providers.yaml`. |
| 31 | - Check generated ignore templates manually when changing `*.default.gitignore`. |
| 32 | |
| 33 | ## Child DOX Index |
| 34 | |
| 35 | No child DOX files. |