UPDATECLI(1)
π UPDATECLI(1) β the updatecli manual, group-chat edition π
okay bestie, welcome to the updatecli manual (that's UPDATECLI(1) if you're being formal π
). Sit down, hydrate, and let's get into it.
β¨ NAME β¨
updatecli β Updatecli is a declarative dependency manager command line tool π
β¨ SYNOPSIS β¨
updatecli [options...] [argument...]
β¨ DESCRIPTION β¨
So. Updatecli is a declarative dependency manager command line tool π«Ά that's the whole vibe.
Based on Updatecli manifest(s), it makes sure that your target files are up to date. Like, it literally goes and keeps them fresh. No stale manifests, no cap.
Updatecli works in three stages, and the way it does this is honestly kind of iconic:
- Source β retrieve a value from a third location, like a file, an api, etc.. π grab the data, get the tea.
- Condition β ensure conditions are met, based on the value that got retrieved during the source stage. vibe check time β
- Target β update the target, based on the value retrieved from the source stage. slay, ship it π
β¨ OPTIONS β¨
--debugβ Debug Output π like, show me everything.--disable-version-checkβ Disable version check (env:UPDATECLI_DISABLE_VERSION_CHECK) π she doesn't need to know.--experimentalβ Enable Experimental mode π§ͺ live a little.--unique-tmp-dirβ Use a unique temporary directory to allow running multiple Updatecli instances in parallel π so nobody's stepping on anybody's toes.
β¨ COMMANDS β¨
π apply NAME[:TAG|@DIGEST]
- β οΈ Deprecated in favor of
updatecli pipeline apply applychecks if an update is needed then apply the changes π₯
OPTIONS π
--cleanβ Remove updatecli working directory like'--clean=true'π§Ή--clean-git-branchesβ Remove updatecli working git branches like'--clean-git-branches=true'πΏ--commitβ Record changes to the repository,'--commit=false'π-c,--configβ Sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'π--disable-changelogβ Disable changelog retrieval to avoid unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG) π«--disable-tlsβ Disable TLS verification like'--disable-tls=true'π--disable-udash-reportβ Disable publishing pipeline reports to Udash π--existing-onlyβ Skip targets when pipeline has no existing remote branch'--existing-only=true'π ββοΈ--export-report-to-yamlβ Export pipeline reports to YAML files π--labelsβ Filter pipelines by their labels, accepted as a comma separated list (key:value) π·οΈ--pipeline-idsβ Filter pipelines to apply by their pipeline IDs, accepted as comma separated list π--pushβ Update remote refs'--push=false'π--relative-pathsβ What the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS) π£οΈ--secretsβ Sets Sops secrets file uses for templating π--udash-api-urlβ Udash API URL selecting which service stored by udash login receives pipeline reports π--validate-schemaβ Report manifest keys not matching the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA) βοΈ-v,--valuesβ Sets values file uses for templating ποΈ-i,--values-inlineβ Sets inline values uses for templating, accepted valid json/yaml string π¦
π completion
Generate the autocompletion script for the specified shell π¦ (iykyk, tab-completion is self-care)
COMMANDS
bash
Generate the autocompletion script for bash
OPTIONS
--no-descriptionsβ disable completion descriptions π€
fish
Generate the autocompletion script for fish π
OPTIONS
--no-descriptionsβ disable completion descriptions π€
powershell
Generate the autocompletion script for powershell π
OPTIONS
--no-descriptionsβ disable completion descriptions π€
zsh
Generate the autocompletion script for zsh π
OPTIONS
--no-descriptionsβ disable completion descriptions π€
π§© compose
compose executes specific Updatecli compose tasks such as diff or apply π οΈ
COMMANDS
apply
apply checks and apply changes defined by the compose file β
OPTIONS
--cleanβ Remove updatecli working directory like'--clean=true'π§Ή--clean-git-branchesβ Remove git branches created by updatecli like'--clean-git-branches=true'πΏ--commitβ Record changes to the repository,'--commit=false'π--disable-changelogβ Disable changelog retrieval to avoid unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG) π«--disable-tlsβ Disable TLS verification like'--disable-tls=true'π--disable-udash-reportβ Disable publishing pipeline reports to Udash π--existing-onlyβ Skip targets when pipeline has no existing remote branch'--existing-only=true'π ββοΈ--export-report-to-yamlβ Export pipeline reports to YAML files π-f,--fileβ Define the update-compose file π--ignored-policy-idsβ Filter policies to ignore by their policy IDs, accepted as a comma separated list π--labelsβ Filter pipelines to apply by their labels, accepted as a comma separated list (key:value) π·οΈ--only-policy-idsβ Filter policies to apply by their policy IDs, accepted as a comma separated list π―--pipeline-idsβ Filter pipelines to apply by their pipeline IDs, accepted as a comma separated list π--pushβ Update remote refs'--push=false'π--relative-pathsβ What the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS) π£οΈ--udash-api-urlβ Udash API URL selecting which service stored by udash login receives pipeline reports π--validate-schemaβ Report manifest keys not matching the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA) βοΈ
diff
diff show changes defined by the compose file π
OPTIONS
--cleanβ Remove updatecli working directory like'--clean=true'π§Ή--disable-changelogβ Disable changelog retrieval to avoid unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG) π«--disable-tlsβ Disable TLS verification like'--disable-tls=true'π--disable-udash-reportβ Disable publishing pipeline reports to Udash π--export-report-to-yamlβ Export pipeline reports to YAML files π-f,--fileβ Define the Updatecli compose file name π--ignored-policy-idsβ Filter policies to ignore by their policy IDs, accepted as a comma separated list π--labelsβ Filter pipelines to apply by their labels, accepted as a comma separated list (key:value) π·οΈ--only-policy-idsβ Filter policies to apply by their policy IDs, accepted as a comma separated list π―--pipeline-idsβ Filter pipelines to apply by their IDs, accepted a comma separated list π--relative-pathsβ What the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS) π£οΈ--udash-api-urlβ Udash API URL selecting which service stored by udash login receives pipeline reports π--validate-schemaβ Report manifest keys not matching the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA) βοΈ
show
show manifest(s) defined by the compose file that should be executed π
OPTIONS
--cleanβ Remove updatecli working directory like'--clean=true'π§Ή--disable-prepareβ--disable-prepareskip the Updatecli'prepare'stage βοΈ--disable-templatingβ Disable manifest templating π«--disable-tlsβ Disable TLS verification like'--disable-tls=true'π-f,--fileβ Define the update-compose file π--ignored-policy-idsβ Filter policies to ignore by their policy IDs, accepted as a comma separated list π--labelsβ Filter pipelines to apply by their labels, accepted as a comma separated list (key:value) π·οΈ--only-policy-idsβ Filter policies to apply by their policy IDs, accepted as a comma separated list π―--pipeline-idsβ Filter pipelines to apply by their pipeline IDs, accepted a comma separated list π--relative-pathsβ What the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS) π£οΈ
π diff NAME[:TAG|@DIGEST]
- β οΈ Deprecated in favor of
updatecli pipeline diff diffshows changes π
OPTIONS π
--cleanβ Remove updatecli working directory like'--clean=true'π§Ή-c,--configβ Sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'π--disable-changelogβ Disable changelog retrieval to avoid unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG) π«--disable-tlsβ Disable TLS verification like'--disable-tls=true'π--disable-udash-reportβ Disable publishing pipeline reports to Udash π--export-report-to-yamlβ dumps your pipeline reports out as YAML files β¨ like it's keeping receipts--labelsβ filters which pipelines actually get applied based on their labels, and it's a comma-separated list inkey:valueform (yes, exactly like that)--pipeline-idsβ filters pipelines by their pipeline IDs, comma-separated list, no cap π«Ά--relative-pathsβ tells Updatecli what the relative paths inside a manifest resolve against: either"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets the Sops secrets file used for templating π--udash-api-urlβ the Udash API URL, which picks which service β the one stored byudash loginβ receives your pipeline reports--validate-schemaβ reports manifest keys that don't match the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA)-v,--valuesβ sets the values file used for templating-i,--values-inlineβ sets inline values used for templating, and it takes a valid json/yaml string
π help [command]
Help about any command. That's it, that's the whole vibe β ask and it shall explain π
π§ͺ jsonschema
Experimental 𧨠β Export JsonSchema to file.
OPTIONS
-b,--baseidβ define schema baseid-d,--directoryβ export schema to directory
π¦ manifest
manifest executes specific manifest task such as upgrade β it's the little command hub for everything manifest-y πΈ
COMMANDS
init <path> β init a new Updatecli policy
pull NAME[:TAG|@DIGEST] β pull manifest(s) from an OCI registry
OPTIONS
--disable-tlsβ Disable TLS verification like'--disable-tls=true'
push [PATH] β push manifest(s) to an OCI registry
OPTIONS
--assetsβ sets an asset file to push along with the policy, like a script or a data file. Heads up: a manifest only reaches it once pulled, and only withoptions.relativepaths: manifestπ-c,--configβ sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-tlsβ Disable TLS verification like'--disable-tls=true'--overwriteβ overwrite existing manifest(s) in the registry like'--overwrite=true'π₯--policyβ sets policy file containing policy metadata information--secretsβ sets secrets file used for templating-t,--tagβ name and optionally a tag (format:"name:tag")-v,--valuesβ sets values file used for templating
show NAME[:TAG|@DIGEST] β show manifest(s) which will be executed π
OPTIONS
--cleanβ Remove updatecli working directory like'--clean=true'-c,--configβ sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-prepareβ--disable-prepareskip the Updatecli'prepare'stage--disable-templatingβ disable manifest templating--disable-tlsβ Disable TLS verification like'--disable-tls=true'--graphβ output in graph format--graph-flavorβ flavor of graph format, accepted values are'dot'for graphviz or'mermaid'--labelsβ filter pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filter pipelines to apply by their IDs, accepted a comma separated list--relative-pathsβ what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets secrets file used for templating-v,--valuesβ sets values file used for templating-i,--values-inlineβ sets inline values used for templating, accepted valid json/yaml string
upgrade β upgrade executes manifest upgrade task β¬οΈ
OPTIONS
-c,--configβ sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'-i,--in-placeβ write the updated Updatecli manifest back to the same file instead of stdout βοΈ--labelsβ filter pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filter pipelines to apply by their IDs, accepted a comma separated list
validate β validate manifest(s) against the Updatecli schema β
OPTIONS
-c,--configβ sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-templatingβ disable manifest templating--relative-pathsβ what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets secrets file used for templating--strictβ report warnings as errors π€ no chill mode-v,--valuesβ sets values file used for templating-i,--values-inlineβ sets inline values used for templating, accepted valid json/yaml string
π₯ pipeline
pipeline executes specific pipeline tasks such as diff or apply β this is where the actual doing stuff happens, bestie π
COMMANDS
apply NAME[:TAG|@DIGEST] β apply checks if an update is needed then applies the changes π
OPTIONS
--cleanβ Remove updatecli working directory like'--clean=true'--clean-git-branchesβ Remove updatecli working git branches like'--clean-git-branches=true'--commitβ record changes to the repository,'--commit=false'-c,--configβ sets config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-changelogβ disable changelog retrieval to avoid unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG)--disable-tlsβ Disable TLS verification like'--disable-tls=true'--disable-udash-reportβ disable publishing pipeline reports to Udash π--existing-onlyβ skip targets when the pipeline has no existing remote branch'--existing-only=true'--export-report-to-yamlβ export pipeline reports to YAML files--labelsβ filter pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filter pipelines to apply by their IDs, accepted a comma separated list--pushβ update remote refs'--push=false'--relative-pathsβ what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets Sops secrets file used for templating--udash-api-urlβ Udash API URL selecting which service stored byudash loginreceives pipeline reports--validate-schemaβ report manifest keys not matching the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA)-v,--valuesβ sets values file used for templating-i,--values-inlineβ sets inline values used for templating; it expects a genuinely valid json/yaml string, so don't try to be cute with it π
π diff NAME[:TAG|@DIGEST]
diff shows changes. That's the whole vibe. It's giving "spot the difference" but for your dependency manifests β¨
OPTIONS πΈ
--cleanβ removes the updatecli working directory, like'--clean=true'-c,--configβ sets the config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-changelogβ disables changelog retrieval so you don't make unnecessary requests (env:UPDATECLI_DISABLE_CHANGELOG)--disable-tlsβ disables TLS verification, like'--disable-tls=true'--disable-udash-reportβ disables publishing pipeline reports to Udash--export-report-to-yamlβ exports pipeline reports to YAML files--labelsβ filters pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filters pipelines to apply by their pipeline IDs, accepted a comma separated list--relative-pathsβ decides what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets the Sops secrets file used for templating--udash-api-urlβ the Udash API URL, selecting which service β stored byudash loginβ receives pipeline reports--validate-schemaβ reports manifest keys that don't match the Updatecli schema as warnings (env:UPDATECLI_VALIDATE_SCHEMA)-v,--valuesβ sets the values file used for templating-i,--values-inlineβ sets inline values used for templating; expects a valid json/yaml string
π¦ prepare NAME[:TAG|@DIGEST]
prepare runs the tasks you need before a run, like git clone. It's the get-ready-with-me of subcommands π«Ά
OPTIONS β¨
--cleanβ removes the updatecli working directory, like'--clean=true-c,--configβ sets the config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-tlsβ disables TLS verification, like'--disable-tls=true'--labelsβ filters pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filters pipelines to apply by their pipeline IDs, accepted a comma separated list--relative-pathsβ decides what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets the Sops secrets file used for templating-v,--valuesβ sets the values file used for templating-i,--values-inlineβ sets inline values used for templating; expects a valid json/yaml string
ngl bestie, the page literally repeats this exact same prepare block a couple more times at different indent levels β same command, same flags, same everything. Consider the list above your one-stop shop, no cap π
π show NAME[:TAG|@DIGEST]
- Deprecated in favor of
updatecli manifest showβ prints the configuration that will be executed
lowkey important: this one is deprecated, so maybe don't build your whole personality around it. Go hang with updatecli manifest show instead π
OPTIONS π
--cleanβ removes the updatecli working directory, like'--clean=true'-c,--configβ sets the config file or directory. By default, Updatecli looks for a file named'updatecli.yaml'or a directory named'updatecli.d'--disable-prepareβ--disable-prepare skip the Updatecli 'prepare' stage'--disable-prepare=true'--disable-tlsβ disables TLS verification, like'--disable-tls=true'--labelsβ filters pipelines to apply by their labels, accepted as a comma separated list (key:value)--pipeline-idsβ filters pipelines to apply by their IDs, accepted a comma separated list--relative-pathsβ decides what the relative paths of a manifest resolve against:"workingdirectory"or"manifest"(env:UPDATECLI_RELATIVE_PATHS)--secretsβ sets the secrets file used for templating-v,--valuesβ sets the values file used for templating-i,--values-inlineβ sets inline values used for templating; expects a valid json/yaml string
π udash
udash provides various Udash service integration. It's the whole Udash situation, handled π
COMMANDS π
config β [Experimental] config shows the config file path
EXAMPLES
updatecli udash config
login url β [Experimental] login authenticates with the Udash.
OPTIONS
--api-urlβ api-url defines the udash API URL--tokenβ token defines the Udash API token. Without it, Updatecli prompts for one
EXAMPLES
updatecli udash login app.updatecli.io
logout url β [Experimental] logout from an Udash service.
EXAMPLES
updatecli udash logout app.updatecli.io
β version
Prints the current application version. Short, sweet, iconic, periodt π
That's the whole page bestie, you ate that π This was updatecli β the source line reads UP...I(1) (the page name got a little truncated, we still love her) β version-dated 2026-10-26. Go forth and manage your dependencies declaratively, no cap ππ§β¨
π¦ where this page comes from
- nixpkgs unstable: updatecli 0.123.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms