Summary
The README.md Quick Start section still shows the old generic-instantiation API (`Clara.Application`, `Clara.Flag`, `Clara.Option`, `Clara.Positional` as separate packages). The actual implementation uses an enum-indexed declarative parser with `Clara.CLI` generic.
Current README Shows
```ada
package My_CLI is new Clara.Application ("myapp", "My application description");
package Verbose is new My_CLI.Flag (Short => 'v', Long => "verbose", ...);
package Output is new My_CLI.Option (Short => 'o', Long => "output", ...);
```
Actual API Is
```ada
type My_Cmd is (Write, Check, Dry_Run);
type My_Flag is (Yes, Verbose);
type My_Opt is (Workers, Indent_Width);
type My_Pos is (Paths);
package CLI is new Clara.CLI
(Command_Id => My_Cmd, Flag_Id => My_Flag,
Option_Id => My_Opt, Positional_Id => My_Pos, ...);
Config : constant CLI.CLI_Config := ( ... );
Result : constant CLI.Parse_Outcome.Result := CLI.Parse (Config);
```
Acceptance Criteria
- README Quick Start matches the current `Clara.CLI` enum-indexed API.
- Usage examples are compilable and accurate.
- Features section reflects current capabilities (commands, scoped flags, etc.).
Summary
The README.md Quick Start section still shows the old generic-instantiation API (`Clara.Application`, `Clara.Flag`, `Clara.Option`, `Clara.Positional` as separate packages). The actual implementation uses an enum-indexed declarative parser with `Clara.CLI` generic.
Current README Shows
```ada
package My_CLI is new Clara.Application ("myapp", "My application description");
package Verbose is new My_CLI.Flag (Short => 'v', Long => "verbose", ...);
package Output is new My_CLI.Option (Short => 'o', Long => "output", ...);
```
Actual API Is
```ada
type My_Cmd is (Write, Check, Dry_Run);
type My_Flag is (Yes, Verbose);
type My_Opt is (Workers, Indent_Width);
type My_Pos is (Paths);
package CLI is new Clara.CLI
(Command_Id => My_Cmd, Flag_Id => My_Flag,
Option_Id => My_Opt, Positional_Id => My_Pos, ...);
Config : constant CLI.CLI_Config := ( ... );
Result : constant CLI.Parse_Outcome.Result := CLI.Parse (Config);
```
Acceptance Criteria