AI-Powered Code Generation & Repository Management
Cloud Vibecoder is a full-stack mobile application that uses AI to automatically generate code, create repositories, and implement features based on natural language descriptions. Built with React Native (Expo) and FastAPI, it leverages GPT-4 and E2B sandboxes for intelligent code generation.
- Natural Language to Code: Describe what you want in plain English, get working code
- Intelligent Planning: Generates detailed implementation plans with CRS (Clarifying Requirements Summary)
- Multi-Step Execution: Breaks down complex features into manageable steps
- Smart Code Generation: Uses GPT-4 to write, test, and refine code
- Create New Repos: Automatically create GitHub repositories with generated code
- Modify Existing Repos: Add features to existing repositories via pull requests
- File Browser: Browse repository structure and select specific files
- Branch Management: Automatic branch creation and PR generation
- OAuth Authentication: Secure GitHub login via OAuth 2.0
- Repository Access: Browse and select from your GitHub repositories
- Pull Request Creation: Automatic PR generation with detailed descriptions
- Commit History: View all changes and commits made by the AI
- Real-Time Updates: Live progress tracking during code generation
- Job Status: Monitor execution status (pending β executing β completed)
- Detailed Results: View files changed, commits created, and execution metrics
- Changes Summary: Dedicated page to review all modifications
- Sign in with GitHub OAuth
- Choose between creating a new repository or modifying an existing one
- Describe your feature request in natural language
- Optionally select specific files to modify
User Prompt β CRS Generation β Plan Synthesis β Code Execution β PR/Repo Creation
- CRS Generation: AI clarifies requirements and asks questions if needed
- Plan Synthesis: Creates detailed implementation plan with steps
- Code Execution: Generates code in E2B sandbox environment
- Delivery: Creates repository or pull request with changes
- View detailed changes summary
- Access generated pull request or repository
- Review commits, files, and execution metrics
- Merge PR when satisfied with changes
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MOBILE APP (React Native + Expo) β
β β’ GitHub OAuth β’ Repository Browser β’ File Selection β
β β’ Real-time Progress β’ Changes Viewer β
ββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββ
β
β HTTPS/REST API
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FASTAPI BACKEND (Render) β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β API ENDPOINTS β β
β β β’ /api/auth/github/* - OAuth flow β β
β β β’ /api/crs - Requirements β β
β β β’ /api/plan-synthesis - Plan generation β β
β β β’ /api/jobs/* - Code execution β β
β β β’ /api/github/* - GitHub integration β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β SERVICES β β
β β β’ LLM Service (GPT-4) β β
β β β’ Orchestration Service β β
β β β’ GitHub Service β β
β β β’ Plan Synthesis Service β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββ΄ββββββββββββββ
βΌ βΌ
βββββββββββββββ ββββββββββββββββ
β E2B β β GitHub β
β Sandbox β β API β
β (Execution) β β (Repos/PRs) β
βββββββββββββββ ββββββββββββββββ
cloud-vibecoder/
βββ backend/
β βββ app/
β β βββ api/ # API endpoints
β β β βββ auth.py # GitHub OAuth
β β β βββ crs.py # Requirements generation
β β β βββ plan_synthesis.py # Plan creation
β β β βββ agent_execution.py # Job orchestration
β β β βββ github.py # GitHub operations
β β βββ services/ # Business logic
β β β βββ llm_service.py # GPT-4 integration
β β β βββ orchestration_service.py
β β β βββ plan_synthesis_service.py
β β β βββ github_service.py
β β βββ models/ # Pydantic models
β β β βββ crs_model.py
β β β βββ plan_model.py
β β β βββ orchestration_model.py
β β βββ core/ # Configuration
β β βββ config.py
β β βββ logging_config.py
β βββ main.py # FastAPI app
β βββ requirements.txt
βββ mobile/
β βββ app/
β β βββ (tabs)/ # Main tab navigation
β β β βββ index.tsx # Home/Create screen
β β β βββ explore.tsx # Explore screen
β β β βββ profile.tsx # Profile screen
β β βββ login.tsx # GitHub OAuth login
β β βββ changes.tsx # Changes detail view
β β βββ _layout.tsx # Root layout
β βββ components/ # UI components
β βββ constants/ # Theme & config
β β βββ theme.ts
β βββ services/ # API clients
β β βββ githubService.ts
β βββ package.json
βββ README.md
POST /api/auth/github/exchange- Exchange OAuth code for tokenGET /api/auth/github/callback- GitHub OAuth callback
POST /api/crs- Generate Clarifying Requirements SummaryPOST /api/plan-synthesis/synthesize- Create implementation planPOST /api/jobs/create- Start code generation jobGET /api/jobs/{job_id}/progress- Get job statusGET /api/jobs/{job_id}/result- Get job results
POST /api/github/create-pr- Create pull requestPOST /api/github/commits- Get branch commitsPOST /api/github/parse-url- Parse repository URL
- Node.js (v18 or higher)
- Python (v3.11 or higher)
- Expo CLI (
npm install -g expo-cli) - GitHub Account (for OAuth)
- API Keys:
- OpenAI API Key (GPT-4 access)
- E2B API Key (code execution)
- GitHub OAuth App (Client ID & Secret)
git clone https://github.com/Tanayshri123/cloud-vibecoder.git
cd cloud-vibecoderCreate backend/.env:
# OpenAI Configuration
OPENAI_API_KEY=sk-proj-...
OPENAI_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o-mini
# GitHub OAuth
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
# E2B Sandbox
E2B_API_KEY=your_e2b_key
# CORS (optional for local dev)
CORS_ORIGINS=http://localhost:8081,http://localhost:19006cd backend
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Backend will be available at http://localhost:8000
Create mobile/.env:
EXPO_PUBLIC_API_URL=https://cloud-vibecoder-1.onrender.com
EXPO_PUBLIC_GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
GITHUB_CLIENT_ID=your_client_idcd mobile
# Install dependencies
npm install
# Start Expo development server
npm startExpo dev tools will open. You can:
- Press
ifor iOS Simulator - Press
afor Android Emulator - Press
wfor web browser - Scan QR code with Expo Go app on your phone
- Go to GitHub Developer Settings
- Create a new OAuth App:
- Application name: Cloud Vibecoder
- Homepage URL:
https://cloud-vibecoder-1.onrender.com - Authorization callback URL:
https://cloud-vibecoder-1.onrender.com/api/auth/github/callback
- Copy Client ID and Client Secret to your
.envfiles
- Sign In: Tap "Sign in with GitHub"
- Choose Mode: Select "Create New Repository"
- Configure Repo:
- Enter repository name
- Add description (optional)
- Choose public/private
- Select .gitignore template (optional)
- Select license (optional)
- Describe Feature: Enter what you want to build
- Generate: Tap "Generate Plan"
- Review Plan: Review the AI-generated implementation plan
- Execute: Tap "Accept & Create Repository"
- View Changes: Tap "View Changes" to see detailed results
- Sign In: Tap "Sign in with GitHub"
- Choose Mode: Select "Use Existing Repository"
- Select Repo: Choose from your GitHub repositories
- Optional: Browse and select specific files to modify
- Describe Changes: Enter what you want to add/modify
- Generate: Tap "Generate Plan"
- Review Plan: Review the implementation plan
- Execute: Tap "Accept & Create PR"
- View Results: See detailed changes and PR link
- Framework: React Native (Expo)
- Language: TypeScript
- Navigation: Expo Router (file-based)
- State Management: React Hooks
- Authentication: expo-web-browser, expo-auth-session
- Storage: AsyncStorage
- UI: Custom design system with modern typography
- Framework: FastAPI
- Language: Python 3.11+
- AI: OpenAI GPT-4
- Execution: E2B Code Interpreter (sandboxed)
- Validation: Pydantic v2
- Deployment: Render (auto-deploy from GitHub)
- CORS: Configured for mobile app origins
- GitHub API: Repository management, PR creation
- OpenAI API: GPT-4 for code generation
- E2B API: Secure code execution environment
- Render: Backend hosting and deployment
- OAuth 2.0: Secure GitHub authentication
- Token Storage: Encrypted in AsyncStorage
- Server-Side Secrets: Client secret never exposed to mobile
- Sandboxed Execution: E2B provides isolated execution environment
- Environment Variables: Sensitive data in .env files (gitignored)
- Real-time Progress: Live updates during code generation
- Job Polling: 2-second intervals for status updates
- Timeout Handling: 6-minute maximum execution time
- Error Recovery: Graceful error handling with user feedback
- Caching: GitHub API responses cached where applicable
- Modern Design: Clean, minimalistic interface
- Dark Mode Ready: Theme system supports dark mode
- Responsive: Works on all screen sizes
- Loading States: Clear feedback during operations
- Error Messages: Helpful error descriptions
- Progress Indicators: Visual feedback for long operations
- Changes Viewer: Dedicated page to review all modifications
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or support, please open an issue on GitHub.
- Backend API: https://cloud-vibecoder-1.onrender.com
- API Documentation: https://cloud-vibecoder-1.onrender.com/docs
- GitHub Repository: https://github.com/Tanayshri123/cloud-vibecoder
If you find this project useful, please consider giving it a star on GitHub!
- Mobile app with clean UI
- Backend API deployed and accessible
- Environment-based configuration
- Cross-platform compatibility
- Mock response generation
- AI Integration: Replace mock responses with actual AI-powered code analysis
- Repository Analysis: Connect to GitHub API to analyze actual code
- Code Generation: Generate actual code changes based on prompts
- Git Integration: Create actual pull requests with proposed changes
-
Network request failed:
- Ensure you have internet connection
- Check that the backend is accessible at
https://cloud-vibecoder-1.onrender.com - Verify API configuration in console logs
-
Expo issues:
- Clear Expo cache:
expo start -c - Reset project:
npm run reset-project
- Clear Expo cache:
-
Dependencies issues:
- Delete
node_modulesandpackage-lock.json - Run
npm installagain
- Delete
- API not responding: Check Render deployment status
- CORS errors: Backend is configured to accept requests from any origin
- Module not found: Dependencies are managed by Render automatically
fastapi- Web frameworkuvicorn- ASGI serverpydantic- Data validationpython-multipart- Form data handling
expo- Development platformreact-native- Mobile frameworkexpo-router- Navigationtypescript- Type safety
If you encounter any issues:
- Check the troubleshooting section above
- Review the console logs for error messages
- Ensure all dependencies are properly installed
- Verify network connectivity
- Fork the repository
- Create a feature branch
- Make your changes
- Test on both backend and mobile
- Submit a pull request