| name | tool-installation |
| description | Install missing development tools (kiro-cli, codex, agy, crush, tk, yq, mise, jq, bc) with OS detection, per-OS commands, corporate-proxy recipes, and verification. Use when a command fails with 'not found' or a prerequisite tool is missing. Trigger: not found, install tool, missing tool, winget, brew, go install proxy error. |
| metadata | {"type":"reference","invocation":"both","practice":null} |
Tool Installation Guide
When a required tool is missing, install it using the commands below. Detect the OS first, then use the appropriate method.
Required Tools
| Tool | Purpose | Required by |
|---|
kiro-cli | AI coding assistant CLI | All deployments |
codex | OpenAI Codex CLI | Codex deployments only |
agy | Google Antigravity CLI | Antigravity deployments only |
crush | Charm's Crush agent CLI | Adapter/judge pools (e.g., codex-runner) |
tk | Minimal ticket system (lo5/tk) | Ticket-based dispatch projects |
yq | YAML processor | init.sh, doctor.sh |
mise | Task runner / env manager | All mise run commands |
jq | JSON processor | eval harness |
bc | Calculator | eval harness score math |
git | Version control | Everything |
OS Detection
case "$(uname -s)" in
MINGW*|MSYS*|CYGWIN*) OS="windows" ;;
Darwin*) OS="macos" ;;
Linux*) OS="linux" ;;
esac
tk (all OSes — needs Go ≥ 1.25.5)
go install github.com/lo5/tk@latest
If Go is older than 1.25.5: mise install go@1.25 first, then use that binary explicitly
(~/.local/share/mise/installs/go/1.25/bin/go install ...).
Behind a corporate proxy (TLS interception breaks proxy.golang.org — symptom:
tls: failed to verify certificate: certificate is valid for <corp-host>, not proxy.golang.org):
GOPROXY=direct GOSUMDB=off GOTOOLCHAIN=local go install github.com/lo5/tk@latest
GOTOOLCHAIN=local matters: with GOSUMDB=off, Go refuses to auto-download toolchains
("verifying module: checksum database disabled").
Verify with which tk — go install honors GOBIN, which mise-managed machines often
point at mise's go bin dir (e.g. ~/.local/share/mise/installs/go/<ver>/bin), NOT ~/go/bin.
crush (Charm's Crush)
brew install charmbracelet/tap/crush
winget install charmbracelet.crush
go install github.com/charmbracelet/crush@latest
Crush auto-detects providers from env (e.g., Bedrock via CLAUDE_CODE_USE_BEDROCK). It writes
a .crush/ state dir into cwd on every run — gitignore it or pass --data-dir.
Windows (Git Bash / MSYS2)
winget install --id Amazon.Kiro-CLI
winget install --id OpenAI.Codex
curl -fsSL https://antigravity.google/cli/install.sh | bash
winget install --id MikeFarah.yq
winget install --id jdx.mise
winget install --id jqlang.jq
mkdir -p ~/.local/bin
cat > ~/.local/bin/bc << 'EOF'
if [[ "$1" == "-l" || "$1" == "--mathlib" ]]; then shift; fi
if [[ $# -gt 0 ]]; then input="$*"; else input=$(cat); fi
python -c "
import sys, math
expr = sys.argv[1]
lines = [l.strip() for l in expr.replace(chr(59), chr(10)).split(chr(10)) if l.strip()]
scale = 2
for line in lines:
if line.startswith('scale='):
scale = int(line.split('=')[1])
continue
line = line.replace('sqrt(', 'math.sqrt(').replace('^', '**')
try:
result = eval(line)
print(f'%.{scale}f' % result)
except:
pass
" "$input"
EOF
chmod +x ~/.local/bin/bc
grep -q '.local/bin' ~/.bashrc || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
winget install --id Git.Git
macOS
brew install --cask kiro-cli
brew install openai-codex
curl -fsSL https://antigravity.google/cli/install.sh | bash
brew install yq
brew install mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
brew install jq
brew install git
Linux (Debian/Ubuntu)
curl -fsSL https://kiro.dev/install | sh
npm install -g @openai/codex
curl -fsSL https://antigravity.google/cli/install.sh | bash
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq
curl https://mise.run | sh
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
sudo apt-get install -y jq
sudo apt-get install -y bc
sudo apt-get install -y git
Linux (Fedora/RHEL)
sudo dnf install -y yq jq bc git
curl https://mise.run | sh
Verification
After installation, verify all tools:
mise run doctor -- --project .
Or manually:
kiro-cli --version
codex --version
agy --version
yq --version
mise --version
jq --version
echo "1+1" | bc
git --version