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)
		}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…