Add terminal client, memory, model fallback, version and install improvements
- codecraft: full-screen terminal client (ratatui) – local tools and files, models via the CodeCraft server gateway or own providers (standalone with a guided setup), slash commands, @files, permission dialogs, resume, update - Static Linux CLI builds (x86_64/aarch64, cargo-zigbuild) served by the server: /cli/install.sh and /cli/download/<target> - Project memory (remember tool, .codecraft/memory.md) and personal memory - Model fallback when a host is unreachable or a budget is used up - Version/commit in UI and health, daily release check, "What's new" dialog - PWA: install button, maskable icon, manifest id and screenshots - Case-insensitive detection of connection errors for retries Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
aa1f8cf016
commit
6dffcb501a
52 files changed
+6477
-765
No files matched your search
@@ -0,0 +1,46 @@
|
||||
#!/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 <repo> 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"
|
||||
Reference in new issue
Block a user