Skip to content

enhancement: migrate nested basectl command parsing leaf by leaf #2144

Description

@codeforester

Context

Follow-up implementation track from #2127 and #2122. The migration matrix groups gh*.sh, repo*.sh, and setup_diagnostics_fallback.sh because their nested subcommands own different grammars and may forward GitHub or tool options.

Scope

Create and execute a leaf-by-leaf parser migration plan that:

  • records runtime-help and argv baselines for each selected leaf
  • identifies Bash-owned options, nested subcommands, forwarded options, positional rules, and shell-stateful behavior
  • migrates only the selected leaf grammar at a time, using base_arg_parse where its contract fits
  • preserves help precedence, forwarded GitHub/tool arguments, duplicate and equals-form behavior, status codes, stdout/stderr ownership, and side-effect boundaries
  • adds focused regression coverage before each leaf changes
  • updates the migration matrix as leaves are completed

Start with the smallest self-contained leaf and keep each implementation PR reviewable. The tracking issue may remain open while successive leaf PRs land.

Coordination

Coordinate with #2117 for repo.sh ownership splitting; this issue does not authorize or require that structural refactor. Keep command metadata centralization in #1606 out of scope.

Out of scope

Do not rewrite gh.sh or repo.sh wholesale, change GitHub workflows or APIs, or alter shell-stateful behavior without a separate contract and tests.

Related: #2127

Activity

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or product improvement

Type

No type

Projects

  • Status
    In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions