Add install script and update domain to droidclaw.ai

One-liner install: curl -fsSL https://droidclaw.ai/install.sh | sh
Auto-installs bun and adb, clones repo, sets up .env.
Updated site meta tags and canonical URL to droidclaw.ai.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sanju Sivalingam
2026-02-16 13:41:48 +05:30
parent 75fb725744
commit 04a60af082
3 changed files with 138 additions and 20 deletions

View File

@@ -32,13 +32,16 @@ action: done (412ms)
## setup
you need **bun**, **adb**, and either [ollama](https://ollama.com) for local models or an api key for a cloud provider.
```bash
curl -fsSL https://droidclaw.ai/install.sh | sh
```
installs bun and adb if missing, clones the repo, sets up `.env`. or do it manually:
```bash
# install adb if you don't have it
brew install android-platform-tools
bun install
brew install android-platform-tools # adb
git clone https://github.com/unitedbyai/droidclaw.git
cd droidclaw && bun install
cp .env.example .env
```

View File

@@ -14,7 +14,7 @@
<meta property="og:type" content="website">
<meta property="og:title" content="droidclaw - ai agent for android">
<meta property="og:description" content="turn old android phones into ai agents. give it a goal in plain english - it figures out what to tap, type, and swipe.">
<meta property="og:url" content="https://github.com/unitedbyai/droidclaw">
<meta property="og:url" content="https://droidclaw.ai">
<meta property="og:site_name" content="droidclaw">
<!-- twitter card -->
@@ -22,7 +22,7 @@
<meta name="twitter:title" content="droidclaw - ai agent for android">
<meta name="twitter:description" content="turn old android phones into ai agents. give it a goal in plain english - it figures out what to tap, type, and swipe.">
<link rel="canonical" href="https://github.com/unitedbyai/droidclaw">
<link rel="canonical" href="https://droidclaw.ai">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap" rel="stylesheet">
@@ -758,19 +758,12 @@ bun run src/kernel.ts --workflow morning.json</pre>
<div class="stepper">
<div class="stepper-step">
<span class="stepper-num">1</span>
<h3>install adb</h3>
<p>adb (android debug bridge) is how droidclaw talks to your phone - every tap, type, and swipe goes through it.</p>
<pre>brew install android-platform-tools</pre>
<h3>install</h3>
<p>one command. installs bun and adb if missing, clones the repo, sets up .env.</p>
<pre>curl -fsSL https://droidclaw.ai/install.sh | sh</pre>
</div>
<div class="stepper-step">
<span class="stepper-num">2</span>
<h3>clone and install</h3>
<pre>git clone https://github.com/unitedbyai/droidclaw.git
cd droidclaw && bun install
cp .env.example .env</pre>
</div>
<div class="stepper-step">
<span class="stepper-num">3</span>
<h3>configure an llm provider</h3>
<p>edit <code>.env</code> - fastest way is ollama (fully local, no api key):</p>
<pre># local (no api key needed)
@@ -792,14 +785,14 @@ GROQ_API_KEY=gsk_your_key_here</pre>
</table>
</div>
<div class="stepper-step">
<span class="stepper-num">4</span>
<span class="stepper-num">3</span>
<h3>connect your phone</h3>
<p>enable usb debugging in developer options, plug in via usb.</p>
<pre>adb devices # should show your device
bun run src/kernel.ts</pre>
cd droidclaw && bun run src/kernel.ts</pre>
</div>
<div class="stepper-step">
<span class="stepper-num">5</span>
<span class="stepper-num">4</span>
<h3>tune (optional)</h3>
<table>
<thead><tr><th>key</th><th>default</th><th>what</th></tr></thead>

122
site/install.sh Executable file
View File

@@ -0,0 +1,122 @@
#!/bin/sh
set -e
# droidclaw installer
# curl -fsSL https://droidclaw.ai/install.sh | sh
REPO="https://github.com/unitedbyai/droidclaw.git"
INSTALL_DIR="droidclaw"
# colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
CYAN='\033[0;36m'
BOLD='\033[1m'
DIM='\033[2m'
RESET='\033[0m'
info() { printf "${CYAN}>${RESET} %s\n" "$1"; }
success() { printf "${GREEN}>${RESET} %s\n" "$1"; }
warn() { printf "${YELLOW}>${RESET} %s\n" "$1"; }
error() { printf "${RED}>${RESET} %s\n" "$1"; exit 1; }
printf "\n${BOLD}droidclaw${RESET} ${DIM}— ai agent for android${RESET}\n\n"
# ─── check git ───
if ! command -v git >/dev/null 2>&1; then
error "git is required. install it first: https://git-scm.com"
fi
# ─── check/install bun ───
if command -v bun >/dev/null 2>&1; then
success "bun $(bun --version) found"
else
info "installing bun..."
curl -fsSL https://bun.sh/install | bash
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
if command -v bun >/dev/null 2>&1; then
success "bun installed"
else
error "bun install failed. install manually: https://bun.sh"
fi
fi
# ─── check adb ───
if command -v adb >/dev/null 2>&1; then
success "adb found"
else
warn "adb not found — installing..."
OS="$(uname -s)"
case "$OS" in
Darwin)
if command -v brew >/dev/null 2>&1; then
brew install --cask android-platform-tools
success "adb installed via homebrew"
else
warn "homebrew not found. install adb manually:"
warn " brew install --cask android-platform-tools"
warn " or download from: https://developer.android.com/tools/releases/platform-tools"
fi
;;
Linux)
if command -v apt-get >/dev/null 2>&1; then
sudo apt-get update -qq && sudo apt-get install -y -qq android-tools-adb
success "adb installed via apt"
elif command -v dnf >/dev/null 2>&1; then
sudo dnf install -y android-tools
success "adb installed via dnf"
elif command -v pacman >/dev/null 2>&1; then
sudo pacman -S --noconfirm android-tools
success "adb installed via pacman"
else
warn "could not auto-install adb. install manually:"
warn " https://developer.android.com/tools/releases/platform-tools"
fi
;;
*)
warn "unknown os. install adb manually:"
warn " https://developer.android.com/tools/releases/platform-tools"
;;
esac
fi
# ─── clone ───
if [ -d "$INSTALL_DIR" ]; then
info "droidclaw directory exists, pulling latest..."
cd "$INSTALL_DIR" && git pull --quiet && cd ..
else
info "cloning droidclaw..."
git clone --quiet "$REPO" "$INSTALL_DIR"
fi
# ─── install deps ───
cd "$INSTALL_DIR"
info "installing dependencies..."
bun install --silent
# ─── setup env ───
if [ ! -f .env ]; then
cp .env.example .env
success ".env created from .env.example"
else
success ".env already exists, skipping"
fi
# ─── done ───
printf "\n${GREEN}${BOLD}done!${RESET}\n\n"
printf "next steps:\n\n"
printf " ${BOLD}1.${RESET} configure an llm provider in ${CYAN}.env${RESET}\n\n"
printf " ${DIM}# local with ollama (no api key needed)${RESET}\n"
printf " ollama pull llama3.2\n"
printf " ${DIM}# set in .env:${RESET} LLM_PROVIDER=ollama\n\n"
printf " ${DIM}# or cloud with groq (free tier)${RESET}\n"
printf " ${DIM}# set in .env:${RESET} LLM_PROVIDER=groq\n"
printf " ${DIM}# ${RESET} GROQ_API_KEY=gsk_...\n\n"
printf " ${BOLD}2.${RESET} connect your android phone (usb debugging on)\n\n"
printf " adb devices\n\n"
printf " ${BOLD}3.${RESET} run it\n\n"
printf " cd droidclaw && bun run src/kernel.ts\n\n"
printf "docs: ${CYAN}https://droidclaw.ai${RESET}\n"
printf "repo: ${CYAN}https://github.com/unitedbyai/droidclaw${RESET}\n\n"