957 B
957 B
effect
| effect |
|---|
| patch |
Refactor CLI built-in options to use Effect services with GlobalFlag
Built-in CLI flags (--help, --version, --completions, --log-level) are now implemented as Effect services using Context.Reference. This provides:
- Visibility: Built-in flags now appear in help output's "GLOBAL FLAGS" section
- Extensibility: Users can register custom global flags via
GlobalFlag.add - Override capability: Built-in flag behavior can be replaced or disabled
- Composability: Flags compose via Effect's service system
New GlobalFlag module exports:
Action<A>andSetting<A>types for different flag behaviorsHelp,Version,Completions,LogLevelreferences for built-in flagsadd,remove,clearfunctions for managing global flags
Example:
const app = Command.make("myapp")
Command.run(app, { version: "1.0.0" }).pipe(
GlobalFlag.add(CustomFlag, customFlagValue)
)