An autonomous QA & Vibe Engineering Agent that watches video of an app's behavior, compares it to the codebase/design spec, and autonomously writes the code fix to match the intended "vibe."
Input: GitHub Repo URL + Screen Recording (Video) OR Screenshots (Images) OR Deployed URL
Reasoning: Spatial-Temporal analysis (Video) or Visual Reference (Images) vs. the code logic
Output: A precise Code Fix and a Pull Request
- 🤖 AI-Powered Analysis: Uses Google's Gemini AI to analyze visual context and code
- 🎥 Multi-Modal Input: Accepts video recordings, screenshots, or live URLs
- 🔍 Smart File Scouting: Automatically identifies relevant files in your codebase
- 📝 Automated PR Creation: Creates pull requests with fixes directly on GitHub
- 🔄 Self-Correction Loop: Monitors CI/CD and auto-corrects if builds fail
- 🔐 Secure Authentication: JWT-based auth with GitHub OAuth integration
- ⚡ Rate Limiting: Built-in protection against abuse
- 🎨 Beautiful Dashboard: Modern Next.js UI with real-time terminal output
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Next.js 16 │────────▶│ FastAPI │────────▶│ Gemini AI │
│ Dashboard │ HTTP │ Backend │ API │ Analysis │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ GitHub API │
│ PR Creation │
└──────────────────┘
Frontend:
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS
- Shadcn UI components
Backend:
- Python 3.11+
- FastAPI
- Google Generative AI SDK
- PyGithub
- Playwright (for URL screenshot capture)
- Python 3.11 or higher
- Node.js 18 or higher
- GitHub Personal Access Token
- Google Gemini API Key
git clone <repository-url>
cd vibe-auditorcd backend
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
# Configure environment
cp .env.example .env
# Edit .env with your credentialsRequired Environment Variables:
# AI
GEMINI_API_KEY=your_gemini_api_key_here
# GitHub
GITHUB_TOKEN=your_github_token_here
GITHUB_CLIENT_ID=your_github_oauth_client_id
GITHUB_CLIENT_SECRET=your_github_oauth_client_secret
# Auth
SECRET_KEY=your-secret-key-change-in-production
ACCESS_TOKEN_EXPIRE_MINUTES=1440
# CORS
FRONTEND_URL=http://localhost:3000cd ../frontend
# Install dependencies
npm install
# Create environment file
echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > .env.localTerminal 1 - Backend:
cd backend
.venv\Scripts\activate # or source .venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000Terminal 2 - Frontend:
cd frontend
npm run dev- Dashboard: http://localhost:3000/dashboard
- API Docs: http://localhost:8000/docs
- API Health: http://localhost:8000/api/v1/health
Analyze visual context and generate code fixes.
Rate Limit: 5 requests/hour
Request:
curl -X POST http://localhost:8000/api/v1/analyze \
-H "Authorization: Bearer <token>" \
-F "repo_url=https://github.com/user/repo" \
-F "deployed_url=https://myapp.vercel.app" \
-F "bug_description=Button colors don't match design" \
-F "video=@recording.mp4"Response:
{
"status": "success",
"job_id": "12345-uuid",
"analysis": {
"analysis": "Button background color mismatch: found #3b82f6, expected #00ff00",
"severity": "Medium",
"fix": {
"file_path": "src/components/Button.tsx",
"code": "export const Button = () => {\n return (\n <button className=\"px-4 py-2 bg-[#00ff00] text-black rounded\">\n Submit\n </button>\n );\n};"
}
},
"pr_url": "https://github.com/user/repo/pull/42",
"screenshots_captured": ["/tmp/capture_abc123_full.png"],
"error": null
}POST /api/v1/auth/register- User registrationPOST /api/v1/auth/login- User loginGET /api/v1/auth/github- GitHub OAuth redirectGET /api/v1/auth/me- Get current user
Our patented "Vibe Loop" implementation:
- Ingest - Capture visual context from video/images/URLs
- Scout - Identify relevant files in the codebase
- Analyze - AI compares visuals to code logic
- Generate - Create precise code fixes
- Execute - Commit to branch and create PR
- Verify - Monitor CI/CD and self-correct if needed
cd backend
pytest tests/cd frontend
npm test- Login to the dashboard
- Upload a screen recording or enter a deployed URL
- Enter your GitHub repository URL
- Describe the bug (optional but helpful)
- Click "ANALYZE VIBE"
- Wait as the AI analyzes and creates a PR
- Review the PR on GitHub and merge!
- JWT-based authentication with secure token storage
- Rate limiting on all public endpoints
- CORS protection
- No secrets logged or exposed
- Input validation on all endpoints
Edit frontend/tailwind.config.ts:
colors: {
vibe: {
green: '#00ff00',
lime: '#7fff00',
glow: '#22c55e',
},
}Edit backend/app/services/gemini_service.py:
SYSTEM_PROMPT_SENTINEL = """Your custom prompt here..."""- Push code to GitHub
- Connect repository to Render/Railway
- Set environment variables
- Deploy!
cd frontend
vercel --prod- 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini API for the AI capabilities
- FastAPI team for the excellent framework
- Next.js team for the React framework
- All contributors and testers
- GitHub Issues: Report a bug
- Documentation: Full Docs
- Email: support@vibechecker.app
Built with 💚 by The Sentinel Team
Engineering the Perfect Vibe