prohelp-cli connects Prohelp (progressive help) to command-line application frameworks (parsing, routing, subcommands).
Moved with Prohelp into OpenShellOrg (scaffold previously under Dev-Centr).
There is no widely agreed term for “library that builds CLI tools” versus “program that is a CLI.” In OpenShellOrg naming:
-
prohelp — help engine, specification, preview tool, global
helpbinary, C-oriented library core -
prohelp-cli — bridges that wire Prohelp into D CLI routers (and future adapters)
If you are starting a new D command-line tool, use a CLI framework here plus Prohelp — not the raw prohelp.intercept call alone unless you have a good reason (minimal C embed, custom router, prototype).
| Goal | Use | Not |
|---|---|---|
Progressive help only, C/BetterC, existing argv parser |
prohelp library (C mode planned) |
prohelp-cli |
New D CLI with subcommands and flags |
prohelp-cli + arsd.cli (or similar) + prohelp |
Raw intercept only |
Author/preview help.sdl before shipping |
|
— |
Global |
|
— |
Python/Rust/Go CLI |
Prohelp via FFI + your framework (Click, clap, cobra, …) |
prohelp-cli (D-only bridges) |
import arsd.cli;
import prohelp.intercept;
class App {
void create(string[] files) { /* ... */ }
}
int main(string[] args) {
if (prohelp.intercept(args)) return 0;
return runCli!App(args);
}Help triggers (?, help, -h, …) are handled by Prohelp. Execution (mytool create --file x) is handled by arsd.cli. See How Prohelp fits arsd.cli for the full model, folder conventions, and roadmap (UDA codegen, runCli wrapper).
See CHANGELOG.md.
Same terms as prohelp (PCDL / project LICENSE).