Summary
Finish issue #42 based on the current post-PR #43 state.
direct-cli should keep the canonical-only CLI surface introduced by #43, and complete the remaining documentation/test work so the transport contract is explicit, stable, and owned by direct-cli.
Decision
- keep canonical names as the only primary CLI surface
- do not restore removed historical aliases by default
- allow compatibility aliases only by explicit exception when a concrete legacy syntax from
tapi-yandex-direct must still be supported
- document
dynamicads update as a transport gap until it is actually implemented
Required work
- document canonical command shape:
direct <group> <command> [flags]
- add explicit naming rules for groups and commands
- state that
direct-cli owns the public naming contract
- clarify that
tapi-yandex-direct influences implementation, not public naming policy
- add canonical examples for:
changes check-campaigns
changes check-dictionaries
keywordsresearch has-search-volume
negativekeywordsharedsets
smartadtargets
dynamicads
- add README regression coverage for canonical examples and naming rules
- document
dynamicads update as an unsupported transport gap
Acceptance criteria
- README is decision-complete about canonical transport naming
- no historical aliases are presented as active CLI contract
- help tests and README tests agree on canonical-only surface
dynamicads update is explicitly documented as a gap
Summary
Finish issue #42 based on the current post-PR #43 state.
direct-clishould keep the canonical-only CLI surface introduced by #43, and complete the remaining documentation/test work so the transport contract is explicit, stable, and owned bydirect-cli.Decision
tapi-yandex-directmust still be supporteddynamicads updateas a transport gap until it is actually implementedRequired work
direct <group> <command> [flags]direct-cliowns the public naming contracttapi-yandex-directinfluences implementation, not public naming policychanges check-campaignschanges check-dictionarieskeywordsresearch has-search-volumenegativekeywordsharedsetssmartadtargetsdynamicadsdynamicads updateas an unsupported transport gapAcceptance criteria
dynamicads updateis explicitly documented as a gap