package models import "strings" var ValidCommands = map[string]bool{ "plan": true, "implement": true, "review": true, "test": true, "fix": true, "retry": true, "cancel": true, } type ParsedCommand struct { Name string Args string } func ParseCommands(body string) []ParsedCommand { var commands []ParsedCommand for _, line := range strings.Split(body, "\n") { line = strings.TrimSpace(line) if !strings.HasPrefix(line, "/") { continue } parts := strings.SplitN(line[1:], " ", 2) name := strings.ToLower(parts[0]) if !ValidCommands[name] { continue } cmd := ParsedCommand{Name: name} if len(parts) > 1 { cmd.Args = strings.TrimSpace(parts[1]) } commands = append(commands, cmd) } return commands }