{
  "id": "travis",
  "name": "Travis CI Client",
  "homepage": "https://github.com/travis-ci/travis.rb",
  "description": "The Travis gem includes both a command line client and a Ruby library to interface with a Travis CI service.",
  "executables": [
    "travis"
  ],
  "dotfiles": {
    "paths": [],
    "exclude": [],
    "secret": [
      "~/.travis/config.yml"
    ],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Travis CI client",
    "description": "List repositories, show build history or encrypt values with the travis gem. Login, tokens, enterprise setups and the other commands are left to the command line.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": true
    },
    "subcommand": [
      {
        "path": [
          "repos"
        ],
        "label": "List repositories",
        "description": "Lists repositories and whether they are active.",
        "source": [
          {
            "id": "help",
            "kind": "help",
            "url": "https://raw.githubusercontent.com/travis-ci/travis.rb/HEAD/README.md",
            "revision": "2026-10-27",
            "evidence": "Usage: travis repos [options]\n-e, --api-endpoint URL           Travis API server to talk to\n    --com                        short-cut for --api-endpoint 'https://api.travis-ci.com/'\n    --org                        short-cut for --api-endpoint 'https://api.travis-ci.org/'\n-m, --match PATTERN              only list repositories matching the given pattern (shell style)\n-o, --owner LOGIN                only list repos for a certain owner\n-n, --name NAME                  only list repos with a given name\n-a, --active                     only list active repositories\n-A, --inactive                   only list inactive repositories\n"
          }
        ],
        "field": [
          {
            "id": "match",
            "label": "Name pattern",
            "description": "Shell-style pattern such as owner/prefix-*.",
            "type": "string",
            "option": [
              "--match",
              "-m"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "owner",
            "label": "Owner login",
            "type": "string",
            "option": [
              "--owner",
              "-o"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "name",
            "label": "Repository name",
            "type": "string",
            "option": [
              "--name",
              "-n"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "active",
            "label": "Only active",
            "type": "boolean",
            "option": [
              "--active",
              "-a"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "inactive",
            "label": "Only inactive",
            "type": "boolean",
            "option": [
              "--inactive",
              "-A"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "com",
            "label": "Use travis-ci.com",
            "type": "boolean",
            "option": [
              "--com"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "org",
            "label": "Use travis-ci.org",
            "type": "boolean",
            "option": [
              "--org"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "list",
            "label": "List repositories",
            "fields": [
              "match",
              "owner",
              "active",
              "inactive"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "match",
              "owner",
              "name",
              "active",
              "inactive"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "com",
              "org"
            ]
          }
        ]
      },
      {
        "path": [
          "history"
        ],
        "label": "Show build history",
        "description": "Recent builds of the repository in the current git clone, or of --repo.",
        "source": [
          {
            "id": "help",
            "kind": "help",
            "url": "https://raw.githubusercontent.com/travis-ci/travis.rb/HEAD/README.md",
            "revision": "2026-10-27",
            "evidence": "Usage: travis history [options]\n-e, --api-endpoint URL           Travis API server to talk to\n    --com                        short-cut for --api-endpoint 'https://api.travis-ci.com/'\n    --org                        short-cut for --api-endpoint 'https://api.travis-ci.org/'\n-r, --repo SLUG                  repository to use (will try to detect from current git clone)\n-a, --after BUILD                Only show history after a given build number\n-p, --pull-request NUMBER        Only show history for the given Pull Request\n-b, --branch BRANCH              Only show history for the given branch\n-l, --limit LIMIT                Maximum number of history items\n-d, --date                       Include date in output\n"
          }
        ],
        "field": [
          {
            "id": "repo",
            "label": "Repository slug",
            "description": "owner/name; detected from the current git clone when empty.",
            "type": "string",
            "option": [
              "--repo",
              "-r"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "branch",
            "label": "Branch",
            "type": "string",
            "option": [
              "--branch",
              "-b"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "pull_request",
            "label": "Pull request number",
            "type": "integer",
            "option": [
              "--pull-request",
              "-p"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "after",
            "label": "After build number",
            "type": "integer",
            "option": [
              "--after",
              "-a"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "limit",
            "label": "Maximum items",
            "type": "integer",
            "option": [
              "--limit",
              "-l"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "date",
            "label": "Include date",
            "type": "boolean",
            "option": [
              "--date",
              "-d"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "com",
            "label": "Use travis-ci.com",
            "type": "boolean",
            "option": [
              "--com"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "org",
            "label": "Use travis-ci.org",
            "type": "boolean",
            "option": [
              "--org"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "recent",
            "label": "Recent builds",
            "fields": [
              "repo",
              "branch",
              "limit",
              "date"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "repo",
              "branch",
              "limit",
              "date"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "pull_request",
              "after",
              "com",
              "org"
            ]
          }
        ]
      },
      {
        "path": [
          "encrypt"
        ],
        "label": "Encrypt a value",
        "description": "Encrypt an environment variable or other value for .travis.yml. Output is a secure: entry.",
        "source": [
          {
            "id": "help",
            "kind": "help",
            "url": "https://raw.githubusercontent.com/travis-ci/travis.rb/HEAD/README.md",
            "revision": "2026-10-27",
            "evidence": "Usage: travis encrypt [ARGS..] [OPTIONS]\n-e, --api-endpoint URL           Travis API server to talk to\n    --com                        short-cut for --api-endpoint 'https://api.travis-ci.com/'\n    --org                        short-cut for --api-endpoint 'https://api.travis-ci.org/'\n-r, --repo SLUG                  repository to use (will try to detect from current git clone)\n-a, --add [KEY]                  adds it to .travis.yml under KEY (default: env.global)\n-s, --[no-]split                 treat each line as a separate input\n-p, --append                     don't override existing values, instead treat as list\n-x, --override                   override existing value\n$ travis encrypt FOO=bar\n"
          }
        ],
        "field": [
          {
            "id": "value",
            "label": "Value to encrypt",
            "description": "For example FOO=bar.",
            "type": "string",
            "position": 0,
            "sources": [
              "help"
            ]
          },
          {
            "id": "repo",
            "label": "Repository slug",
            "description": "owner/name; detected from the current git clone when empty.",
            "type": "string",
            "option": [
              "--repo",
              "-r"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "add",
            "label": "Add to .travis.yml",
            "description": "Writes the result into .travis.yml under env.global.",
            "type": "boolean",
            "option": [
              "--add",
              "-a"
            ],
            "effect": "overwrite",
            "sources": [
              "help"
            ]
          },
          {
            "id": "append",
            "label": "Append to existing values",
            "type": "boolean",
            "option": [
              "--append",
              "-p"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "override",
            "label": "Override existing value",
            "type": "boolean",
            "option": [
              "--override",
              "-x"
            ],
            "effect": "overwrite",
            "sources": [
              "help"
            ]
          },
          {
            "id": "com",
            "label": "Use travis-ci.com",
            "type": "boolean",
            "option": [
              "--com"
            ],
            "sources": [
              "help"
            ]
          },
          {
            "id": "org",
            "label": "Use travis-ci.org",
            "type": "boolean",
            "option": [
              "--org"
            ],
            "sources": [
              "help"
            ]
          }
        ],
        "task": [
          {
            "id": "print",
            "label": "Print an encrypted value",
            "fields": [
              "value",
              "repo"
            ],
            "required": [
              "value"
            ]
          },
          {
            "id": "add",
            "label": "Encrypt and add to .travis.yml",
            "fields": [
              "value",
              "repo",
              "add",
              "append"
            ],
            "required": [
              "value"
            ],
            "set": {
              "add": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "value",
              "repo",
              "add"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "append",
              "override",
              "com",
              "org"
            ]
          }
        ]
      }
    ]
  }
}
