Skip to content

SentinelAI-Powered Code Review

Automated security and code quality analysis with Claude AI

Quick Overview

Sentinel is a modern code review platform that leverages AI to provide automated security reviews, code quality analysis, and actionable insights for your repositories.

Architecture Highlights

  • Backend: Rust + Axum + PostgreSQL + TimescaleDB
  • Frontend: Next.js 16 + React 19 + TypeScript + Kumo UI
  • AI Engine: Claude API with multi-agent architecture
  • Real-time: Server-Sent Events for live updates
  • Integration: GitHub App with webhook support

Key Features

🔐 Security First

  • Automated security vulnerability detection
  • OWASP Top 10 coverage
  • SQL injection, XSS, and authentication flaws detection

📝 Code Quality

  • Code smell detection
  • Best practice recommendations
  • Performance optimization suggestions

🤖 AI-Powered Agent

  • Context-aware analysis
  • Tool-calling capabilities
  • Self-improving recommendations

📈 Analytics

  • Token usage tracking
  • Performance metrics
  • Cost analysis

Documentation Structure

Architecture

Learn about Sentinel's system design, module organization, and technology stack.

API Reference

Complete API documentation for all endpoints.

Development Guide

Step-by-step guides for setting up and developing Sentinel.

Quick Start

bash
# Clone the repository
git clone https://github.com/EurekaMXZ/sentinel.git
cd sentinel

# Backend setup
cd apps/api
cargo run

# Frontend setup (in another terminal)
cd apps/web
pnpm install
pnpm dev

Visit http://localhost:3000 to access the web interface.

Example Usage

Create Analysis via API

typescript
const response = await fetch('/api/v1/analysis', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    repository_id: 'repo-uuid',
    task_type: 'security_review',
    trigger_type: 'manual',
    repository_ref: 'main',
    requested_by: 'User',
  }),
});

const analysis = await response.json();
console.log('Analysis ID:', analysis.analysis_id);

Real-time Updates with SSE

typescript
const eventSource = new EventSource(
  `/api/v1/sse/analysis/${analysisId}?token=${token}`
);

eventSource.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log('Status:', data.status);
};

Tech Stack

Backend

  • Rust 1.83+ - Memory-safe systems programming
  • Axum 0.8+ - Modern async web framework
  • SQLx 0.8+ - Type-safe SQL queries
  • PostgreSQL 16+ - Primary database
  • TimescaleDB 2.17+ - Time-series data

Frontend

  • Next.js 16.2+ - React framework with App Router
  • React 19.2+ - UI library
  • TypeScript 6.0+ - Type safety
  • Kumo UI 2.5+ - Cloudflare component library
  • TanStack Query 5.62+ - Data fetching and caching
  • Zustand 5.0+ - State management

AI

  • Claude API - Anthropic's AI models
  • Agent Architecture - Multi-step analysis workflow
  • Tool Calling - Code reading, searching, execution

Project Status

Sentinel is currently in active development. Core features are functional:

✅ User authentication and authorization
✅ GitHub OAuth and App integration
✅ Project and repository management
✅ Analysis task creation and execution
✅ Real-time SSE updates
✅ AI-powered code review
✅ Frontend UI with React 19 + Next.js 16

🚧 Upcoming features:

  • PR comment integration
  • Advanced filtering and search
  • Team collaboration
  • Custom analysis rules

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

Sentinel is released under the MIT License.

Support

Released under the MIT License.