Hey everyone! ![]()
I built CILens, a CLI tool for analyzing GitLab CI/CD pipelines and finding optimization opportunities.
I’ve been using it at my company and it’s given me really valuable insights into our pipelines—identifying slow jobs, flaky tests, and bottlenecks. It’s particularly useful for DevOps, platform, and infra engineers who need to optimize build times and improve CI reliability.
What it does:
Fetches pipeline & job data from GitLab’s GraphQL API
Groups pipelines by job signature (smart clustering)
Shows P50/P95/P99 duration percentiles instead of misleading averages
Detects flaky jobs (intermittent failures that slow down your team)
Calculates time-to-feedback per job (actual developer wait times)
Ranks jobs by P95 time-to-feedback to identify highest-impact optimization targets
Outputs human-readable summaries or JSON for programmatic use
Key features:
Installable via Nix Flakes
Written un Rust for maximum performance
Intelligent caching (~90% cache hit rate on reruns)
Fast concurrent fetching (handles 500+ pipelines efficiently)
Automatic retries for rate limits and network errors
Cross-platform (Linux, macOS, Windows)
Currently supports GitLab only, but the architecture is designed to support other CI/CD providers (GitHub Actions, Jenkins, CircleCI, etc.) in the future.
Would love feedback from the Nix community! ![]()
