bluesky viewer in the terminal
at main 1.3 kB view raw
1package main 2 3import ( 4 "context" 5 "os" 6 7 "github.com/charmbracelet/log" 8 _ "github.com/mattn/go-sqlite3" 9 "github.com/stormlightlabs/skypanel/cli/internal/registry" 10 "github.com/stormlightlabs/skypanel/cli/internal/ui" 11 "github.com/stormlightlabs/skypanel/cli/internal/utils" 12 "github.com/urfave/cli/v3" 13) 14 15var logger *log.Logger 16 17func init() { 18 utils.InitLogger(log.InfoLevel) 19 logger = utils.GetLogger() 20} 21 22func main() { 23 ctx := context.Background() 24 reg := registry.Get() 25 26 if err := reg.Init(ctx); err != nil { 27 logger.Fatalf("Failed to initialize registry %v", err) 28 } 29 defer reg.Close() 30 31 cli.HelpPrinter = ui.StyledHelpPrinter 32 cli.RootCommandHelpTemplate = ui.RootCommandHelpTemplate 33 cli.CommandHelpTemplate = ui.CommandHelpTemplate 34 cli.SubcommandHelpTemplate = ui.SubcommandHelpTemplate 35 36 app := &cli.Command{ 37 Name: "skycli", 38 Usage: "A companion CLI tool for your Bluesky feed ecosystem", 39 Version: "0.1.0", 40 Commands: []*cli.Command{ 41 SetupCommand(), LoginCommand(), StatusCommand(), 42 FetchCommand(), SearchCommand(), ListCommand(), ViewCommand(), ExportCommand(), 43 FollowersCommand(), FollowingCommand(), 44 }, 45 } 46 47 if err := app.Run(ctx, os.Args); err != nil { 48 logger.Fatalf("Command failed with error: %v", err) 49 } 50}