id = "commercelayer" name = "Commerce Layer CLI" homepage = "https://github.com/commercelayer/commercelayer-cli" description = "The official Commerce Layer CLI which helps you to manage your Commerce Layer applications right from the terminal." # Commerce Layer's mark, the SVG favicon its own site serves. icon = "https://commercelayer.io/favicon.svg" # `commercelayer` and `clayer` are two of the three bin names in package.json. # The third, `cl`, is deliberately left out: it is also the name of the MSVC # compiler driver, and a consumer that mapped `cl` to this entry would be wrong # on every Windows machine that builds C++. executables = ["commercelayer", "clayer"] [dotfiles] # Nothing here is ordinary config. The CLI's own settings file (the configstore # at ~/.config/@commercelayer/cli/config.json) holds which application is # currently selected plus two knobs — `test` and `commandRetention` — which is # selection state, not something a user carries between machines. paths = [] exclude = [] # Every file in the applications directory is a credential. # src/config.ts writes two per logged-in application, both under # `join(config.configDir, 'applications')`: # .config.json — the AppInfo record, which carries clientId, # clientSecret, email and password # (see AppAuth in @commercelayer/cli-core src/application.ts) # .token.json — the OAuth access token # https://github.com/commercelayer/commercelayer-cli/blob/main/src/config.ts # # `config.configDir` is oclif's. @oclif/core (pinned at ^3.27.0) computes it in # Config.load as `dir('config')`: # base = XDG_CONFIG_HOME || (windows && LOCALAPPDATA) || ~/.config # configDir = join(base, this.dirname) # and `this.dirname = this.pjson.oclif.dirname || this.name`. commercelayer's # oclif block sets no `dirname`, so it falls back to the package name, # `@commercelayer/cli` — the scope is a real directory level. On Windows oclif # turns the first slash into a backslash, giving # %LOCALAPPDATA%\@commercelayer\cli. # https://github.com/oclif/core/blob/main/src/config/config.ts secret = [ "~/.config/@commercelayer/cli/applications/", "%LOCALAPPDATA%/@commercelayer/cli/applications/", ] [commands] format = 1 label = "Commerce Layer CLI" description = "List the logged-in CLI applications. Login (applications:add) takes a client secret and is left out, as are the plugin commands." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.subcommand]] path = ["applications"] label = "List applications" description = "Show the logged-in applications, optionally filtered." [[commands.subcommand.source]] id = "docs" kind = "help" url = "https://raw.githubusercontent.com/commercelayer/commercelayer-cli/HEAD/packages/cli/docs/applications.md" revision = "2026-10-27" evidence = """ $ commercelayer applications [-k integration|sales_channel|user] [--live | -m test|live] [-a | --id ] [-A core|provisioning | -o ] [-S] -A, --api=