We love contributions! VibeCoder is a fair-code project and we welcome improvements from the community.
- Bug Reports — Found a bug? Open an issue with steps to reproduce
- Feature Requests — Have an idea? Open an issue and describe the feature
- Code Contributions — Fix bugs, add features, improve docs
- AI Prompts — Help improve the AI pipeline prompts for better code generation
- Translations — Help translate the UI to more languages
- Documentation — Improve the README, add guides, write tutorials
git clone https://github.com/YOUR_USERNAME/vibecoder.git
cd vibecoder
npm installcp .env.example .env
# Fill in your API keys (see README for details)npx prisma generate
npx prisma db push
npm run devgit checkout -b feature/your-feature-name- One PR per feature/fix — Keep PRs focused and reviewable
- Describe what changed — Include a clear summary in the PR description
- Test your changes — Make sure the app builds (
npm run build) and works - Follow existing patterns — Match the code style and conventions already in the codebase
- Don't break the pipeline — If you modify AI prompts or the pipeline, test with a real project
- TypeScript — All code is TypeScript, no
anyunless absolutely necessary - Functional — Prefer functions over classes
- Named exports — Use
export functionorexport { name }, not justexport default - Tailwind CSS — All UI styling via Tailwind, no CSS modules or styled-components
- Prisma — Database access through Prisma ORM only
src/
├── app/ # Next.js App Router pages and API routes
├── components/ # React components
│ ├── vibecoder/ # VibeCoder IDE components
│ └── ... # Shared components
├── lib/ # Core logic
│ ├── vibecoder/ # AI pipeline (classifier, pipeline, code-research, etc.)
│ ├── router/ # Smart chat routing engine
│ ├── research/ # Web research (Serper)
│ └── ... # Auth, credits, DB, OpenRouter client
└── prisma/ # Database schema
The heart of VibeCoder. Improvements to code research, planning, and generation prompts have the biggest impact on output quality.
pipeline.ts— Main orchestrator (classify → research → plan → generate → commit)code-research.ts— Analyzes existing codebase before generationresearch-plan.ts— Web research + architecture planningclassifier.ts— Intent classification (direct vs maestro tier)ralph-loop.ts— Auto-fix loop for build errors
The browser-based IDE interface.
chat-panel.tsx— Chat input and AI response renderingbrowser-tab.tsx— Sandpack preview with Next.js shimscode-tab.tsx— File tree and code viewerterminal-tab.tsx— Container terminal access
The smart multi-model chat routing system.
pipeline.ts— Routing logic (cheap → critic → escalate)classifier.ts— Multi-language intent classificationmodels.ts— Model tier definitions and specialization
If you find a security vulnerability, please do not open a public issue. Instead, email us at security@vibecode.new with details.
By contributing, you agree that your contributions will be licensed under the Sustainable Use License.
Thank you for helping make VibeCoder better!