diff --git a/README.md b/README.md
index b703bde..d9b2d03 100644
--- a/README.md
+++ b/README.md
@@ -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
```
diff --git a/site/index.html b/site/index.html
index 1be92aa..3dc266b 100644
--- a/site/index.html
+++ b/site/index.html
@@ -14,7 +14,7 @@
-
+
@@ -22,7 +22,7 @@
-
+
@@ -758,19 +758,12 @@ bun run src/kernel.ts --workflow morning.json
1
-
install adb
-
adb (android debug bridge) is how droidclaw talks to your phone - every tap, type, and swipe goes through it.
-
brew install android-platform-tools
+
install
+
one command. installs bun and adb if missing, clones the repo, sets up .env.
+
curl -fsSL https://droidclaw.ai/install.sh | sh
2
-
clone and install
-
git clone https://github.com/unitedbyai/droidclaw.git
-cd droidclaw && bun install
-cp .env.example .env
-
-
-
3
configure an llm provider
edit .env - fastest way is ollama (fully local, no api key):
# local (no api key needed)
@@ -792,14 +785,14 @@ GROQ_API_KEY=gsk_your_key_here
-
4
+
3
connect your phone
enable usb debugging in developer options, plug in via usb.
adb devices # should show your device
-bun run src/kernel.ts
+cd droidclaw && bun run src/kernel.ts
-
5
+
4
tune (optional)
key default what
diff --git a/site/install.sh b/site/install.sh
new file mode 100755
index 0000000..8438e06
--- /dev/null
+++ b/site/install.sh
@@ -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"