github.com/prysmaticlabs/prysm@v1.4.4/tools/specs-checker/main.go (about) 1 package main 2 3 import ( 4 "embed" 5 "log" 6 "os" 7 8 "github.com/urfave/cli/v2" 9 ) 10 11 var ( 12 dirFlag = &cli.StringFlag{ 13 Name: "dir", 14 Value: "", 15 Usage: "Target directory", 16 Required: true, 17 } 18 ) 19 20 //go:embed data 21 var specFS embed.FS 22 23 var specDirs = map[string][]string{ 24 "specs/phase0": { 25 "beacon-chain.md", 26 "fork-choice.md", 27 "validator.md", 28 "weak-subjectivity.md", 29 }, 30 "ssz": { 31 "merkle-proofs.md", 32 }, 33 } 34 35 func main() { 36 app := &cli.App{ 37 Name: "Specs checker utility", 38 Description: "Checks that specs pseudo code used in comments is up to date", 39 Usage: "helps keeping specs pseudo code up to date!", 40 Commands: []*cli.Command{ 41 { 42 Name: "check", 43 Usage: "Checks that all doc strings", 44 Flags: []cli.Flag{ 45 dirFlag, 46 }, 47 Action: check, 48 }, 49 { 50 Name: "download", 51 Usage: "Downloads the latest specs docs", 52 Action: download, 53 Flags: []cli.Flag{ 54 dirFlag, 55 }, 56 }, 57 }, 58 } 59 60 err := app.Run(os.Args) 61 if err != nil { 62 log.Fatal(err) 63 } 64 }