rust-cli / rust-cli/config-rs

Re-thinking config-rs

Open
#321 18 comments 2 reactions 1 assignee View on GitHub

@matthiasbeyer is already working on this.

Since Apr 23, 2022.

C-enhancement E-help-wanted
Dominant language
Rust
Stars
3.2k
Forks
265
Avg merge
2h 42m
Merged PRs (30d)
4

Description

Project: Re-thinking config-rs


(Please have a look at https://github.com/matthiasbeyer/config-rs-ng/ for the current efforts)


I want to rethink how this crate works, what this crate provides in means of features and what it does purposely not provide.

This issue is a tracking issue for the whole project.

Current features (as of 0.13.x)

  • Deserialization from various formats
    • Toml
    • Json
    • INI
    • Yaml
    • Ron
    • Json5
  • "Layering" of configuration
  • Different kinds of config sources
    • sync/async
    • Environment
  • Setting defaults
  • Setting overwrites
  • Accessing fields using JSONPath-style selectors

Accepted future features

As soon as a feature suggestion is discussed and agreed upon with the config-rs community, it will be moved to the "Accepted" Panel in the project board and listed here.

Timeline

There is no timeline when or whether this project is done. We will implement things when we think it is time.

Help wanted

Help is very much welcome. If you're a user of this crate, please submit your ideas!

Please open one issue per idea for features you want to see in the config-rs implementation of the future.
No idea is too small for an issue.


This issue will be constantly updated!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.