From f8633e1647e42700ee20c8b77353ef992800dc76 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 2 Jun 2026 02:44:16 +0900 Subject: feat(cli): parse the Composer CLI with bpaf combinators Add a cli module that reproduces every command's argument/option set from the PHP configure() definitions using bpaf combinators (no derive). Output is per-command typed structs plus a top-level Command enum; the bridge into Symfony Console Input is deferred. Verbosity is unified into the global option and bump-after-update models VALUE_OPTIONAL as a three-state enum. Known limitation (bundled subcommand short flags) is recorded as a TODO in the module. Co-Authored-By: Claude Opus 4.8 --- crates/shirabe/src/main.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'crates/shirabe/src/main.rs') diff --git a/crates/shirabe/src/main.rs b/crates/shirabe/src/main.rs index 0672e51..597c30a 100644 --- a/crates/shirabe/src/main.rs +++ b/crates/shirabe/src/main.rs @@ -1,3 +1,8 @@ +use shirabe::cli; + fn main() { - println!("Hello, World!"); + let parsed = cli::cli().run(); + // TODO(phase-b): bridge the parsed CLI into Symfony Console's Input and + // dispatch through Application::run. For now we only parse. + let _ = parsed; } -- cgit v1.3.1