CKA Buddy is a local-first, hands-on Kubernetes coaching app for CKA prep.
It gives you:
- guided step-by-step project content,
- deterministic verification,
- persistent progress,
- and a TUI control plane while you run real shell commands in a paired terminal.
cargo run now defaults to external shell mode.
That means:
- You launch CKA Buddy in one terminal.
- CKA Buddy shows a 4-digit PIN pairing command in the log.
- You run that pairing command in a second terminal.
- All commands from the TUI execute in that paired terminal (no terminal spam/popups).
cargo runUse a positional argument:
cargo run -- ghosttyEquivalent explicit form:
cargo run -- --shell external --terminal ghosttyYou’ll see something like:
cargo run -- --shell-connect 4821 --port 51234Run it in your second terminal to connect.
- Default:
external - Optional:
embedded
Force embedded mode:
cargo run -- --shell embeddedSwitch at runtime inside TUI:
/shell→ show current mode/shell embedded/shell external
/new— reset progress and restart from Project 00/next//prev— navigate steps/back— jump to last completed step/recommended— jump to recommended next step/verify— run deterministic checks for current step/hint— get contextual coach hint/suggest [n]— load suggested command/clear— clear terminal feed/help— show command reference/quit— save and exit
You can also type normal shell/kubectl commands directly.
For guard overrides on risky commands:
! <command>
- Ctrl+C works globally (quick quit from anywhere)
/quitalso exits cleanly
CKA Buddy is designed to reduce exam prep friction:
- learn by doing,
- keep commands and verification deterministic,
- avoid context switching,
- keep progress and momentum across sessions.
- Content source:
docs/cka-app-content/ - Progress file:
~/.cka-coach/progress.json - Verification source: step
verifycommands in content
Project and bug markdown files support cka-step fenced blocks for exact runnable steps.
Default coaching is deterministic (no API required).
Enable LLM hints:
cargo run --features llmSet environment variables:
export CKA_COACH_LLM_API_KEY="<key>"
export CKA_COACH_LLM_ENDPOINT="https://openrouter.ai/api/v1/chat/completions"
export CKA_COACH_LLM_MODEL="openai/gpt-4.1-mini"If using another OpenAI-compatible endpoint, set CKA_COACH_LLM_ENDPOINT accordingly.


