id = "scalingo" name = "Scalingo CLI" homepage = "https://doc.scalingo.com/tools/cli/" description = "We provide a command line interface (CLI) tool to interact with the platform." executables = ["scalingo"] [dotfiles] # Scalingo's CLI source sets CONFIG_DIR to $HOME/.config/scalingo and # CONFIG_FILE_PATH to config.json. Its auth file is in the same directory and # contains the login token, so it is a whole-file secret. # https://github.com/Scalingo/cli/blob/master/config/config.go paths = ["~/.config/scalingo/config.json"] secret = ["~/.config/scalingo/auth"] [commands] format = 1 label = "Scalingo" description = "Read the logs of an application. Other commands and the add-on and database log flags are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["logs"] label = "Get application logs" description = "Dump or stream the logs of an application, optionally filtered by container." [[commands.subcommand.source]] id = "src" kind = "help" url = "https://github.com/Scalingo/cli/blob/master/cmd/logs.go" revision = "master 2026-10" evidence = """ "scalingo --app my-app logs -n 100 # Get 100 lines", "scalingo --app my-app logs -f # Real-time logs", "scalingo --app my-app logs -F web", "scalingo --app my-app logs --follow -F \"worker|clock\"", --lines, -n (flag name "lines", alias "n") --follow, -f (flag name "follow", alias "f") --filter, -F (flag name "filter", alias "F") Name: "lines", Aliases: []string{"n"}, Usage: "Number of log lines to dump" Name: "follow", Aliases: []string{"f"}, Usage: "Stream logs of app, (as "tail -f")" Name: "filter", Aliases: []string{"F"}, Usage: "Filter containers logs that will be displayed" Name: "app", Aliases: []string{"a"}, Usage: "Name of the current app" """ [[commands.subcommand.field]] id = "app" label = "Application" description = "Leave empty to use the app detected from the current directory." type = "string" option = ["--app", "-a"] sources = ["src"] [[commands.subcommand.field]] id = "lines" label = "Number of lines" type = "integer" option = ["--lines", "-n"] sources = ["src"] [[commands.subcommand.field]] id = "follow" label = "Follow (stream)" type = "boolean" option = ["--follow", "-f"] sources = ["src"] [[commands.subcommand.field]] id = "filter" label = "Container filter" description = "For example web, web-1 or a pattern like worker|clock." type = "string" option = ["--filter", "-F"] sources = ["src"] [[commands.subcommand.task]] id = "recent" label = "Recent lines" fields = ["app", "lines", "filter"] required = ["app"] [[commands.subcommand.task]] id = "stream" label = "Stream logs" set = { follow = [true] } lock = ["follow"] fields = ["app", "follow", "filter"] required = ["app"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["app", "lines", "follow"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["filter"]