Get RuvScan running in 5 minutes.
You've already set up .env.local with:
GITHUB_TOKEN- Your GitHub Personal Access TokenOPENAI_API_KEY- Your OpenAI API key
✅ Environment verified!
# Start services with Docker Compose V2
docker compose up -dThis starts:
- MCP Server (Python/FastAPI) on port 8000
- Rust Engine (gRPC) on port 50051
- Go Scanner (Workers) in background
# Check health
curl http://localhost:8000/health
# Should return:
# {"status":"healthy","version":"0.5.0"}💡 Already have data! The repo includes
data/ruvscan.dbpreloaded with the public ruvnet catalog, so you can jump straight to querying. Only run a scan if you want to refresh that data or add another GitHub org/user.
# Scan an organization's repositories
curl -X POST http://localhost:8000/scan \
-H 'Content-Type: application/json' \
-d '{
"source_type": "org",
"name": "ruvnet",
"limit": 10
}'# Ask RuvScan for leverage
curl -X POST http://localhost:8000/query \
-H 'Content-Type: application/json' \
-d '{
"intent": "How can I optimize my AI application performance?",
"max_results": 5,
"min_score": 0.7
}'Python:
cd src/ruvscan_mcp
pip install -r requirements.txtRust:
cd src/rust
cargo build --releaseGo:
cd src/go/scanner
go mod downloadTerminal 1 - Rust Engine:
cd src/rust
cargo run --release
# Runs on localhost:50051Terminal 2 - Python MCP Server:
cd src/ruvscan_mcp
uvicorn server:app --host 0.0.0.0 --port 8000 --reload
# Runs on localhost:8000Terminal 3 - Go Scanner (optional):
cd src/go/scanner
go run main.go# Health check
curl http://localhost:8000/health
# Scan repos
curl -X POST http://localhost:8000/scan \
-H 'Content-Type: application/json' \
-d '{"source_type":"user","name":"ruvnet","limit":5}'
# Query leverage
curl -X POST http://localhost:8000/query \
-H 'Content-Type: application/json' \
-d '{"intent":"Speed up vector database","max_results":3}'# Make scripts executable
chmod +x scripts/*.sh
# Scan a user's repositories
./scripts/ruvscan scan user ruvnet --limit 10
# Query for leverage
./scripts/ruvscan query "How to build real-time collaboration features?"
# Compare two solutions
./scripts/ruvscan compare "vector-db-v1" "vector-db-v2"# List all scanned repos
curl http://localhost:8000/repos# Get leverage card by ID
curl http://localhost:8000/leverage/{card_id}# View cached reasoning
curl http://localhost:8000/cache/statsDocker:
# All services
docker compose logs -f
# Specific service
docker compose logs -f mcp-server
docker compose logs -f rust-engine
docker compose logs -f scannerManual: Check terminal outputs for each service.
# MCP Server health
curl http://localhost:8000/health
# Rust Engine health (if exposed)
curl http://localhost:50051/health# Find and kill process on port 8000
lsof -ti:8000 | xargs kill -9
# Or change port in docker-compose.yml or .env# View detailed logs
docker compose logs
# Restart services
docker compose restart
# Rebuild if needed
docker compose build --no-cache
docker compose up -d# Verify .env.local
cat .env.local
# Should contain:
# GITHUB_TOKEN=ghp_...
# OPENAI_API_KEY=sk-...# Reset database
rm -f data/ruvscan.db
docker compose restart mcp-server- Read the Full README - README.md
- Explore User Experience - USER_EXPERIENCE.md
- Contribute - CONTRIBUTING.md
- Check Examples - examples/
- Issues: https://github.com/Hulupeep/ruvscan/issues
- Discussions: https://github.com/Hulupeep/ruvscan/discussions
- Documentation: All docs in
docs/folder
Ready to discover leverage? 🚀