{
  "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": {
    "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
    },
    "subcommand": [
      {
        "path": [
          "logs"
        ],
        "label": "Get application logs",
        "description": "Dump or stream the logs of an application, optionally filtered by container.",
        "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\",\n\"scalingo --app my-app logs -f                          # Real-time logs\",\n\"scalingo --app my-app logs -F web\",\n\"scalingo --app my-app logs --follow -F \"worker|clock\"\",\n--lines, -n  (flag name \"lines\", alias \"n\")\n--follow, -f  (flag name \"follow\", alias \"f\")\n--filter, -F  (flag name \"filter\", alias \"F\")\nName: \"lines\", Aliases: []string{\"n\"}, Usage: \"Number of log lines to dump\"\nName: \"follow\", Aliases: []string{\"f\"}, Usage: \"Stream logs of app, (as \"tail -f\")\"\nName: \"filter\", Aliases: []string{\"F\"}, Usage: \"Filter containers logs that will be displayed\"\nName: \"app\", Aliases: []string{\"a\"}, Usage: \"Name of the current app\"\n"
          }
        ],
        "field": [
          {
            "id": "app",
            "label": "Application",
            "description": "Leave empty to use the app detected from the current directory.",
            "type": "string",
            "option": [
              "--app",
              "-a"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "lines",
            "label": "Number of lines",
            "type": "integer",
            "option": [
              "--lines",
              "-n"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "follow",
            "label": "Follow (stream)",
            "type": "boolean",
            "option": [
              "--follow",
              "-f"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "filter",
            "label": "Container filter",
            "description": "For example web, web-1 or a pattern like worker|clock.",
            "type": "string",
            "option": [
              "--filter",
              "-F"
            ],
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "recent",
            "label": "Recent lines",
            "fields": [
              "app",
              "lines",
              "filter"
            ],
            "required": [
              "app"
            ]
          },
          {
            "id": "stream",
            "label": "Stream logs",
            "set": {
              "follow": [
                true
              ]
            },
            "lock": [
              "follow"
            ],
            "fields": [
              "app",
              "follow",
              "filter"
            ],
            "required": [
              "app"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "app",
              "lines",
              "follow"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "filter"
            ]
          }
        ]
      }
    ]
  }
}
