INNER CODE UNIT · Go
parseOptions
cli/cli · .github/skills/cli-exercise/tool/main.go:24
func parseOptions(args []string) (options, error) {
flags := flag.NewFlagSet("cli-exercise", flag.ContinueOnError)
flags.SetOutput(io.Discard)
var opts options
flags.StringVar(&opts.skillRoot, "skill-root", "", "Path to the installed cli-exercise skill")
if err := flags.Parse(args); err != nil {
return opts, err
}
remaining := flags.Args()
if len(remaining) == 0 {
return opts, fmt.Errorf("choose preflight, run, client, or evidence")
}
opts.command, opts.args = remaining[0], remaining[1:]
switch opts.command {
case "preflight", "run", "evidence":
if opts.skillRoot == "" {
return opts, fmt.Errorf("--skill-root is required for %s", opts.command)
}