apollographql/rover

The CLI for Apollo GraphOS

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 45 minutes ago
Added to GitGenius on July 13th, 2024
Created on July 14th, 2020
Open Issues & Pull Requests: 126 (+0)
Number of forks: 94
Total Stargazers: 452 (+0)
Total Subscribers: 25 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 30.0 days
Mean response time: 302.2 days
90th percentile: 1099.5 days
Tracked items: 217

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 81% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 74% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 108
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,279 days
Stale 30+ days: 97
Stale 90+ days: 71

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug 🐞 (277)
  • feature 🎉 (228)
  • triage (177)
  • docs 📝 (50)
  • question ❓ (45)
  • 💅 polish (37)
  • maintenance 🛠️ (33)
  • good first issue (24)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Rover is Apollo's command-line interface for GraphQL developer productivity, written in Rust and available at rover.apollo.dev. The tool enables developers to interact with GraphQL graphs through operations like fetching graphs from federated remote endpoints, validating local graph changes with rover graph check, and publishing local graphs to Apollo Studio. The repository is organized as a Cargo workspace containing multiple related projects that handle different aspects of the CLI's functionality, including houston for configuration utilities, rover-client for making GraphQL requests, rover-graphql as a tower layer for GraphQL requests, rover-http as a tower HTTP client implementation, rover-std for common CLI utilities, rover-studio for Apollo Studio communication setup, sputnik for anonymous data collection, and timber for logging formatting.

The repository overlaps with contributors from github/gh-aw, solo-io/gloo, and microsoft/vscode, indicating cross-project collaboration patterns.

Rover supports multiple installation methods to accommodate different development environments and security requirements. Users can install via curl pipe shell scripts on Linux and macOS, PowerShell on Windows, Docker images with immutable tags starting from version 0.39.1, npm as a devDependency for JavaScript projects, Homebrew, or manual binary downloads. The project emphasizes security by offering immutable Docker images and GitHub Actions that pin specific Rover versions without relying on SHA pinning. For unsupported CPU architectures, users can build from source using Cargo by cloning the repository and running cargo xtask dist.

The codebase is classified across multiple domains including schema validation, testing, documentation, performance testing, introspection, development tools, analytics, schema comparison, mock server functionality, code quality, security, SDK capabilities, benchmarking, and automation. This broad classification reflects Rover's role as a comprehensive developer tooling platform for GraphQL workflows. The project uses dual licensing with MIT-compatible licenses as the default throughout the repository, while specific subdirectories or files may designate the Elastic License 2.0 where applicable. Contributions are guided by documentation available through Apollo's contribution guidelines, and the project maintains a focus on immutable release artifacts to ensure reproducibility and security in CI environments.