How praveena-pawar/codeguard-ai works
CodeGuard AI accepts Python source in its React interface, then the FastAPI analysis route orchestrates issue detection, explanations, generated tests, original-code execution, fix generation and validation, rescoring, and persistence. The interface presents issues, tests, the fix, and before/after scores. README capabilities fill in the analyzer’s AST/Ruff combination; sampled source confirms the route’s orchestration and persistence calls. Some service internals and frontend request handling are only partially excerpted, so uncertain internal links are omitted.
Main entry points: analysis.py Analysis route · App.tsx Code editor UI · main.py FastAPI app · analyzer.py Code analyzer
Components 17
Developer interface
- Code editor UI
frontend/src/App.tsx - React entry
frontend/src/main.tsx
Analysis API
- FastAPI app
backend/app/main.py - Analysis route
backend/app/api/routes/analysis.py
Analysis workflow
- Code analyzer
backend/app/services/analyzer.py - Ruff analysis
backend/app/services/ruff_service.py - AI explainer
backend/app/services/ai_service.py - Test generator
backend/app/services/test_generator.py - Test runner
backend/app/services/test_runner.py - Fix generator
backend/app/services/ai_fix_service.py - Fix validator
backend/app/services/fix_validator.py - Quality scorer
backend/app/services/quality_scorer.py
Persistence
- Persistence helpers
backend/app/services/database.py - Supabase client
backend/app/core/supabase.py
Other components
- Developer
- Supabase database
- Groq AI
Connections 18
- Developer → Code editor UI: submits code
- React entry → Code editor UI: renders
- Code editor UI → FastAPI app: POSTs analysis
- FastAPI app → Analysis route: routes request
- Analysis route → Code analyzer: analyzes code
- Code analyzer → Ruff analysis: runs lint
- Analysis route → AI explainer: explains issues
- AI explainer → Groq AI: requests explanation
- Analysis route → Test generator: generates tests
- Analysis route → Test runner: runs original tests
- Analysis route → Fix generator: generates fix
- Fix generator → Groq AI: requests correction
- Analysis route → Fix validator: validates fix
- Analysis route → Quality scorer: scores results
- Analysis route → Persistence helpers: stores analysis
- Persistence helpers → Supabase client: uses client
- Supabase client → Supabase database: connects
- Analysis route → Code editor UI: returns results