Config file: Which format?
- Dominant language
- Rust
- Stars
- 35.8k
- Forks
- 846
- Avg merge
- 27m
- Merged PRs (30d)
- 3
Description
I'm considering adding a user config file to just. Rust and serde make it so simple to do that it seems like a no brainer.
I'm not entirely sure which format to use. I think reasonable possibilities are TOML, YAML, JSON, and just. I personally find JSON too verbose and fiddly, so I'm going to veto that.
TOML is common in the rust ecosystem and very straightforward, but is slightly verbose. YAML, on the other hand, is a bit less verbose and handles nested keys better, but can be trickier to write. Using a justfile as the config file would allow including recipes, and make configuration on a per-user and per-justfile basis uniform.
How do others feel about this? Add a ❤️for TOML, 🚀 for YAML, and 😄 for just; and add a comment if you have a perspective you'd like to share.
The first config option I'm thinking of supporting is something that turns off line-echoing by default. I've been analyzing all the public `justfile`s on github, and making recipes quiet, i.e. prefixing them with a `@`, gets a lot of use. I like echoing lines by default, but it looks like a lot of other people prefer most recipes to be quiet. So, adding a `.justrc` and making the default configurable seems like a good idea.
(This was first suggested way back in #246 by @Fleshgrinder, but it didn't strike me to add a config option, so users could decide individually.)
Edit: Added just as potential format.
Contributor guide
Research direction
No files, tests, or entry points are named. Read the issue and its comment thread first to understand the unresolved format decision, then define the configuration format and `.justrc` behavior before implementation; done means an agreed design and documented default line-echoing configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100