Make command help and argument errors task-oriented

#31 · closed · 0 comments

View on GitHub ↗

damacus

## Problem The merged command surface is still hard to discover from `--help`: - `completion`, `recipes`, `plan`, `search`, `get`, `list`, `set`, and `delete` have blank descriptions; - arguments such as `<QUERY>`, `<SLUG>`, `--from`, `--to`, `--date`, and `--id` have no explanatory help; - running `mealie` with no command produces a full help page prefixed as an error; - omitting the target from `plan set` says both mutually exclusive `--title` and `--recipe` are required and prints a usage line containing both; - failed status checks describe state but do not consistently give the exact next command or action. ## Proposed scope Make help and validation output task-oriented: - add concise descriptions to every command, argument, and flag; - add realistic examples to relevant subcommand help pages; - make bare `mealie` show normal top-level help successfully; - model `plan set`'s title-or-recipe choice as a required non-multiple argument group so Clap describes it accurately; - add recovery guidance to failed status checks; - keep parse errors on stderr and preserve stable exit codes and structured errors. ## Acceptance criteria - No command or user-supplied argument has blank help text. - Bare invocation is useful and is not rendered as `Error: Manage recipes...`. - Missing `plan set` content clearly says to provide exactly one of `--title` or `--recipe`. - Each nested command has at least one copy-pasteable example. - Human and JSON parse-error stream/exit contracts remain tested. - Snapshot or integration tests cover the important help and error text.

Comments