Skip to content

yonata-learn/llm_as_a_judge

Repository files navigation

LLM as a Judge

Modern Python project setup following software engineering principles from .claude/claude.md.

Quick Start

Prerequisites

# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install just (task runner)
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s

Clone the Repository

This project contains git submodules, so clone with:

# Clone with submodules
git clone --recurse-submodules git@github.com:yonata-learn/llm_as_a_judge.git

# OR if you already cloned without submodules:
git submodule update --init --recursive

Setup

# Install dependencies
just install

# Copy environment file
cp .env.example .env
# Edit .env and add your API keys

Development Commands

just                 # List all commands
just check           # Run all checks (format, lint, type)
just fix             # Auto-fix formatting and linting
just test            # Run tests
just clean           # Clean build artifacts
just repl            # Interactive Python shell

Project Structure

.
├── .claude/         # Claude Code configuration
├── justfile         # Task runner commands
├── pyproject.toml   # Project dependencies and config
├── .pre-commit-config.yaml  # Pre-commit hooks
└── .env.example     # Environment variables template

Adding Code

Create your source code in a src/ directory:

mkdir -p src
touch src/__init__.py

Architecture Principles

This project follows principles from .claude/claude.md:

  • Pure core, effects at edges: Isolate I/O from business logic
  • Small, focused modules: Single responsibility per module
  • Explicit dependencies: Dependency injection, no globals
  • Type safety: Use type hints, Pydantic for validation
  • Observability: Structured logging, metrics, tracing
  • Testing: Unit > Integration > E2E test pyramid

See .claude/claude.md for detailed principles.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published