// Atlas9 developer CLI. package main import ( "fmt" "os" ) var commands = map[string]func([]string){ "run": cmdRun, "traces": cmdTraces, "enumgen": cmdEnumgen, "gendocs": cmdGendocs, "gensite": cmdGensite, } func main() { if len(os.Args) < 2 { usage() os.Exit(2) } name := os.Args[1] fn, ok := commands[name] if !ok { fmt.Fprintf(os.Stderr, "atlas9: unknown command %q\n\n", name) usage() os.Exit(2) } fn(os.Args[2:]) } func usage() { fmt.Fprintln(os.Stderr, "usage: atlas9 [args]") fmt.Fprintln(os.Stderr) fmt.Fprintln(os.Stderr, "commands:") fmt.Fprintln(os.Stderr, " run start the dev server with hot reload") fmt.Fprintln(os.Stderr, " traces render slog JSON logs as request traces") fmt.Fprintln(os.Stderr, " enumgen generate typed enum types from //atlas:enum directives") fmt.Fprintln(os.Stderr, " gendocs generate a package index for the atlas9 repo") fmt.Fprintln(os.Stderr, " gensite render a static site from HTML templates") }