feat: add c.Cli() — zero-dep CLI framework on Core struct
Absorbs leaanthony/clir (1526 lines, 0 deps) into pkg/core:
cli.go — NewCliApp constructor
cli_app.go — CliApp struct (commands, flags, run)
cli_action.go — CliAction type
cli_command.go — Command (subcommands, flags, help, run)
Any CoreGO package can declare CLI commands without importing
a CLI package:
c.Cli().NewSubCommand("health", "Check status").Action(func() error {
return c.Io().Read("status.json")
})
Uses stdlib flag package only. Zero external dependencies.
core/cli becomes the rich TUI/polish layer on top.
Based on leaanthony/clir — zero-dep CLI, 0 byte go.sum.
Co-Authored-By: Virgil <virgil@lethean.io>