-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsetup.sh
More file actions
71 lines (58 loc) · 3.88 KB
/
Copy pathsetup.sh
File metadata and controls
71 lines (58 loc) · 3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
# ╔══════════════════════════════════════════════════════════════════╗
# ║ OpenFunction — One-Command Setup ║
# ║ ║
# ║ Works in Google Cloud Shell, macOS, Linux, and WSL. ║
# ║ Run: bash setup.sh ║
# ╚══════════════════════════════════════════════════════════════════╝
set -e
echo ""
echo " ╔══════════════════════════════════════╗"
echo " ║ OpenFunction — Setting Up... ║"
echo " ╚══════════════════════════════════════╝"
echo ""
# ── Check Node.js ───────────────────────────────────────────────────────────
if ! command -v node &> /dev/null; then
echo " ❌ Node.js not found."
echo " Install it from https://nodejs.org or use nvm:"
echo " curl -o- https://github.com/ghraw/nvm-sh/nvm/v0.39.7/install.sh | bash"
echo " nvm install 20"
exit 1
fi
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
if [ "$NODE_VERSION" -lt 18 ]; then
echo " ❌ Node.js v18+ required (found v$(node -v))"
echo " Run: nvm install 20"
exit 1
fi
echo " ✅ Node.js $(node -v)"
# ── Install dependencies ────────────────────────────────────────────────────
echo " 📦 Installing dependencies..."
npm install --silent 2>&1 | tail -1
echo " ✅ Dependencies installed"
# ── Verify it works ─────────────────────────────────────────────────────────
echo " 🔍 Verifying setup..."
# Verify tsx can actually run TypeScript
npx tsx -e "console.log(' ✅ TypeScript runner (tsx) ready')" 2>/dev/null
if [ $? -ne 0 ]; then
echo " ⚠️ tsx failed — try: npm install"
exit 1
fi
echo ""
echo " ╔══════════════════════════════════════════════════════╗"
echo " ║ Ready to go! ║"
echo " ╠══════════════════════════════════════════════════════╣"
echo " ║ ║"
echo " ║ Test your tools: npm run test-tools ║"
echo " ║ Dev mode (reload): npm run dev ║"
echo " ║ Chat with AI: npm run chat ║"
echo " ║ Run tests: npm test ║"
echo " ║ Scaffold a tool: npm run create-tool <name> ║"
echo " ║ Start MCP server: npm start ║"
echo " ║ ║"
echo " ║ Your code goes in: src/my-tools/index.ts ║"
echo " ║ Examples to read: src/examples/ ║"
echo " ║ API keys: cp .env.example .env ║"
echo " ║ ║"
echo " ╚══════════════════════════════════════════════════════╝"
echo ""