A modern, AI-powered integrated development environment built with Next.js, featuring real-time voice conversations, intelligent code generation, and a Cursor-like experience.
- Multi-file Editor: Monaco editor with syntax highlighting and IntelliSense
- File Management: Create, rename, delete files and folders
- Project Management: Multiple projects with UUID-based identification
- Dirty State Tracking: Visual indicators for unsaved changes
- Tab System: Multi-file tabs with close functionality
- Theme Support: Light/dark mode with real-time switching
- Text Chat: Conversational AI for code generation and debugging
- Live Voice: Voice conversation with visual orb feedback
- Code Actions: Generate, update, and delete code files
- Context Awareness: Understands current file and project structure
- Conversation Memory: Thread-based chat history
- Multiple AI Providers: Groq (free) and OpenAI support
- Reactive Orb: Audio-responsive visualizer for voice calls
- Video Orbs: Multiple animated orb options
- Modern UI: Clean, professional interface with shadcn/ui
- Responsive Design: Works on different screen sizes
- Frontend: Next.js 14, React, TypeScript
- UI: shadcn/ui, Tailwind CSS, Radix UI
- Editor: Monaco Editor
- AI: LangChain, Groq, OpenAI
- Graphics: OGL for WebGL orb effects
- Storage: LocalStorage for project persistence
- Node.js 18+
- pnpm (recommended) or npm
-
Clone the repository
git clone <repository-url> cd vibecoder
-
Install dependencies
pnpm install
-
Set up environment variables Create a
.env.localfile:GROQ_API_KEY=your_groq_api_key_here OPENAI_API_KEY=your_openai_api_key_here
-
Get a free Groq API key
- Go to console.groq.com
- Sign up for a free account
- Generate an API key
- Add it to your
.env.localfile
-
Run the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000
- Create Project: Click "New Project" in the top bar
- Open Project: Click "Open..." to see all projects
- Create Files: Use the "New File" input in the sidebar
- Create Folders: Use the "New Folder" input in the sidebar
- Edit Code: Click on files to open them in the editor
- Save Changes: Press
Ctrl+S(orCmd+Son Mac)
- Text Chat: Switch to "Text Chat" tab in the AI panel
- Ask Questions: Type your coding questions or requests
- Generate Code: Ask the AI to create new files or functions
- Fix Bugs: Describe issues and get solutions
- Voice Call: Switch to "Live Call" tab for voice conversations
When the AI suggests code changes, you'll see action buttons:
- Apply: Execute the suggested code change
- Create: Generate new files
- Update: Modify existing files
- Delete: Remove files
POST /api/chat- Send messages to AIGET /api/chat?threadId=<id>- Get conversation history
POST /api/thread- Create new conversation threadGET /api/thread?threadId=<id>- Get thread details
src/
├── app/
│ ├── api/ # API routes
│ ├── [id]/ # Dynamic project pages
│ └── page.tsx # Home page
├── components/
│ ├── ide/ # IDE components
│ ├── ui/ # shadcn/ui components
│ ├── CallPanel.tsx # AI assistant panel
│ ├── Orb.tsx # WebGL orb visualizer
│ └── VideoOrb.tsx # Video orb component
├── lib/
│ ├── ai-service.ts # AI service with LangChain
│ ├── projects.ts # Project management
│ └── utils.ts # Utility functions
└── hooks/ # React hooks
The AI service supports both Groq and OpenAI:
// Switch between providers
aiService.switchToGroq(); // Free tier
aiService.switchToOpenAI(); // Requires credits- Groq:
llama-3.1-70b-versatile(free) - OpenAI:
gpt-4o(paid)
- Create components in
src/components/ - Add API routes in
src/app/api/ - Update project management in
src/lib/projects.ts - Extend AI service in
src/lib/ai-service.ts
The AI can generate code in any language and automatically:
- Create new files
- Update existing files
- Delete files
- Provide explanations
The voice system uses:
- WebRTC for microphone access
- Audio analysis for orb animation
- Real-time audio level detection
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
For issues and questions:
- Check the GitHub issues
- Review the documentation
- Contact the development team
Built with ❤️ using Next.js, LangChain, and modern web technologies.