Files
codecraft/server/resources-cli/install.sh
T
Richard ZinkandClaude Opus 5.5 ed9942829a Release 0.1.0: MIT license, changelog, multi-arch Docker image without CLI builds
- LICENSE (MIT), CHANGELOG for 0.1.0, README overhaul
- docker-compose.release.yml pulling the registry image
- Dockerfile cross-compiles the server with cargo-zigbuild for amd64 and arm64;
  the terminal client is no longer built into the image
- Server, install script and settings point to a source install of the
  terminal client when no prebuilt binaries are available (/info: cli_builds)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 07:50:57 +01:00

53 lines
1.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 --locked --git https://git.familie-zink.org/zink/codecraft 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 …"
no_build() {
rm -f "$tmp"
echo "codecraft: this server has no prebuilt binary for $target." >&2
echo "Build it from source (needs Rust): cargo install --locked --git https://git.familie-zink.org/zink/codecraft codecraft-cli" >&2
exit 1
}
if command -v curl >/dev/null 2>&1; then
curl -fsSL "$url" -o "$tmp" || no_build
elif command -v wget >/dev/null 2>&1; then
wget -q "$url" -O "$tmp" || no_build
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"