https://github.com/pacphi/ampel
PR management dashboard and MCP server with support for Github, Gitlab, and Bitbucket
https://github.com/pacphi/ampel
git multi-repo
Last synced: 2 months ago
JSON representation
PR management dashboard and MCP server with support for Github, Gitlab, and Bitbucket
- Host: GitHub
- URL: https://github.com/pacphi/ampel
- Owner: pacphi
- License: mit
- Created: 2025-12-03T05:45:38.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-17T16:04:11.000Z (3 months ago)
- Last Synced: 2026-01-17T17:24:06.346Z (3 months ago)
- Topics: git, multi-repo
- Language: Rust
- Homepage:
- Size: 3.24 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Ampel ๐ฆ
[](https://github.com/pacphi/ampel/actions/workflows/ci.yml)
[](https://codecov.io/gh/pacphi/ampel)
[](LICENSE)
> **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):**
```bash
git clone https://github.com/pacphi/ampel.git
cd ampel && cp .env.example .env
cd docker && docker compose up -d
```
Open [http://localhost:3000](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 โ](docs/planning/PRODUCT_SPEC.md)
## ๐ Documentation
### ๐ Getting Started
**First-time setup and quick wins:**
- [Getting Started Guide](docs/GETTING_STARTED.md) - Installation, configuration, first repository
- [PAT Setup Guide](docs/PAT_SETUP.md) - Configure GitHub, GitLab, Bitbucket Personal Access Tokens
- [Docker Quick Start](docs/RUN.md) - Run Ampel with Docker in 3 commands
- [Makefile Guide](docs/MAKEFILE_GUIDE.md) - Complete reference of all available commands
### โจ Features & Capabilities
**Deep-dive into what Ampel can do:**
- [Product Specification](docs/planning/PRODUCT_SPEC.md) - Complete feature matrix with implementation status
- [Multitenancy](docs/features/MULTITENANCY.md) - Organizations, teams, and access control
- [Bulk Merge Operations](docs/features/BULK_MERGE.md) - Merge multiple PRs with progress tracking
- [Health Scores](docs/features/HEALTH_SCORES.md) - Repository health scoring and trend analysis
### ๐ 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](crates/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:**
- [Architecture Overview](docs/ARCHITECTURE.md) - System design, crate structure, database models
- [Development Guide](docs/DEVELOPMENT.md) - Local development setup and workflow
- [Contributing Guide](docs/CONTRIBUTING.md) - How to contribute to Ampel
### ๐งช Testing
**Comprehensive testing documentation:**
- [Testing Overview](docs/TESTING.md) - Testing strategy and quick reference
- [Backend Testing](docs/testing/BACKEND.md) - Rust unit and integration tests (PostgreSQL/SQLite)
- [Frontend Testing](docs/testing/FRONTEND.md) - React component testing with Vitest
- [CI Workflows](docs/testing/CI.md) - GitHub Actions CI pipeline guide
- [Coverage Tracking](docs/testing/COVERAGE.md) - Code coverage goals and reporting
- [Worker Testing](docs/testing/WORKER-TEST-PATTERNS.md) - Background job test patterns
### ๐ Observability
**Production monitoring and troubleshooting:**
- [Observability Overview](docs/observability/README.md) - **Start here** - Complete observability guide
- [Quick Start (5 min)](docs/observability/QUICKSTART.md) - Get monitoring running locally
- [Monitoring Guide](docs/observability/MONITORING.md) - Prometheus, Grafana, alerting setup
- [Metrics Catalog](docs/observability/METRICS.md) - All available metrics with usage examples
- [Prometheus Guide](docs/observability/PROMETHEUS.md) - Prometheus configuration and PromQL queries
- [Grafana Dashboards](docs/observability/GRAFANA.md) - Dashboard creation and visualization
- [API Endpoints](docs/observability/API-ENDPOINTS.md) - Health checks and metrics endpoints
- [Troubleshooting](docs/observability/TROUBLESHOOTING.md) - Common issues and solutions
### ๐ Deployment
**Production deployment guides:**
- [Fly.io Deployment](docs/DEPLOY.md) - Deploy to Fly.io with native monitoring
- [Docker Deployment](docs/RUN.md) - Self-hosted Docker setup
- [Operations Runbook](docs/deployment/RUNBOOK.md) - Production operations guide
- [Secrets Management](docs/deployment/SECRETS_TEMPLATE.md) - Environment variables and secrets
- [Release Process](docs/RELEASE.md) - How to cut a release
## ๐ ๏ธ 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 โ](docs/ARCHITECTURE.md)
## ๐ 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 โ](docs/planning/PRODUCT_SPEC.md)
## 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](docs/CONTRIBUTING.md)
2. Check the [Development Guide](docs/DEVELOPMENT.md) for setup
3. Browse open issues or propose a new feature
4. Submit a pull request
## License
MIT License โ see [LICENSE](LICENSE) for details.
---
_Built with ๐ฆ by the Ampel team_