Move the command tree into internal/cli #9

Merged
clawbot merged 2 commits from issue-8-cli-package into next 2026-09-29 01:51:35 +02:00
2 Commits
Author SHA1 Message Date
clawbot 54596ef54b Keep cobra's output streams at their defaults in cli.Main
check / check (push) Successful in 1m10s
cli.Main no longer calls SetOut or SetErr. SetOut also moved the usage
and an unknown help topic, which cobra writes to stderr, onto stdout.
execute now takes the command tree, so the tests build it, set its
arguments and output streams, and run it; the exit line goes to the
command's error stream, which outside a test is stderr as before.

Model: opus-5-5
2026-09-28 23:42:59 +00:00
clawbot 86863653f8 Move the command tree into internal/cli (closes #8)
check / check (push) Successful in 1m4s
cmd/simplexcalc/ now holds only main.go: it passes the version the
linker sets to cli.Main and exits with the status that returns. root.go
and run.go move to internal/cli with their comments, changed only to
take the version as a parameter. Main reads the process's arguments and
output; execute takes them as parameters so the new tests can check the
version line and the non-zero status of an unknown command. Commands,
flags, output, log lines and exit status are unchanged, and the
-X main.version flag in the Dockerfile still applies.

Model: opus-5-5
2026-09-28 23:34:51 +00:00