Skip to content

CLI Overview

One-line install (Linux/macOS):

Terminal window
curl -fsSL https://cloudticon.com/install.sh | sudo sh

Via go install:

Terminal window
go install github.com/cloudticon/ct/cmd/ct@latest

Or build from source:

Terminal window
git clone https://github.com/cloudticon/ct.git
cd ct
go build -o ct ./cmd/ct
ct [global flags] <command> [args]
Commands:
init Create a new CT project scaffold
template Render manifests from .ct entrypoint + release name
apply Render and apply manifests for a release
delete Delete a release from cluster using inventory
dev Run live development workflows on cluster workloads
types Generate IDE types (.d.ts) for Values and runtime globals
version Print CLI version information
help Show help for any command
CommandDescriptionPage
ct initCreate a new CT project scaffold
ct templateRender manifests from .ct entrypoint + release name
ct applyRender and apply manifests to a Kubernetes cluster
ct deleteDelete release resources tracked by inventory
ct devRun live development workflows on cluster workloads
ct typesGenerate IDE types (.d.ts) for Values and runtime globals
--help, -h Show help
--verbose Enable verbose logs
--no-color Disable ANSI colors in CLI output

Print installed version details.

Terminal window
ct version

Get command docs quickly:

Terminal window
ct help
ct help template
ct template --help
Terminal window
ct init
ct template my-app . --namespace production
Terminal window
ct template my-app . --values values-dev.yaml --namespace dev
ct template my-app . --values values-staging.yaml --namespace staging
ct template my-app . --values values-prod.yaml --namespace prod
Terminal window
ct template my-app . --values values-prod.yaml --namespace prod > apps/my-app/manifests.yaml
git add apps/my-app/manifests.yaml
git commit -m "update prod manifests"
Terminal window
ct apply my-app . --namespace development --context dev
ct apply my-app . --namespace production --context prod --values values-prod.yaml
Terminal window
ct template my-app github.com/cloudticon/my-app@v1.0 --namespace staging
ct apply my-app github.com/cloudticon/my-app@v1.0 --namespace staging
ct apply my-app github.com/cloudticon/my-app@main --namespace staging --no-cache
Terminal window
ct apply my-app . --namespace production --context prod
ct delete my-app --namespace production --context prod
Terminal window
ct types .
ct types . --dev
ct template my-app . --namespace production

Regenerate types whenever .ct files or values change.

Terminal window
ct dev --context staging --env-file .env.staging --name dev-alice
ct dev --delete --context staging --name dev-alice
  • Re-run installer.
  • Confirm PATH includes CT install location.
  • Restart shell session.
  • Check repository URL and branch/tag in import string.
  • Verify network and git access.
  • Clear CT cache (~/.ct/cache/) if stale packages are present.
  • Use --no-cache on ct template/ct apply to force re-download.
  • Ensure valid YAML/JSON syntax.
  • Check key names used by templates.
  • Use --set to test overrides quickly.
  • Remember auto-detect order: values.jsonvalues.yamlvalues.yml.

CT runtime is synchronous (Goja engine). An esbuild plugin rejects async/await at bundle time. Replace async flows with synchronous alternatives.

Inconsistent manifests across environments

Section titled “Inconsistent manifests across environments”
  • Keep one baseline values file plus thin env overlays.
  • Version-control all rendered outputs used by GitOps.
  • Avoid hidden defaults; prefer explicit values.
  • Use stable release names so inventory and pruning stay predictable.
  • Keep main.ct small and split by domain modules.
  • Use factory helpers in shared packages for consistency.
  • Pin URL imports to tags for reproducibility.
  • Run ct types in CI for editor parity in teams.
  • Use ct apply for quick iteration, ct template + kubectl apply for controlled pipelines.