Plugin: Docker Compose Config Provider
Manage Docker Compose CLI configuration settings stored in ~/.docker/config.json under the compose key (Docker Compose v2).
Config File Location
| Platform |
Path |
| Linux / macOS |
~/.docker/config.json |
| Windows |
%USERPROFILE%\.docker\config.json |
Settings live under a compose key in the Docker config JSON. The existing docker plugin manages Docker Desktop settings (wslEngine, kubernetes, etc.) — this plugin focuses specifically on Docker Compose v2 CLI configuration.
Settings
Common settings that can be managed:
experimental — Enable experimental Compose features (bool)
projectName — Default project name template (string)
version — Docker Compose schema version (string)
profiles — Default profiles to enable (list of strings)
dependencies — Dependency resolution behavior
env_file — Default env file path
attach — Default attach configuration
Implementation Requirements
config_provider type plugin
- JSON config format, deep-merge the
compose key into ~/.docker/config.json
- Must read existing file, merge compose settings, write back atomically
- Full protocol compliance (requestId, check_installed bare bool, settings from args, dryRun from args, no success/data fields)
- Atomic writes via tempfile.mkstemp + os.replace
- Empty stdin returns JSON error
- POSIX trailing newlines
- Test file with sys.path.append (not sys.path.insert(0))
Acceptance Criteria
Plugin: Docker Compose Config Provider
Manage Docker Compose CLI configuration settings stored in
~/.docker/config.jsonunder thecomposekey (Docker Compose v2).Config File Location
~/.docker/config.json%USERPROFILE%\.docker\config.jsonSettings live under a
composekey in the Docker config JSON. The existingdockerplugin manages Docker Desktop settings (wslEngine, kubernetes, etc.) — this plugin focuses specifically on Docker Compose v2 CLI configuration.Settings
Common settings that can be managed:
experimental— Enable experimental Compose features (bool)projectName— Default project name template (string)version— Docker Compose schema version (string)profiles— Default profiles to enable (list of strings)dependencies— Dependency resolution behaviorenv_file— Default env file pathattach— Default attach configurationImplementation Requirements
config_providertype plugincomposekey into~/.docker/config.jsonAcceptance Criteria
plugins/docker-compose/plugin.yaml,src/plugin.py,test/test_docker_compose.pyincluded