Only one config file is loaded at a time (src/paude/config/detector.py picks the first match in priority order and stops). The two parsers (_parse_devcontainer and _parse_paude_json in src/paude/config/parser.py) support different subsets of options with no overlap except the create section.
This makes it impossible to use certain combinations of features without a workaround -- to use a devcontainer.json with containerEnv paired with a custom Dockerfile that installs the packages, which is significantly more complex than either config file format is intended to require.
I would imagine a shared configuration could look something like this to set a custom env variables and install packages at the same time:
devcontainer.json:
{
"customizations":{
"paude": {
"packages": ["ripgrep"]
}
},
"containerEnv": {
"CUSTOM_ENV_VAR": "foobar"
}
}
or paude.json:
{
"packages": ["ripgrep"],
"containerEnv": {
"CUSTOM_ENV_VAR": "foobar"
}
}
Only one config file is loaded at a time (
src/paude/config/detector.pypicks the first match in priority order and stops). The two parsers (_parse_devcontainer and _parse_paude_jsoninsrc/paude/config/parser.py) support different subsets of options with no overlap except thecreatesection.This makes it impossible to use certain combinations of features without a workaround -- to use a
devcontainer.jsonwithcontainerEnvpaired with a custom Dockerfile that installs the packages, which is significantly more complex than either config file format is intended to require.I would imagine a shared configuration could look something like this to set a custom env variables and install packages at the same time:
devcontainer.json:{ "customizations":{ "paude": { "packages": ["ripgrep"] } }, "containerEnv": { "CUSTOM_ENV_VAR": "foobar" } }or
paude.json:{ "packages": ["ripgrep"], "containerEnv": { "CUSTOM_ENV_VAR": "foobar" } }