Thanks to visit codestin.com
Credit goes to github.com

Skip to content

abap34/upsilon

Repository files navigation

Upsilon

Warning

This software is a product of Vibe Coding and is highly unstable. In particular, the documentation is largely fictional—please do not rely on it.

AI-powered code review for pre-commit hooks

Python PRs Welcome

Upsilon is an intelligent code review tool that leverages Anthropic's Claude AI to perform comprehensive code analysis during your git pre-commit process. It combines the power of large language models with traditional static analysis tools to provide context-aware feedback and catch issues that conventional linters often miss.

✨ Features

  • 🤖 AI-Powered Analysis: Uses Anthropic's Claude for intelligent, context-aware code reviews
  • 🛠️ Tool Integration: Seamlessly integrates with mypy, ruff, eslint, compilers, and other development tools
  • 🌍 Multi-Language Support: Python, JavaScript, TypeScript, Go, Rust, C++, Julia, and more
  • ⚙️ Highly Configurable: Customize rules, tools, prompts, and language settings
  • 🔧 Pre-commit Integration: Works seamlessly with pre-commit hooks and CI/CD pipelines
  • 📊 Rich Output: Beautiful CLI output with detailed issue reporting in multiple formats

🚀 Quick Start

Installation

pip install upsilon

Basic Usage

# Review specific files
upsilon review src/main.py src/utils.py

# Review all Python files in a directory
upsilon review src/*.py

# Use with pre-commit (reads from stdin)
git diff --cached --name-only | upsilon review --stdin

Configuration

Create a configuration file (pyproject.toml, upsilon.yaml, or upsilon.toml):

# upsilon.yaml
model: claude-3-7-sonnet-20250219
max_tokens: 2000
temperature: 0.1
language: en

builtin_tools:
  spell_check:
    enabled: true
  syntax_check:
    enabled: true
  import_analysis:
    enabled: true

external_tools:
  mypy:
    command: mypy --no-error-summary
    languages: [python]
    enabled: true
  ruff:
    command: ruff check --no-fix
    languages: [python]
    enabled: true

Pre-commit Integration

Add to your .pre-commit-config.yaml:

repos:
  - repo: local
    hooks:
      - id: upsilon
        name: Upsilon AI Code Review
        entry: upsilon review --stdin --quiet
        language: system
        types: [python]  # or other file types
        pass_filenames: false

🛠️ What Upsilon Catches

Upsilon goes beyond traditional linters to identify:

  • Logic Errors: Potential bugs and logical inconsistencies
  • Code Clarity: Readability and maintainability issues
  • Best Practices: Language-specific conventions and patterns
  • Security Issues: Potential vulnerabilities and unsafe patterns
  • Performance: Bottlenecks and optimization opportunities
  • Architecture: Design patterns and structural concerns

🌍 Supported Languages

  • Python (.py, .pyi)
  • JavaScript (.js, .jsx, .mjs)
  • TypeScript (.ts, .tsx)
  • Go (.go)
  • Rust (.rs)
  • C++ (.cpp, .hpp, .cc, .hh)
  • C (.c, .h)
  • Julia (.jl)
  • Java (.java)
  • Ruby (.rb)
  • PHP (.php)
  • Shell (.sh, .bash, .zsh)

📖 Documentation

For detailed documentation, configuration options, and advanced usage:

🔧 Development

Setup

git clone https://github.com/user/upsilon.git
cd upsilon
rye sync

Running Tests

rye test

About

Not product, just an experiment. Someone please make it decent :)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages