Skip to content

CLI Reference

deckctl [command] [subcommand] [flags]

Go CLI tool for managing and applying templates across multiple sources: local filesystem, GitLab.com, and self-hosted GitLab instances.

deckctl
├── source list · get · add · remove
├── template list · variables · apply
├── theme list · get · active · add · set · remove
├── history list · clear
├── cache list · clear
├── validate
└── completion bash · zsh · fish · powershell
CommandPurpose
sourceManage where templates come from
templateList, inspect and apply templates
themeManage output colour palettes
historyRead and clear the apply history
cacheInspect and clear the template cache
validateValidate config, themes and sidecars
completionEmit a shell completion script (standard Cobra command)

These are persistent flags — valid on every command.

FlagDefaultEnvironment variableDescription
--config <path>~/.config/deckctl/config.yamlDECKCTL_CONFIGSources config file
--theme <path>~/.config/deckctl/themes.yamlDECKCTL_THEMEThemes file
--history <path>~/.config/deckctl/history.dbDECKCTL_HISTORYApply-history database
--cache-dir <path>~/.cache/deckctl/DECKCTL_CACHE_DIRTemplate cache directory
--sidecar <name>deckctl.yamlSidecar filename to look for inside a template
--concurrency <n>1Worker goroutines for scanning local sources (1 = sequential)
-o, --output <mode>tabletable or json
-h, --helpHelp for the current command
-v, --versionPrint version, commit and build date

A flag always takes precedence over its environment variable, which takes precedence over the default. The cache directory additionally honours XDG_CACHE_HOME before falling back to ~/.cache/deckctl/.

  • Tables and JSON go to stdout.
  • Warnings, prompts and diagnostics go to stderr.
  • deckctl validate exits non-zero when any check fails; other commands exit non-zero on error.
Terminal window
deckctl --version
deckctl v0.2.0 (commit <sha>, built <rfc3339-timestamp>)

Release binaries carry a real version, commit and build date. A binary built with plain go build reports dev; one installed with go install ...@v0.2.0 reports the module version.