rust-lang/cargo

The Rust package manager

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 2 minutes ago
Added to GitGenius on August 27th, 2025
Created on March 4th, 2014
Open Issues & Pull Requests: 1,677 (+0)
GitHub issues: Enabled
Number of forks: 3,066
Total Stargazers: 15,569 (+0)
Total Subscribers: 192 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.6 hours
Mean response time: 517.4 days
90th percentile: 1964.3 days
Tracked items: 2,303

Maintainer activity

35 people did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 7, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

About 6% of issues opened in the past year have never received a reply. 86% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "S-triage" is answered fastest, typically in about an hour, while "A-build-scripts" waits about 4 months. 64% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 51% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,352
New in 7 days: 6
Closed in 7 days: 6
Avg open age: 1,280 days
Stale 30+ days: 1,290
Stale 90+ days: 1,179

Recent activity

Opened in 7 days: 6
Closed in 7 days: 6
Comments in 7 days: 14
Events in 7 days: 51

Top labels

  • C-bug (1,736)
  • C-feature-request (1,139)
  • S-triage (869)
  • S-needs-design (665)
  • S-needs-info (299)
  • A-diagnostics (237)
  • S-accepted (220)
  • A-documenting-cargo-itself (186)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Cargo is the Rust package manager and build system, and the repository at https://github.com/rust-lang/cargo houses its source code. It’s a crucial component of the Rust ecosystem, responsible for managing dependencies, building projects, running tests, and publishing packages to crates.io, the official Rust package registry. Essentially, Cargo streamlines the entire Rust development workflow, making it significantly easier to create, share, and maintain Rust code. It’s designed to be simple, fast, and reliable, and its command-line interface (CLI) is central to how most Rust developers interact with their projects.

At its core, Cargo uses a `Cargo.toml` manifest file to define a package. This file contains metadata about the project, such as its name, version, authors, license, and crucially, its dependencies. Dependencies are specified by name and version, and Cargo automatically downloads and builds these dependencies from crates.io (or other specified sources) before building the project itself. This dependency management system is a key strength of Cargo, preventing “dependency hell” by ensuring consistent and reproducible builds. The `Cargo.toml` file also defines build scripts, allowing for custom build processes when necessary, such as compiling C or C++ code.

The repository’s structure reflects Cargo’s functionality. The `src` directory contains the main source code, with key subdirectories like `cargo/core` for core functionality, `cargo/cli` for the command-line interface, and `cargo/util` for utility functions. `tests` contains a comprehensive suite of tests, ensuring the stability and correctness of Cargo. The `vendor` directory contains vendored dependencies – libraries that Cargo itself relies on. Significant portions of the code are dedicated to resolving dependencies, handling version constraints, and interacting with the network to download packages.

Cargo’s build system is based on the concept of “crates”. A crate is a compilation unit in Rust, and can be a binary (an executable) or a library. Cargo handles the compilation process, including compiling source code, linking libraries, and generating executables. It supports multiple target platforms, allowing developers to build their projects for different operating systems and architectures. The build process is incremental, meaning that only changed files are recompiled, speeding up development. Cargo also integrates seamlessly with the Rust compiler (`rustc`) and the Rust standard library.

Beyond basic package management and building, Cargo provides features for running tests, documenting code (using `cargo doc`), benchmarking code (using `cargo bench`), and publishing packages to crates.io (using `cargo publish`). It also supports workspaces, allowing developers to manage multiple related crates as a single project. The repository is actively maintained by the Rust core team and a large community of contributors, with regular updates and improvements. The ongoing development focuses on enhancing performance, improving error messages, and adding new features to further simplify the Rust development experience.