1package main
2
3import (
4 "fmt"
5 "os"
6
7 _ "github.com/joho/godotenv/autoload"
8
9 "github.com/carlmjohnson/versioninfo"
10 "github.com/urfave/cli/v2"
11)
12
13func main() {
14 if err := run(os.Args); err != nil {
15 fmt.Fprintf(os.Stderr, "error: %v\n", err)
16 os.Exit(-1)
17 }
18}
19
20func run(args []string) error {
21
22 app := cli.App{
23 Name: "goat",
24 Usage: "Go AT protocol CLI tool",
25 Version: versioninfo.Short(),
26 Flags: []cli.Flag{
27 &cli.StringFlag{
28 Name: "log-level",
29 Usage: "log verbosity level (eg: warn, info, debug)",
30 EnvVars: []string{"GOAT_LOG_LEVEL", "GO_LOG_LEVEL", "LOG_LEVEL"},
31 },
32 },
33 }
34 app.Commands = []*cli.Command{
35 cmdRecordGet,
36 cmdRecordList,
37 cmdFirehose,
38 cmdResolve,
39 cmdRepo,
40 cmdBlob,
41 cmdLex,
42 cmdAccount,
43 cmdPLC,
44 cmdBsky,
45 cmdRecord,
46 cmdSyntax,
47 cmdKey,
48 cmdPds,
49 cmdRelay,
50 }
51 return app.Run(args)
52}