| name | development-diagnostics |
| description | Validate Budget Buddy full-stack setup including backend/frontend connectivity, database access, CORS, environment variables, and API endpoints. Use when troubleshooting, running health checks, or diagnosing setup issues. |
| allowed-tools | ["Bash(curl*)","Bash(python*)","Bash(lsof:*)","Bash(ps:*)","Bash(sqlite3:*)","Read","Grep"] |
Development Diagnostics
Comprehensive health checks for Budget Buddy's development environment.
Quick Diagnostic Checklist
System Health:
- [ ] Python 3.9+ installed
- [ ] Node.js 16+ installed
- [ ] Backend running on port 8000
- [ ] Frontend running on port 3000
- [ ] Database file exists and accessible
- [ ] Environment variables configured
- [ ] API endpoints responding
- [ ] CORS headers present
Fast Health Check
lsof -i :8000
lsof -i :3000
ls -lh budget_buddy.db
sqlite3 budget_buddy.db "SELECT COUNT(*) FROM transactions;"
curl -s http://127.0.0.1:8000/api/v2/diagnostics
curl -I -X OPTIONS http://127.0.0.1:8000/api/v2/transactions \
-H "Origin: http://localhost:3000" | grep "access-control-allow-origin"
Essential Checks
1. System Requirements
python --version
node --version
2. Running Processes
lsof -i :8000
lsof -i :3000
If missing, start them:
python -m uvicorn backend.api.main:app --reload --port 8000
cd frontend && npm start
3. Database Status
ls -lh budget_buddy.db
sqlite3 budget_buddy.db ".tables"
sqlite3 budget_buddy.db "SELECT COUNT(*) FROM transactions;"
4. Environment Variables
grep ANTHROPIC_API_KEY .env
grep PLAID_CLIENT_ID .env
grep DATABASE_URL .env
5. API Endpoints
curl -s http://127.0.0.1:8000/api/v2/diagnostics | python -m json.tool
curl -s http://127.0.0.1:8000/api/v2/transactions | python -m json.tool | head -20
curl -s http://127.0.0.1:8000/api/v2/buddy/status | python -m json.tool
6. CORS Validation
curl -I -X OPTIONS http://127.0.0.1:8000/api/v2/transactions \
-H "Origin: http://localhost:3000" \
-H "Access-Control-Request-Method: GET"
Expected headers:
access-control-allow-origin: http://localhost:3000
access-control-allow-methods: *
access-control-allow-credentials: true
Common Issues
Backend not responding
lsof -i :8000
cd /Users/franklindickinson/Projects/budget-buddy-2
python -m uvicorn backend.api.main:app --reload --port 8000
CORS errors
grep -A 6 "CORSMiddleware" backend/api/main.py
Database locked
lsof budget_buddy.db
pkill -f "uvicorn.*8000"
sleep 2
python -m uvicorn backend.api.main:app --reload --port 8000
Environment variables not loading
ls -la .env
python -c "from dotenv import load_dotenv; import os; load_dotenv(); print(os.getenv('ANTHROPIC_API_KEY')[:20] if os.getenv('ANTHROPIC_API_KEY') else 'NOT FOUND')"
Detailed Diagnostics
Comprehensive scripts and procedures: See DIAGNOSTIC_SCRIPTS.md
Includes:
- Full diagnostic suite bash script
- Python health check script
- Diagnostic report generator
- Performance checks (response time, query time, memory)
- All issue solutions with detailed commands
Integration with Other Skills
- Backend Server Startup - Validates backend started correctly
- Full-Stack Setup - Verifies complete environment
- Database Migration Runner - Checks schema is current
- Buddy AI Setup - Validates API key and config
References
- DIAGNOSTIC_SCRIPTS.md - Complete scripts and procedures
/backend/api/main.py - CORS configuration
/frontend/src/config/apiConfig.js - Frontend API base URL
CLAUDE.md - Development guidelines
Last Updated
January 1, 2026