package main import ( "fmt" "log" "os" tea "github.com/charmbracelet/bubbletea" "github.com/orca/orca/internal/config" "github.com/orca/orca/internal/tui" "github.com/orca/orca/pkg/kernel" ) func main() { cfg, err := config.LoadConfig() if err != nil { log.Fatalf("Failed to load config: %v", err) } k := kernel.NewWithConfig(cfg) if err := k.Start(); err != nil { log.Fatalf("Failed to start kernel: %v", err) } if err := k.InitPlugins(); err != nil { log.Printf("Warning: failed to load skills: %v", err) } m := tui.NewModel(k) p := tea.NewProgram(m, tea.WithAltScreen(), tea.WithMouseCellMotion()) if _, err := p.Run(); err != nil { fmt.Fprintf(os.Stderr, "Error running TUI: %v\n", err) os.Exit(1) } if err := k.Stop(); err != nil { log.Printf("Warning: error stopping kernel: %v", err) } }