A modern, mobile-first Progressive Web App (PWA) for AI-assisted development with GitHub integration. Built with React, TypeScript, FastAPI, and Google's Gemini AI.
- 🤖 Multi-AI Support: Google Gemini, Anthropic Claude
- 📱 PWA Ready: Installable on mobile/desktop with offline support
- 🔧 GitHub Integration: Edit files directly in repositories
- 💬 Multiple Interfaces: CLI, Editor, Tool modes
- 🌐 WebSocket Support: Real-time file transfer
- 🎨 Modern UI: Dark/light themes, responsive design
- ⚡ Fast & Lightweight: Optimized for performance
- 🔒 Secure: Environment-based configuration
- Node.js 18+ and npm
- Python 3.10+
- Git
git clone <your-repo>
cd <your-repo>
cp .env.example .env
# Edit .env with your API keys# One-command setup
./deploy.sh# Start server
python server.py
# Or use the start script
./start.shVisit: http://localhost:9000
Interactive command-line interface for AI conversations
Code editor with syntax highlighting and AI assistance
File transfer and GitHub repository management
GOOGLE_API_KEY=your_google_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here # Optional
MODEL_PROVIDER=gemini # or anthropic
MODEL_NAME=gemini-2.5-flash
PORT=9000- Google Gemini: gemini-2.5-flash, gemini-2.5-pro, gemini-3.0-pro
- Anthropic Claude: claude-3-5-sonnet-20241022
- OpenAI Compatible: Drop-in replacement for GPT models
npm i -g vercel
vercel --prod- Connect GitHub repo
- Build:
./build.sh - Start:
python server.py
- Deploy from GitHub
- Automatic build and deploy
See DEPLOYMENT.md for detailed deployment instructions.
- ✅ Offline functionality
- ✅ Installable on mobile/desktop
- ✅ Push notifications ready
- ✅ Fast loading
- ✅ Responsive design
POST /chat- Simple chatPOST /code- Code assistancePOST /chatbot- Chat with historyPOST /chatbot/stream- Streaming responsesPOST /v1/chat/completions- OpenAI compatible
POST /github/file/read- Read repository filesPOST /github/file/write- Write repository filesPOST /github/list- List directory contents
GET /profiles/list- List AI profilesPOST /profiles/create- Create new profilePOST /profiles/switch- Switch profiles
cd frontend
npm run dev # Development server
npm run build # Production build
npm run lint # Lint code
npm run typecheck # Type checkingpython server.py # Start server
python -m pytest # Run tests├── frontend/ # React TypeScript frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── services/ # API services
│ │ └── store.ts # State management
│ └── dist/ # Built frontend
├── llm_core/ # LLM provider abstractions
├── server.py # FastAPI backend
├── requirements.txt # Python dependencies
└── vercel.json # Deployment config
- Environment-based configuration
- Input validation with Pydantic
- CORS protection
- Secure cookie handling
- Rate limiting ready
- Vercel Analytics integration
- Speed Insights
- Health check endpoint
- Error tracking ready
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details.
- Check DEPLOYMENT.md for deployment issues
- Review logs for error details
- Ensure API keys are valid
- Check quota limits
Made with ❤️ using React, TypeScript, FastAPI, and Google's Gemini AI