Edith AI App is a cutting-edge, AI-powered web IDE that brings the power of Google's Gemini AI directly into your development workflow. Built with modern web technologies, it provides a seamless coding experience with intelligent assistance, file management, and real-time collaboration capabilities.
- AI-First Development: Integrated Gemini AI for intelligent code assistance
- Modern Web Stack: Built with React 18, Vite 6, and TypeScript
- Professional IDE Features: File explorer, syntax highlighting, terminal integration
- Secure by Design: Environment-based API key management
- Deployment Ready: Automated GitHub Actions deployment to Pages
- Intuitive file tree with drag-and-drop support
- Multi-file editing with tabbed interface
- Real-time file system integration
- Syntax highlighting for multiple languages
- Auto-completion and error detection
- Context-aware AI suggestions
- Gemini AI integration for coding assistance
- Context-aware code suggestions
- Natural language code explanations
- Debugging and optimization tips
- Built-in terminal with command history
- AI-powered command suggestions
- Real-time project status monitoring
- Dark/Light theme switching
- Responsive design for all devices
- Smooth animations and transitions
- Professional IDE-like interface
- Secure API key management
- Environment-based configuration
- No sensitive data in repository
- Automated secure deployment
# Clone the repository
git clone https://github.com/khyathivardhan18/ai-app.git
cd ai-app
# Install dependencies
npm install
# Set up your API key (create .env file)
echo "VITE_API_KEY=your_gemini_api_key_here" > .env
# Start development server
npm run devOpen http://localhost:5173/ai-app/ in your browser
# .env file (never commit this!)
VITE_API_KEY=your_actual_gemini_api_key_here- Go to Settings β Secrets and variables β Actions
- Add repository secret:
VITE_API_KEY - Push to
mainbranch for automatic deployment
π Security Best Practices:
- API keys are never committed to the repository
- Environment variables are injected at build time
- All sensitive data is encrypted in GitHub Secrets
- Regular security audits and updates
| Technology | Version | Purpose |
|---|---|---|
| React | 18.3.1 | UI Framework |
| Vite | 6.3.5 | Build Tool |
| TypeScript | 5.6.3 | Type Safety |
| Tailwind CSS | 3.4.17 | Styling |
| Google Gemini AI | Latest | AI Integration |
| GitHub Actions | - | CI/CD |
ai-app/
βββ src/
β βββ components/ # React components
β β βββ IDELayout.tsx # Main IDE layout
β β βββ FileTree.tsx # File explorer
β β βββ CodeEditor.tsx # Code editor
β β βββ AIChat.tsx # AI chat interface
β β βββ TerminalPanel.tsx # Terminal component
β βββ context/ # React context & state
β βββ services/ # External services (Gemini AI)
β βββ utils/ # Utility functions
β βββ types/ # TypeScript definitions
βββ .github/workflows/ # GitHub Actions
βββ public/ # Static assets
βββ dist/ # Build output
Experience Edith AI App live: https://khyathivardhan18.github.io/ai-app/
We welcome contributions from the community! Here's how you can help:
- Use the GitHub Issues page
- Provide detailed reproduction steps
- Include browser/OS information
- Open a new issue with the "enhancement" label
- Describe the feature and its benefits
- Consider implementation complexity
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow TypeScript best practices
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Multi-language Support: Enhanced syntax highlighting
- Real-time Collaboration: Live coding with multiple users
- Plugin System: Extensible architecture for custom features
- Advanced AI Features: Code generation and refactoring
- Cloud Integration: GitHub, GitLab, and Bitbucket sync
- Mobile Support: Responsive design for mobile devices
This project is licensed under the MIT License - see the LICENSE file for details.
β Star this repository if you find it helpful!