.antil/local.yaml is an optional Workspace-local overlay, read after antil.yaml. It accepts exactly the version 1 schema, with no additional local-only YAML keys. Defaults are applied after merging. An overlay need not repeat required fields supplied by the project file.
keys and defaults
Section titled “keys and defaults”| key family | type | default in overlay | example |
|---|---|---|---|
version, project, target |
same scalars as project config | inherited | target: main |
services |
map, full Service schema | inherited / empty when newly added | web: {timeout: 30s} |
stacks |
map, services list per entry |
inherited | default: {services: [web]} |
resources |
map, full Resource schema | inherited / Resource defaults for new entries | db: {sharing: private} |
operations |
map, full OperationDefinition schema | inherited | test: {timeout: 30s} |
rules |
map, full Rule schema | inherited | migrations: {paths: ["schema/**"]} |
All child keys, types and defaults are identical to those in the antil.yaml reference.
merge semantics
Section titled “merge semantics”| value | behavior |
|---|---|
| map | merge by key |
| scalar or list | replace the previous value; lists do not append |
null |
delete the key, then validate the merged config and apply defaults |
Service ready or port |
replace the whole definition |
| one Service or operation env entry | replace the whole literal / secret / Resource reference |
Duplicate keys are rejected in each input layer even if a later overlay would replace them. Unknown fields are invalid in the effective schema. Probe and port definitions do not partially merge.
example
Section titled “example”services: web: timeout: 30s env: TOKEN: {secret: .antil/token} MODE: developmentA secret reference resolves at dispatch. config explain returns references and each effective value’s source file and line. Keep .antil/ excluded from git. Local overlays participate in the effective config revision; they do not replan an existing Session.