id = "circleci" name = "CircleCI CLI" homepage = "https://cli.circleci.com/reference/" description = "CircleCI's official command line tool, bringing CI runs, jobs, configuration and other CircleCI features to the terminal." icon = "theSVG:circleci" executables = ["circleci"] [dotfiles] # internal/config/config.go in CircleCI-Public/circleci-cli documents the # location: "$XDG_CONFIG_HOME/circleci/config.yml (when XDG_CONFIG_HOME is # set)" and "~/.config/circleci/config.yml (default)" — the config home under # both names, which is [configHome]. Older 0.1.x releases used # ~/.circleci/cli.yml; the current CLI does not read it, so it is not listed # here. paths = ["[configHome]/circleci/config.yml"] # Same file, ExtensionsDir(): "$XDG_DATA_HOME/circleci/extensions … default # ~/.local/share/circleci/extensions" — read straight from the environment with # an os.UserHomeDir fallback and no per-OS branch, so it is the XDG data home on # macOS too and is written [xdgData]; [dataHome] would be # ~/Library/Application Support, which the CLI never writes. Downloaded # binaries, not config. exclude = ["[xdgData]/circleci/extensions/"] secret = [] side_effect = false # The `state` struct in the same file: `Token string \`yaml:"token,omitempty"\``. # The CLI stores it in the OS keyring when secure storage is available and # falls back to this file when it is not. [[dotfiles.secret_paths]] file = "[configHome]/circleci/config.yml" match = { key_path = ["token"] } # `DeviceID *uuid.UUID \`yaml:"device_id,omitempty"\`` is minted per install by # ensureDeviceID() and identifies this machine to telemetry. user_id is the # account and travels with the user, so it stays. [[dotfiles.machine_lines]] file = "[configHome]/circleci/config.yml" match = { key_path = ["device_id"] } [commands] format = 1 label = "CircleCI CLI" description = "Browse and validate orbs. Config, contexts, policies, runners and local execution are left out." quality = "ai-draft" base = "fig:circleci" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/circleci.ts" license = "MIT" [[commands.subcommand]] path = ["orb", "list"] label = "List orbs" description = "List orbs in a namespace." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/circleci.ts" license = "MIT" [[commands.subcommand.field]] id = "namespace" label = "Namespace" description = "Namespace of the orbs, e.g. circleci." type = "string" position = 0 sources = ["fig"] [[commands.subcommand.field]] id = "sort" label = "Sort by" description = "Specify the sorting." type = "string" option = ["--sort"] suggestions = [{ value = "builds", label = "builds" }, { value = "projects", label = "projects" }, { value = "orgs", label = "orgs" }] sources = ["fig"] [[commands.subcommand.field]] id = "uncertified" label = "Include uncertified" description = "Include uncertified orbs." type = "boolean" option = ["--uncertified", "-u"] sources = ["fig"] [[commands.subcommand.field]] id = "private" label = "Private only" description = "Orbs for private use within your org, unlisted from the public registry." type = "boolean" option = ["--private"] sources = ["fig"] [[commands.subcommand.task]] id = "popular" label = "Most used orbs" set = { sort = ["builds"] } fields = ["namespace", "sort"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["namespace", "sort", "uncertified"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["private"] [[commands.subcommand]] path = ["orb", "info"] label = "Orb info" description = "Show metadata of an orb." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/circleci.ts" license = "MIT" [[commands.subcommand.field]] id = "orb" label = "Orb" description = "namespace/orb, e.g. circleci/node." type = "string" position = 0 min = 1 sources = ["fig"] [[commands.subcommand.task]] id = "info" label = "Show metadata" fields = ["orb"] required = ["orb"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["orb"] [[commands.subcommand]] path = ["orb", "validate"] label = "Validate an orb" description = "Validate an orb.yml." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/circleci.ts" license = "MIT" [[commands.subcommand.field]] id = "path" label = "Orb file" description = "Path to the orb.yml." type = "path" position = 0 min = 1 path = { kind = "file", role = "input", must_exist = true } sources = ["fig"] [[commands.subcommand.task]] id = "validate" label = "Validate" fields = ["path"] required = ["path"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["path"]