lsd-rs / lsd-rs/lsd

Publish JSON/YAML configuraion schemas

Open
#1,199 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
16.2k
Forks
510
PR merge metrics
No merged PRs in 30d

Description

It would be very helpful to provide an official JSON Schema for lsd's configuration file, as described in the [configuration documentation](https://github.com/lsd-rs/lsd/blob/main/doc/samples/config-sample.yaml).

The schema could either be:
- Maintained within this repository, or
- Published via [SchemaStore](https://www.schemastore.org/) (see the [schemastore repository](https://github.com/SchemaStore/schemastore))

# Why does this matter?

Providing a JSON Schema would significantly improve the configuration experience by:
- Enabling real-time validation in editors
- Reducing configuration errors
- Improving discoverability of available options
- Minimizing debugging time caused by invalid settings

# Possible approach

One potential implementation could leverage existing libraries such as https://docs.rs/jsonschema/latest/jsonschema/

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start with doc/samples/config-sample.yaml to inventory the configuration structure, then review the jsonschema library documentation and the SchemaStore repository. Decide whether the schema is maintained in lsd or published through SchemaStore; done means an official schema is available and validates the documented configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, rust, yaml
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.