Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
APP_ENV=development

# Application Name
APP_NAME=EvalForge API
APP_NAME=Evalium API

# Enable Debugging: Set to 'False' in production
DEBUG=True
Expand Down Expand Up @@ -84,3 +84,19 @@ DEEPSEEK_API_KEY=
COHERE_API_KEY=
NVIDIA_API_KEY=
OLLAMA_BASE_URL=http://localhost:11434

# ------------------------------------------------------------------------------
# Stripe SaaS Billing Configuration (Optional)
# ------------------------------------------------------------------------------
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PUBLISHABLE_KEY=

# ------------------------------------------------------------------------------
# Google OAuth 2.0 / OpenID Connect Authentication
# ------------------------------------------------------------------------------
# Backend Google Client credentials
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=https://evalforge.onrender.com/api/v1/auth/google/callback
FRONTEND_URL=https://eval-forge-sandy.vercel.app
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Pull Request Template

## Description / Summary

Provide a concise summary of the changes introduced in this Pull Request.
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ permissions:

on:
push:
branches: [main, dev, 'codex/**']
branches: [main, dev, "codex/**"]
pull_request:
branches: [main, dev]

Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
cache-dependency-path: frontend/package-lock.json
- uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: "3.12"
cache: pip
cache-dependency-path: backend/requirements.txt
- run: pip install -r backend/requirements.txt
Expand Down
15 changes: 11 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -218,12 +218,19 @@ __marimo__/
.streamlit/secrets.toml

# EvalForge Test Artifacts
backend/artifacts/
backend/datasets/
artifacts/
datasets/
/backend/artifacts/
/backend/datasets/
/artifacts/
/datasets/

