Install
Prerequisites
Section titled “Prerequisites”- Bun — Runtime and package manager. Install from bun.sh.
- Mise (optional) — Tool version management from mise.jdx.dev.
Quick Install
Section titled “Quick Install”Kyku is Bun-only. The CLI publishes as @kykucloud/cli.
# https://bun.shcurl -fsSL https://bun.sh/install | bash
bun add -g @kykucloud/clikyku versionkyku init --provider=hetznerManual Install (from repo)
Section titled “Manual Install (from repo)”Until 0.1.0 is on the registry, or when hacking on Kyku itself:
git clone https://github.com/pmdroid/kyku.gitcd kykubun installbun run buildThis builds all packages in order: types → core → aws → gcp → hetzner → cli.
Run the CLI directly:
kyku --helpMise (optional)
Section titled “Mise (optional)”If using Mise for tool version management:
mise installThis reads .mise.toml and installs the correct Bun version automatically.
Credentials
Section titled “Credentials”Set provider credentials as environment variables:
# AWS — standard env varsexport AWS_REGION=us-east-1export AWS_ACCESS_KEY_ID=...export AWS_SECRET_ACCESS_KEY=...
# GCPexport GOOGLE_CLOUD_PROJECT=my-projectexport GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json
# Hetznerexport HCLOUD_TOKEN=your-token
# DigitalOceanexport DIGITALOCEAN_TOKEN=your-tokenAWS and GCP can use OIDC in GitHub Actions / GitLab / CircleCI (KYKU_AWS_ROLE_ARN, or KYKU_GCP_WORKLOAD_PROVIDER + KYKU_GCP_SERVICE_ACCOUNT). Hetzner and DigitalOcean have no OIDC — use their API tokens.
Verify Installation
Section titled “Verify Installation”kyku versionkyku doctorkyku version prints @kykucloud/cli 0.1.0. kyku doctor is a read-only pass/fail table (Bun, named credentials, state parse, lock). It does not write state, lock, or cloud.