casey / casey/just

Config file: Which format?

Open
#395 13 comments 47 reactions 0 assignees View on GitHub
enhancement question
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.