# Local environments and browser validation artifacts
.venv/
frontend/test-results/
frontend/playwright-report/
.env
.env.*
!.env.example
!**/.env.example
*.db
*.sqlite
*.sqlite3
1 change: 1 addition & 0 deletions .java-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
21
13 changes: 13 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
extends: markdownlint/style/prettier
MD013: false
MD024: false
MD026: false
MD029: false
MD033: false
MD034: false
MD036: false
MD040: false
MD041: false
MD045: false
MD058: false
MD060: false
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12
9 changes: 7 additions & 2 deletions .trunk/trunk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ lint:
- linters: [checkov]
paths:
- "docker/**"
- linters: [bandit]
paths:
- "scripts/**"
- linters: [osv-scanner]
paths:
- "backend/requirements.txt"
- "backend/requirements.lock"
- linters: [ALL]
paths:
- "**/__pyrefly_virtual__/**"
Expand All @@ -40,9 +47,7 @@ lint:
- git-diff-check
- grype@0.118.0
- hadolint@2.15.1
- isort@9.0.1
- markdownlint@0.49.1
- osv-scanner@2.5.1
- oxipng@10.2.1
- prettier@3.9.8
- ruff@0.16.8
Expand Down
25 changes: 17 additions & 8 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,27 @@
"docker/grafana/provisioning/datasources/*.yml"
]
},
"python.defaultInterpreterPath": "C:\\Users\\hardi\\AppData\\Local\\Programs\\Python\\Python313\\python.exe",
"python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
"python.analysis.extraPaths": [
"${workspaceFolder}/backend"
"${workspaceFolder}/backend",
"${workspaceFolder}/sdk/python",
"${workspaceFolder}/cli",
"${workspaceFolder}/.venv/Lib/site-packages"
],
"python.autoComplete.extraPaths": [
"${workspaceFolder}/backend"
"${workspaceFolder}/backend",
"${workspaceFolder}/sdk/python",
"${workspaceFolder}/cli",
"${workspaceFolder}/.venv/Lib/site-packages"
],
"pyrefly.extraSearchPaths": [
"${workspaceFolder}/backend"
],
"python.analysis.include": [
"backend"
"${workspaceFolder}/backend",
"${workspaceFolder}/sdk/python",
"${workspaceFolder}/cli",
"${workspaceFolder}/.venv/Lib/site-packages"
],
"java.configuration.updateBuildConfiguration": "automatic",
"python.analysis.include": ["backend"],
"python.analysis.exclude": [
"**/__pyrefly_virtual__/**",
"C:/__pyrefly_virtual__/**",
Expand All @@ -36,5 +44,6 @@
"**/__pyrefly_virtual__/**": true,
"C:/__pyrefly_virtual__/**": true,
"c:/__pyrefly_virtual__/**": true
}
},
"css.lint.unknownAtRules": "ignore"
}
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ This Code of Conduct applies within all community spaces (GitHub repositories, i

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at `coc@evalforge.dev`. All complaints will be reviewed and investigated promptly and fairly.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at `coc@evalium.dev`. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Expand Down Expand Up @@ -66,4 +66,4 @@ Community leaders will follow these Community Impact Enforcement Guidelines in d

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at <https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>.
35 changes: 18 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to EvalForge 🚀
# Contributing to Evalium 🚀

Welcome to the **EvalForge** contributor community! We are thrilled to have you here. EvalForge is an open-source, production-grade evaluation platform designed to automate LLM testing, benchmarking, and quality assurance for AI engineering teams worldwide.
Welcome to the **Evalium** contributor community! We are thrilled to have you here. Evalium is an open-source, production-grade evaluation platform designed to automate LLM testing, benchmarking, and quality assurance for AI engineering teams worldwide.

Whether you are fixing a typo, adding a new LLM judge metric, writing tests, or improving UI components, your contributions are invaluable to shaping the future of AI engineering tools.

Expand Down Expand Up @@ -36,7 +36,7 @@ Whether you are fixing a typo, adding a new LLM judge metric, writing tests, or

## 1. Welcome Message

EvalForge is maintained by developers, for developers. We foster an inclusive, welcoming, and collaborative environment. No contribution is too small! If this is your first time contributing to open source, we are here to support you step-by-step.
Evalium is maintained by developers, for developers. We foster an inclusive, welcoming, and collaborative environment. No contribution is too small! If this is your first time contributing to open source, we are here to support you step-by-step.

---

Expand All @@ -53,10 +53,10 @@ Our vision is to build the definitive open-source infrastructure for LLM quality

## 3. Repository Architecture

EvalForge is structured as a high-performance monorepo:
Evalium is structured as a high-performance monorepo:

```
Eval-Forge/
```text
Evalium/
├── backend/ # FastAPI 0.115+ Python backend gateway & services
│ ├── app/
│ │ ├── api/v1/ # RESTful routing endpoints & controllers
Expand Down Expand Up @@ -106,7 +106,7 @@ chmod +x scripts/setup-dev-env.sh

## 5. Environment Variables

EvalForge uses strict environment variable validation via Pydantic (`BaseSettings`) and Vite `import.meta.env`.
Evalium uses strict environment variable validation via Pydantic (`BaseSettings`) and Vite `import.meta.env`.

Copy the sample environment files:

Expand Down Expand Up @@ -175,6 +175,7 @@ docker compose up --build
```

2. **Start React Frontend:**

```bash
cd frontend
npm run dev
Expand Down Expand Up @@ -270,7 +271,7 @@ We use descriptive, prefix-based branch names:
- `refactor/<short-description>`: Code refactoring
- `test/<short-description>`: Adding or modifying test suites

### Real Examples:
### Real Examples

- `feature/api-auth`
- `feature/g-eval-engine`
Expand All @@ -286,7 +287,7 @@ Commits must follow the [Conventional Commits](https://www.conventionalcommits.o

Format: `<type>(<scope>): <description>`

### Standard Types:
### Standard Types

- `feat`: A new feature for the user or system
- `fix`: A bug fix
Expand All @@ -297,7 +298,7 @@ Format: `<type>(<scope>): <description>`
- `test`: Adding missing tests or correcting existing tests
- `chore`: Updating build tasks, package manager configs, or dependencies

### Examples:
### Examples

- `feat(eval): add DeepSeek-V3 LLM judge provider`
- `fix(ws): resolve WebSocket reconnection exponential backoff memory leak`
Expand Down Expand Up @@ -336,7 +337,7 @@ Format: `<type>(<scope>): <description>`

## 15. Folder Organization

```
```text
backend/app/
├── api/v1/endpoints/ # Single-responsibility route handlers
├── config/ # Environment & app configurations
Expand Down Expand Up @@ -384,19 +385,19 @@ backend/app/

## 20. Communication Channels

Stay connected with the EvalForge core team and community:
Stay connected with the Evalium core team and community:

- **GitHub Discussions:** Ask questions, share ideas, and present RFC proposals in [GitHub Discussions](https://github.com/hardikkaurani/Eval-Forge/discussions).
- **Issue Tracker:** Report verified bugs or suggest features via [GitHub Issues](https://github.com/hardikkaurani/Eval-Forge/issues).
- **Security Inquiries:** Contact security maintainers privately via `security@evalforge.dev`.
- **GitHub Discussions:** Ask questions, share ideas, and present RFC proposals in [GitHub Discussions](https://github.com/hardikkaurani/Evalium/discussions).
- **Issue Tracker:** Report verified bugs or suggest features via [GitHub Issues](https://github.com/hardikkaurani/Evalium/issues).
- **Security Inquiries:** Contact security maintainers privately via `security@evalium.dev`.

---

## 21. First Contribution Guide

Looking for a place to start? Follow these steps:

1. Browse issues tagged [`good first issue`](https://github.com/hardikkaurani/Eval-Forge/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue").
1. Browse issues tagged [`good first issue`](https://github.com/hardikkaurani/Evalium/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue").
2. Check out our catalog of 30 curated contributor tasks in [`docs/CONTRIBUTOR_ISSUES_CATALOG.md`](docs/CONTRIBUTOR_ISSUES_CATALOG.md).
3. Comment on the issue to request assignment.
4. Clone the repository and run `./scripts/setup-dev-env.sh` (or `.\scripts\setup-dev-env.ps1`).
Expand Down Expand Up @@ -442,7 +443,7 @@ git push origin fix/websocket-reconnect-badge

We believe in celebrating our community! All contributors are recognized in:

- The **EvalForge Leaderboard & README** section.
- The **Evalium Leaderboard & README** section.
- GitHub's native contributor graph.
- Our quarterly **Release Notes** (`docs/RELEASE_NOTES_v1.0.0.md`).

Expand Down
8 changes: 4 additions & 4 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# EvalForge Project Governance
# Evalium Project Governance

This document describes the governance structure, decision-making processes, and maintainer responsibilities for the **EvalForge** open-source project.
This document describes the governance structure, decision-making processes, and maintainer responsibilities for the **Evalium** open-source project.

---

## 1. Governance Model

EvalForge operates under a **Benevolent Meritocracy** model:
Evalium operates under a **Benevolent Meritocracy** model:

- **Merit-based Progression:** Anyone who contributes consistently to code, documentation, triage, or community support can progress to maintainer roles.
- **Open Consensus:** Strategic architectural decisions, RFCs, and breaking API changes are discussed publicly in [GitHub Discussions](https://github.com/hardikkaurani/Eval-Forge/discussions) and issue threads.
- **Open Consensus:** Strategic architectural decisions, RFCs, and breaking API changes are discussed publicly in [GitHub Discussions](https://github.com/hardikkaurani/Evalium/discussions) and issue threads.

---

Expand Down
8 changes: 4 additions & 4 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# EvalForge Project Maintainers
# Evalium Project Maintainers

This document lists the core maintainers, triage leads, and security contacts for the **EvalForge** repository.
This document lists the core maintainers, triage leads, and security contacts for the **Evalium** repository.

---

Expand All @@ -27,8 +27,8 @@ This document lists the core maintainers, triage leads, and security contacts fo

For confidential security disclosures, contact:

- **Email:** `security@evalforge.dev`
- **Private Advisory:** [GitHub Security Advisories](https://github.com/hardikkaurani/Eval-Forge/security/advisories/new)
- **Email:** `security@evalium.dev`
- **Private Advisory:** [GitHub Security Advisories](https://github.com/hardikkaurani/Evalium/security/advisories/new)

---

Expand Down
Loading
Loading