#!/bin/sh # Install the CodeCraft terminal client (codecraft) from __CODECRAFT_URL__ # curl -fsSL __CODECRAFT_URL__/cli/install.sh | sh # Options (environment): CODECRAFT_INSTALL_DIR (default ~/.local/bin) set -eu SERVER="__CODECRAFT_URL__" DIR="${CODECRAFT_INSTALL_DIR:-$HOME/.local/bin}" os=$(uname -s | tr '[:upper:]' '[:lower:]') arch=$(uname -m) case "$arch" in x86_64|amd64) arch=x86_64 ;; aarch64|arm64) arch=aarch64 ;; *) echo "codecraft: unsupported architecture $arch" >&2; exit 1 ;; esac case "$os" in linux) ;; *) echo "codecraft: no prebuilt binary for $os yet – build from source: cargo install --git codecraft-cli" >&2; exit 1 ;; esac target="$os-$arch" url="$SERVER/cli/download/$target" mkdir -p "$DIR" tmp="$DIR/.codecraft.download" echo "Downloading codecraft ($target) from $SERVER …" if command -v curl >/dev/null 2>&1; then curl -fsSL "$url" -o "$tmp" elif command -v wget >/dev/null 2>&1; then wget -q "$url" -O "$tmp" else echo "codecraft: needs curl or wget" >&2; exit 1 fi chmod +x "$tmp" mv "$tmp" "$DIR/codecraft" echo "Installed $DIR/codecraft ($("$DIR/codecraft" --version 2>/dev/null || echo codecraft))" case ":$PATH:" in *":$DIR:"*) ;; *) echo "Note: $DIR is not in your PATH – add this to your shell profile:" echo " export PATH=\"$DIR:\$PATH\"" ;; esac echo echo "Next steps:" echo " codecraft login $SERVER # sign in with your CodeCraft account" echo " codecraft # start in your project folder"