Skip to content

Finish the CLI split: programa.swift is still 6,259 lines after #78 #101

Description

@arzafran

The #78 split moved dispatch tables into per-domain files, but two functions still account for ~43% of programa.swift: the commandDescriptors data literal (~1,300 lines) and the subcommandUsage help switch (~1,300 lines, absorbed by the command-catalog issue). Domain types and detailed help text stayed behind; ClaudeHookSessionStore (210 lines, Hooks-only) never moved to CLI+Hooks.swift.

Also: struct CMUXCLI naming is tracked by plans/rebrand-cmux-to-programa.md; do the rename when this file is already being reorganized.


From the 2026-07-09 nuclear review (10 module reviewers + Codex cross-model pass, disprove-first). Line refs are against the reductive-audit branch (PR #81).

Metadata

Metadata

Assignees

No one assigned

    Labels

    nuclear-reviewFrom the 2026-07-09 whole-codebase nuclear reviewtech-debtKnown latent issue / maintenance debt

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions