rust-cli/config-rs

⚙️ Layered configuration system for Rust applications (with strong support for 12-factor applications).

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 1 minute ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 21st, 2026
Created on January 24th, 2017
Open Issues & Pull Requests: 140 (+0)
GitHub issues: Enabled
Number of forks: 265
Total Stargazers: 3,213 (+0)
Total Subscribers: 17 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 27.0 hours
Mean response time: 87.0 days
90th percentile: 231.6 days
Tracked items: 90

How this project is maintained

84% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "C-bug" is answered fastest, typically in about 4 hours, while "E-help-wanted" waits about 13 days. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 70
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,256 days
Stale 30+ days: 68
Stale 90+ days: 67

Recent activity

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

Top labels

  • C-enhancement (29)
  • A-env (21)
  • E-help-wanted (19)
  • A-format (18)
  • C-bug (12)
  • S-waiting-on-design (10)
  • A-source (9)
  • M-breaking-change (9)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

config-rs is a configuration management library for Rust applications that implements a layered approach to loading and merging configuration from multiple sources.

The library solves the problem of managing application configuration across different environments and deployment contexts. It works by allowing developers to define configuration sources in a specific order—such as configuration files, environment variables, and command-line arguments—and automatically merges them into a single unified configuration object. This layered approach means that sources defined later can override values from earlier sources, enabling flexible environment-specific configuration without code changes. The library includes strong support for 12-factor application patterns, making it well-suited for cloud-native and containerized deployments where configuration often comes from environment variables rather than files.

The tool is appropriate for Rust CLI applications and services that need to support multiple configuration sources and environments. It works well for projects that follow the 12-factor methodology or need to read configuration from files in formats like JSON and TOML alongside environment variables. Developers building applications that must run consistently across development, staging, and production environments will find the layered merging approach particularly valuable, as it eliminates the need to manually handle configuration precedence in application code.

The project maintains a pattern of regular maintenance and responsiveness to issues. Pull requests receive timely review and feedback from maintainers. The codebase shows consistent attention to keeping dependencies current and addressing reported problems. Documentation is actively maintained alongside code changes.