Problem
Build a small command-line tool (e.g. a config linter or a simple kv client) with clean structure and unit tests, then extend it with an additional subcommand.
Input / Output
- Input: command-line arguments and a config/input file or key-value operations.
- Output: parsed/validated results, clear error reporting, and a working new subcommand.
Constraints
- Idiomatic Go; the code should be modular, testable, and extensible.
- Emphasis on real-world engineering (packages, error handling, tests) rather than algorithmic tricks.
Example
parse args -> validate config -> report errors, then add a new subcommand cleanly.