Documentation
¶
Overview ¶
help-all wires `bones --help --all` (and `bones <verb> --help --all`) so that operators can discover every subcommand's full flag set in one pass.
Default `bones --help` and `bones <verb> --help` are unchanged — Kong's stock printer is preserved byte-for-byte. The `--all` flag is detected pre-parse, stripped from os.Args, and only when present does this file install a custom help printer that walks the parsed Kong app tree and concatenates DefaultHelpPrinter output for every non-hidden node.
Implementation notes (#325):
- `--all` is intercepted pre-parse rather than declared as a Kong flag. Adding it as a real flag to every subcommand would either be repetitive or rely on Kong's "embed/persist" patterns that don't cleanly bubble up into help-flag handling. Pre-parse interception keeps the surface minimal: zero changes to command structs, one wrapper around the default help printer.
- Re-using kong.DefaultHelpPrinter per node means the per-command output shape matches `bones <cmd> --help` exactly. We synthesize a *kong.Context with just enough fields populated for DefaultHelpPrinter to run (Kong + Path); other context fields are unused on the help path.
Command bones is the unified bones CLI.
It assembles three command surfaces into one binary:
- libfossil/cli — Fossil repository operations (`bones repo ...`)
- EdgeSync/cli — sync, bridge, notify, doctor (`bones sync ...`, etc.)
- bones/cli — workspace, orchestrator, tasks, validate-plan
Run `bones --help` for the full command tree.
Click to show internal directories.
Click to hide internal directories.