
github-clone
by BraelinC
SKILL.md
name: github-clone description: Clone GitHub repositories into Daytona sandbox environments and set up development environments. Use when Claude needs to: (1) Clone a repository into a sandbox, (2) Set up a development environment from a Git repo, (3) Pull code for analysis or modification in sandbox, (4) Install dependencies and start dev servers. Requires CONVEX_SITE_URL environment variable and a valid sandbox ID.
GitHub Clone & Dev Environment Setup
Clone repositories and set up development environments in Daytona sandboxes.
Configuration
export CONVEX_SITE_URL="https://calculating-hummingbird-542.convex.site"
Clone Repository
curl -X POST "$CONVEX_SITE_URL/api/sandbox/git/clone" \
-H "Content-Type: application/json" \
-d '{
"sandboxId": "SANDBOX_ID",
"repoUrl": "https://github.com/owner/repo.git",
"branch": "main",
"targetPath": "/home/user/projects/repo"
}'
Parameters:
sandboxId(required): The Daytona sandbox IDrepoUrl(required): Full Git URL (HTTPS)branch(optional): Branch to checkout (default: default branch)targetPath(optional): Clone destination (default:/home/daytona/projects/{repo-name})
Returns: {"success": true, "path": "/home/daytona/projects/repo", "output": "..."}
Complete Development Setup Workflow
1. Clone the Repository
curl -X POST "$CONVEX_SITE_URL/api/sandbox/git/clone" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "repoUrl": "https://github.com/BraelinC/planner"}'
2. Check Repository Structure
curl -X POST "$CONVEX_SITE_URL/api/sandbox/execute" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "command": "ls -la /home/daytona/projects/planner"}'
3. Install Dependencies
For Node.js projects:
curl -X POST "$CONVEX_SITE_URL/api/sandbox/execute" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "command": "cd /home/daytona/projects/planner && npm install", "timeout": 120}'
For Python projects:
curl -X POST "$CONVEX_SITE_URL/api/sandbox/execute" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "command": "cd /home/daytona/projects/planner && pip install -r requirements.txt", "timeout": 120}'
4. Start Development Server
Run in background:
curl -X POST "$CONVEX_SITE_URL/api/sandbox/execute" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "command": "cd /home/daytona/projects/planner && npm run dev &"}'
5. Open Browser to View App
Option A: Use terminal to open browser
curl -X POST "$CONVEX_SITE_URL/api/sandbox/execute" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "command": "firefox http://localhost:3000 &"}'
Option B: Click on browser icon in taskbar First take screenshot to see the desktop, then click on browser icon.
6. Take Screenshot to Verify
curl -X POST "$CONVEX_SITE_URL/api/sandbox/screenshot" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "compressed": true, "quality": 80}'
Common Project Types
Next.js / React
# Install
npm install
# Dev server
npm run dev
# Default port: 3000
Vite
# Install
npm install
# Dev server
npm run dev
# Default port: 5173
Python Flask/Django
# Install
pip install -r requirements.txt
# Flask
flask run
# Django
python manage.py runserver
# Default port: 5000 (Flask) or 8000 (Django)
Editing Code
Read a file
curl -X POST "$CONVEX_SITE_URL/api/sandbox/fs/read" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "path": "/home/daytona/projects/planner/src/App.tsx"}'
Write changes
curl -X POST "$CONVEX_SITE_URL/api/sandbox/fs/write" \
-H "Content-Type: application/json" \
-d '{"sandboxId": "abc123", "path": "/home/daytona/projects/planner/src/App.tsx", "content": "..."}'
Hot reload
Most dev servers auto-reload on file changes. Take a screenshot to verify.
Tips
- Clone timeout is 120 seconds by default for large repos
- Public repos work without authentication
- Check
package.jsonorrequirements.txtto understand the project - Use
cat package.jsonto see available npm scripts - Start dev servers with
&to run in background - Take screenshots after starting server to verify it's running
Known Constraints
⚠️ CONSTRAINT: Default sandbox has only 1GB RAM - large npm/bun installs will be killed (OOM).
- Monorepos with many dependencies need 2-4GB RAM
- Install bun via npm:
npm install -g bun
⚠️ CONSTRAINT: The sandbox user is daytona, not user.
- Clone to
/home/daytona/projects/not/home/user/projects/
⚠️ CONSTRAINT: Tier 1-2 sandboxes cannot curl arbitrary URLs.
- Connection reset errors for non-whitelisted domains
- npm/pip registries work fine
✅ BEST PRACTICE: For workspace:* dependencies, use bun or pnpm (npm doesn't support workspace protocol).
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon