id = "cumulusci" name = "CumulusCI" homepage = "https://cumulusci.readthedocs.io" description = "Build great applications on the Salesforce platform by automating org setup, testing, and deployment." executables = ["cci"] [dotfiles] # https://github.com/SFDO-Tooling/CumulusCI/blob/main/docs/config.md — the # global config file is ~/.cumulusci/cumulusci.yml. The directory itself is # built in cumulusci/core/config/universal_config.py as # `config_dir = Path.home() / ".cumulusci"`. paths = ["~/.cumulusci/cumulusci.yml"] # orginfo/ is a cache of org descriptions the keychain re-fetches; see # `(self.global_config_dir / "orginfo").glob("*")` in # cumulusci/core/keychain/encrypted_file_project_keychain.py. exclude = ["~/.cumulusci/orginfo/"] # The same file, on the layout: "Service files (.service) are organized under # ~/.cumulusci/services/ into sub-directories … Org files (.org) live in both # under ~/.cumulusci and in local project directories. The .org files store an # encrypted access_token and other org attributes." Encrypted with a key # derived from CUMULUSCI_KEY, so the file alone is still the credential. secret = [ "~/.cumulusci/*.org", "~/.cumulusci/*/*.org", "~/.cumulusci/services/*/*.service", ] # No machine_lines: the global cumulusci.yml holds task and flow defaults that # are meant to follow the developer, and nothing in it names this machine. [commands] format = 1 label = "CumulusCI" description = "Run CumulusCI flows and tasks." quality = "ai-draft" base = "fig:cci" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/cci.ts" license = "MIT" [[commands.subcommand]] path = ["flow", "run"] label = "Run a flow" description = "Run a named flow against an org." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/cci.ts" license = "MIT" [[commands.subcommand.field]] id = "flow" label = "Flow name" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.field]] id = "org" label = "Target org" description = "Defaults to the current default org." type = "string" option = ["--org"] sources = ["fig"] [[commands.subcommand.field]] id = "delete_org" label = "Delete scratch org afterwards" type = "boolean" option = ["--delete-org"] effect = "delete" sources = ["fig"] [[commands.subcommand.field]] id = "task_option" label = "Task options" description = "Written as taskname__option value; repeat for more than one." type = "string" option = ["-o"] multiple = true sources = ["fig"] [[commands.subcommand.field]] id = "no_prompt" label = "Non-interactive" type = "boolean" option = ["--no-prompt"] sources = ["fig"] [[commands.subcommand.field]] id = "debug" label = "Debug on exception" type = "boolean" option = ["--debug"] sources = ["fig"] [[commands.subcommand.task]] id = "run" label = "Run a flow" fields = ["flow", "org", "no_prompt"] required = ["flow"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["flow", "org", "task_option"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["delete_org", "no_prompt", "debug"] [[commands.subcommand]] path = ["task", "run"] label = "Run a task" description = "Run a named task for the current project." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/cci.ts" license = "MIT" [[commands.subcommand.field]] id = "task" label = "Task name" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "run" label = "Run a task" fields = ["task"] required = ["task"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["task"]