Extensions can currently reuse short flags that azd uses globally (-e, -C, -o, etc.) without any warning or enforcement. This caused #7271 when a fix for #7034 assumed -e was always an environment name.
We need a formal registry of reserved global flags so extensions know which short flags are off-limits, and so azd can detect conflicts.
What this includes
ReservedFlag registry in internal/reserved_flags.go listing all global short flags
- Helpers:
IsReservedShortFlag(), IsReservedLongFlag()
- Documentation for extension authors listing reserved flags
- Optionally: build-time or install-time validation that warns when an extension uses a reserved flag
Reserved flags (initial set)
| Short |
Long |
Purpose |
-e |
--environment |
azd environment name |
-C |
--cwd |
working directory |
-o |
--output |
output format |
-h |
--help |
help |
|
--debug |
debug mode |
|
--no-prompt |
non-interactive |
|
--docs |
open docs |
Related: #7034, #7271, #7035, #7274
Extensions can currently reuse short flags that azd uses globally (
-e,-C,-o, etc.) without any warning or enforcement. This caused #7271 when a fix for #7034 assumed-ewas always an environment name.We need a formal registry of reserved global flags so extensions know which short flags are off-limits, and so azd can detect conflicts.
What this includes
ReservedFlagregistry ininternal/reserved_flags.golisting all global short flagsIsReservedShortFlag(),IsReservedLongFlag()Reserved flags (initial set)
-e--environment-C--cwd-o--output-h--help--debug--no-prompt--docsRelated: #7034, #7271, #7035, #7274