AI-powered autonomous code analysis for VSCode. Built with a frontend-first architecture that makes backend integration trivial β perfect for hackathons!
See all available demos:
npm run demoRun specific demos:
npm run demo:gemini # AI code analysis
npm run demo:voice # Voice synthesis
npm run demo:git # Git logs tracking
npm run demo:orchestrator # Full pipeline
npm run demo:idle # Idle detectionFor full demo guide: See DEMO_SETUP.md
Try it now (2 minutes):
npm run compilePress F5 β Extension loads with fully functional UI using mock data!
For detailed instructions: See QUICKSTART.md
An intelligent VSCode extension that:
- π Collects developer context (files, edits, git history, cursor position)
- π€ Analyzes code with AI (using Gemini API)
- π Finds issues automatically (errors, warnings, suggestions)
- π€ Speaks results (using ElevenLabs voice synthesis)
- β‘ Runs autonomously (analyzes code when you're idle)
The entire UI is built and working with mock services. When your backend is ready:
// Change this line:
const aiService = new MockAIService();
// To this:
const aiService = new AIService();That's it! The UI automatically uses real data. Perfect for parallel development in hackathons.
- Real-time state display (Idle β Analyzing β Complete)
- Click to open dashboard
- Visual feedback with icons and colors
- Developer Context: Files, edits, git info, session stats
- AI Analysis: Issues found, risk level, confidence score
- Issue List: Top issues with severity badges
- Action Buttons: Analyze, Toggle Autonomous, Refresh
- Hierarchical display (files β issues)
- Click to navigate to code location
- Severity icons and tooltips
- Real-time updates
- Considers edit frequency to identify "risky" files
- Uses developer context for better suggestions
- Progressive updates with status messages
- Categorizes by severity (error/warning/info)
- Triggers analysis after idle timeout
- Voice notification when complete
- Configurable timeout period
- Toggle on/off easily
- QUICKSTART.md - Try the extension in 2 minutes
- SUMMARY.md - Complete overview of what's built
- ARCHITECTURE.md - Visual system design
- INTEGRATION.md - Step-by-step backend integration guide
- CHECKLIST.md - Track your integration progress
- FRONTEND_README.md - UI components details
- DEMO.md - Complete 3-minute demo script
- README_DOCS.md - Documentation index
Extension Entry Point (extension.ts)
β
ββ Mock Services (Current - Demo Ready!)
β ββ MockContextService
β ββ MockAIService
β ββ MockGitService
β ββ MockVoiceService
β
ββ Real Services (Your Backend - Easy Swap!)
ββ ContextService (VSCode API + simple-git)
ββ AIService (Gemini API)
ββ GitService (Git operations)
ββ VoiceService (ElevenLabs API)
β
βΌ
Same Events β Same UI β Zero Changes!
See ARCHITECTURE.md for detailed diagrams.
- Service interfaces defined
- Mock services implemented with realistic data
- UI components built and functional
- Dashboard with full styling
- Issues tree view
- Status bar integration
- Notifications and progress indicators
- Commands registered
- Settings configured
- Comprehensive documentation
- Real service implementations
- Backend integration
- API connections (Gemini, ElevenLabs)
- Testing with real data
Current Progress: 40% (Frontend Complete, Backend Pending)
Service Layer:
src/services/interfaces.ts- Service contracts (THE CONTRACT)src/services/mock/*.ts- 4 mock servicessrc/services/real/*.template.ts- 2 starter templates
UI Layer:
src/ui/StatusBarManager.ts- Status bar componentsrc/ui/SidebarWebviewProvider.ts- Dashboard managersrc/ui/IssuesTreeProvider.ts- Tree view componentsrc/ui/NotificationManager.ts- Notification utilitysrc/ui/webview/dashboard.html- Dashboard UI
Documentation:
QUICKSTART.md,SUMMARY.md,ARCHITECTURE.mdINTEGRATION.md,DEMO.md,FRONTEND_README.mdCHECKLIST.md,README_DOCS.md
Users configure via VSCode settings (Cmd+, β search "copilot"):
{
"copilot.autonomous.enabled": false,
"copilot.autonomous.idleTimeout": 300,
"copilot.gemini.apiKey": "your-key-here",
"copilot.elevenlabs.apiKey": "your-key-here",
"copilot.voice.enabled": true
}Copilot: Analyze Code- Trigger analysis manuallyCopilot: Toggle Autonomous Mode- Enable/disable auto-analysisCopilot: Show Dashboard- Open sidebar panelCopilot: Refresh Context- Reload developer contextCopilot: Go to Issue- Navigate to issue location
Create real service classes in src/services/real/ that implement the interfaces in src/services/interfaces.ts.
Change 4 lines: import statements and instantiation.
Press F5 and verify real data flows through the UI!
For detailed guide: INTEGRATION.md
- Lines of Code: ~2,050
- Files Created: 18
- Time to Build UI: 1 day
- Time to Integrate Backend: 1-2 days (estimated)
- Integration Complexity: 4 lines to change
Run module demos from the command line:
# Show demo menu
npm run demo
# Run specific demos
npm run demo:gemini # AI code analysis demo
npm run demo:voice # Voice synthesis demo
npm run demo:git # Git logs demo
npm run demo:orchestrator # Full pipeline demo
npm run demo:idle # Idle detection demo
# Run all demos
npm run demo:allπ Full Demo Guide: DEMO_SETUP.md
Press F5 to launch the extension in debug mode. You'll see:
- Status bar: "π€ Copilot: Ready"
- Activity bar: Robot icon (click it)
- Dashboard: Context + Analysis panels
- Click "Analyze Now" β Watch the magic!
For full demo script: DEMO.md
- β Parallel development - Frontend and backend work independently
- β Fast iteration - UI changes don't break backend
- β Early demo - Show working UI from day one
- β Low risk - Clear contracts prevent surprises
- β Testability - Mock services enable UI testing
- β Maintainability - Clean separation of concerns
- β Extensibility - Easy to add features
- β Reliability - Event-based architecture
# Compile TypeScript
npm run compile
# Watch mode (auto-recompile)
npm run watch
# Run extension (or press F5)
code --extensionDevelopmentPath=$PWD
# Run tests
npm test- VSCode ^1.106.1
- Node.js 22.x
- TypeScript 5.x
simple-git- Git operations@google/generative-ai- Gemini API- ElevenLabs SDK - Voice synthesis
- Existing test files have compilation errors (pre-existing, not critical)
- Mock data is static (by design, until backend integrated)
- Voice shows notifications instead of speaking (until ElevenLabs integrated)
- Define interface in
interfaces.ts - Implement mock version
- Build UI component
- Wire up in
extension.ts - Document in
INTEGRATION.md
See INTEGRATION.md for step-by-step guide.
- Questions? Check README_DOCS.md for documentation index
- Integrating? Follow INTEGRATION.md
- Demoing? Use DEMO.md
- Stuck? Check mock services for reference implementations
Built with β€οΈ for hackathons. Frontend-first architecture makes backend integration trivial!
- Frontend: Complete and functional β
- Backend: Ready for your implementation π§
- Integration: 4 lines to change π―
[Your license here]
Ready to integrate? Start with INTEGRATION.md!
Want to try it? See QUICKSTART.md!
Need to demo? Check DEMO.md!
π Happy hacking! π