Skip to content

Latest commit

 

History

History
190 lines (130 loc) · 8.35 KB

File metadata and controls

190 lines (130 loc) · 8.35 KB

Ampel 🚦

CI codecov License: MIT

See your PRs at a glance. Ampel brings traffic light simplicity to PR management across GitHub, GitLab, and Bitbucket.

Ampel (German for "traffic light") is a unified PR dashboard that consolidates pull requests from multiple Git providers into a single interface, using an intuitive traffic light system to show what's ready to merge, what's in progress, and what's blocked.

Why Ampel?

  • 🎯 Stop Context-Switching - No more jumping between GitHub, GitLab, and Bitbucket. Everything in one dashboard.
  • Instant Visibility - Traffic light status (🟢 Green = ready, 🟡 Yellow = in progress, 🔴 Red = blocked) cuts through the noise.
  • 🚀 Production-Ready - Battle-tested observability stack with Prometheus metrics, Grafana dashboards, and comprehensive monitoring.
  • 🔒 Self-Hosted & Secure - Deploy on your infrastructure with AES-256-GCM encrypted PAT storage. No data leaves your control.
  • 🤝 Team-First Design - Organizations, teams, bulk merge operations, and health scores for managing repos at scale.

Quick Start

With Docker (fastest path to value):

git clone https://github.com/pacphi/ampel.git
cd ampel && cp .env.example .env
cd docker && docker compose up -d

Open http://localhost:3000 and connect your first repository.

That's it. You'll have a fully functional PR dashboard with monitoring stack in under 5 minutes.

✨ Features

Core Capabilities

  • Unified Dashboard - GitHub, GitLab, and Bitbucket PRs in one view
  • Traffic Light Status - Visual health indicators with CI integration
  • Smart Filtering - Filter by provider, status, author, reviewer, labels, age
  • Repository Health Scores - Track team velocity and identify bottlenecks
  • Multitenancy - Organizations and teams with role-based access control
  • Multi-Language Support - 27 languages with RTL support (Arabic, Hebrew) and automatic detection

Advanced Features

  • Bulk Merge Operations - Merge multiple approved PRs with progress tracking
  • Team Organization - Group repos by team, customize dashboards
  • Bot PR Rules - Separate Dependabot/Renovate PRs with auto-merge support
  • Analytics & Reporting - PR cycle time, review turnaround, team velocity trends
  • Production Monitoring - Prometheus metrics, Grafana dashboards, distributed tracing
  • Language Persistence - User language preference saved to account and synced across devices

View complete feature matrix →

📚 Documentation

🚀 Getting Started

First-time setup and quick wins:

✨ Features & Capabilities

Deep-dive into what Ampel can do:

🌍 Internationalization (i18n)

Multi-language support (27 languages with RTL support):

  • Multi-language UI with 27 supported languages
  • RTL (right-to-left) support for Arabic, Hebrew, Persian, and Urdu
  • Automatic locale detection from browser settings
  • Language switcher in user settings

Developer Tools:

  • ampel-i18n-builder - Translation management CLI
    • Extract translatable strings from TypeScript/React and Rust code
    • Refactor code to automatically replace hardcoded strings with i18n calls
    • Translate with 4-tier provider architecture (Systran → DeepL → Google → OpenAI)
    • Generate TypeScript/Rust type definitions from translations
    • Validate translation coverage and consistency

🏗️ Architecture & Development

System design and contributing:

🧪 Testing

Comprehensive testing documentation:

📊 Observability

Production monitoring and troubleshooting:

🚀 Deployment

Production deployment guides:

🛠️ Tech Stack

Built with a modern, performant stack designed for production workloads:

  • Backend: Rust 1.92+ with Axum (REST API), SeaORM (database), Apalis (background jobs)
  • Frontend: React 19 + TypeScript, Vite, TanStack Query, shadcn/ui, Tailwind CSS
  • Database: PostgreSQL 16 for data, Redis 7 for caching
  • Observability: Prometheus metrics, Grafana dashboards, OpenTelemetry tracing
  • Deployment: Docker, Fly.io, self-hosted options

See complete architecture →

📈 Project Status

Current Release: MVP Complete (87% of planned features)

What's Working Today:

  • ✅ Multi-provider PR aggregation (GitHub, GitLab, Bitbucket)
  • ✅ Traffic light status with CI integration
  • ✅ Team management and collaboration
  • ✅ Bulk merge operations with progress tracking
  • ✅ Health scoring and analytics
  • ✅ Production-ready observability stack

In Progress:

  • 🚧 Notification workers (Slack, email)
  • 🚧 Bot filtering frontend UI
  • 🚧 Export functionality (CSV/PDF)

View detailed implementation status →

Contributing

We welcome contributions! Whether you're fixing a bug, adding a feature, or improving documentation, your help makes Ampel better.

Get Started:

  1. Read the Contributing Guide
  2. Check the Development Guide for setup
  3. Browse open issues or propose a new feature
  4. Submit a pull request

License

MIT License — see LICENSE for details.


Built with 🚦 by the Ampel team