We follow docker-compose's short-flag mapping where one is well-established.
Short-flag conflicts within a subcommand resolve in favor of the most-frequently-typed flag (e.g. logs -f → --follow, leaving --file long-only).
Existing shorts are NEVER removed; this change is purely additive.
Conservative bias: when convention is unclear, do nothing rather than guess.
Shared @OptionGroups (Flags.Process, Flags.Logging, ProjectFlags) are out of scope.
Their flags come from upstream / shared definitions; CHAOS-1444 only touches
flags declared directly on the per-command structs.
Total compose subcommands audited: 20 (plus system which is a parent
group with no per-command flags relevant to this audit).
Total @Flag / @Option declarations on the audited commands (excluding
@OptionGroup reuse): see per-command tables below.
Total shorts added: 3
Cmd
Added short(s)
ps
-a/--all
run
-d/--detach
events
-j/--json
Conflicts documented (no short added, see per-command tables for rationale):
logs --file cannot take -f (taken by --follow); already long-only.
rm --file cannot take -f (taken by --force); already long-only.
logs --timestamps cannot take -t — Flags.Process already claims -t/--tty
via @OptionGroup and aliasing the short would collide ("Multiple Option or
Flag arguments are named -t"). docker-compose itself maps -t to
--timestamps, but the upstream Flags.Process group is shared and out of
scope (see CHAOS-1444 prompt). Left long-only.
logs --no-color has no docker-compose short; left alone.
logs --tail, --since have no widely-recognised docker-compose shorts; left alone.
Coordination notes:
port will be touched by Team A under CHAOS-1440 to add -a/--all for the
new listing mode. CHAOS-1444 does NOT edit ComposePort.swift.
Note: docker-compose events --json is long-only upstream. CHAOS-1444 adds
-j as a project ergonomic alias (per the ticket's example commit message).
Documented here so future audits don't flag the divergence.
serve, system (system status), system generate-cert/key, etc.¶
These are container-compose-specific surfaces (not docker-compose subcommands)
and don't have docker-compose conventions to follow. Out of scope for CHAOS-1444.