Skip to content

JGC-473 follow-up: CI check requiring GetAIDescription() on new help.go files #1574

Description

@Balasubramanyamkosuri

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:

  1. A docs/**/help.go file defines GetDescription() for a visible command but has no GetAIDescription(), OR GetAIDescription() is empty
  2. 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

  • CI fails on PRs that add visible commands without non-empty AIDescription / GetAIDescription()
  • Documented exception path for hidden/deprecated commands
  • Linked from JGC-473 umbrella follow-up issue in jfrog-cli

Reported by @Balasubramanyamkosuri (JFrog Technical Writing)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions