Summary
JGC-473 introduced AIDescription on components.Command / Namespace and docs/common.ResolveDescription() so AI-agent-oriented help renders when JFROG_CLI_AI_HELP=true or when the CLI detects an AI coding agent via DetectExecutionContext().
The umbrella repo jfrog-cli#3503 backfilled 85 local help.go files, but 32 commands still lack GetAIDescription(), and nothing prevents new commands from shipping with human-only descriptions.
Problem
Without a CI guardrail, AI help coverage will drift:
- New commands add
GetDescription() only → agents see one-line help in AI mode
- Partial backfill creates unpredictable agent behavior across command families
- Review burden falls on humans to notice missing AI text in every PR
Requested work
Add a CI check (or extend an existing docs/help lint) that fails when:
- A
docs/**/help.go file defines GetDescription() for a visible command but has no GetAIDescription(), OR GetAIDescription() is empty
- Optionally enforce minimum structure in
GetAIDescription():
When to use:
Prerequisites: (or explicit "none" for trivial commands)
Gotchas:
Related:
Suggested exclusions
- Hidden / deprecated command stubs (same exclusion criteria used in jfrog-cli#3503)
- Commands explicitly marked as human-only via a documented opt-out annotation if needed
Cross-repo note
- jfrog-cli-core: resolver +
AIHelpEnabled() — this issue (CI for plugin components.Command.AIDescription)
- jfrog-cli: local
help.go files — tracked in companion umbrella issue for the 32-file backfill gap
Plugin repos (artifactory, security, evidence, platform-services, application) already merged JGC-473 AI help PRs; the same lint pattern could be replicated there over time.
Acceptance criteria
Reported by @Balasubramanyamkosuri (JFrog Technical Writing)
Summary
JGC-473 introduced
AIDescriptiononcomponents.Command/Namespaceanddocs/common.ResolveDescription()so AI-agent-oriented help renders whenJFROG_CLI_AI_HELP=trueor when the CLI detects an AI coding agent viaDetectExecutionContext().The umbrella repo jfrog-cli#3503 backfilled 85 local
help.gofiles, but 32 commands still lackGetAIDescription(), and nothing prevents new commands from shipping with human-only descriptions.Problem
Without a CI guardrail, AI help coverage will drift:
GetDescription()only → agents see one-line help in AI modeRequested work
Add a CI check (or extend an existing docs/help lint) that fails when:
docs/**/help.gofile definesGetDescription()for a visible command but has noGetAIDescription(), ORGetAIDescription()is emptyGetAIDescription():When to use:Prerequisites:(or explicit "none" for trivial commands)Gotchas:Related:Suggested exclusions
Cross-repo note
AIHelpEnabled()— this issue (CI for plugincomponents.Command.AIDescription)help.gofiles — tracked in companion umbrella issue for the 32-file backfill gapPlugin repos (artifactory, security, evidence, platform-services, application) already merged JGC-473 AI help PRs; the same lint pattern could be replicated there over time.
Acceptance criteria
AIDescription/GetAIDescription()Reported by @Balasubramanyamkosuri (JFrog Technical Writing)