exercism / exercism/configlet

CLI: Add per-command `--help`

Open
#103 0 comments 0 reactions 0 assignees View on GitHub
kind: feature
Dominant language
Nim
Stars
23
Forks
17
Avg merge
13h 57m
Merged PRs (30d)
1

Description

The `--help` message is currently in the format:

```console
$ configlet --help
configlet 4.0.0-beta.5
The official tool for managing Exercism language track repositories.

Usage:
configlet [global-options] [command-options]

Commands:
completion Output a completion script for a given shell
fmt Format the exercise '.meta/config.json' files
generate Generate Concept Exercise 'introduction.md' files from 'introduction.md.tpl' files
info Print some information about the track
lint Check the track configuration for correctness
sync Check or update Practice Exercise docs, metadata, and tests from 'problem-specifications'.
Check or populate missing 'files' values for Concept/Practice Exercises from the track 'config.json'.
uuid Output new (version 4) UUIDs, suitable for the value of a 'uuid' key

Options for completion:
-s, --shell Choose the shell type (required)
Allowed values: b[ash], f[ish], z[sh]

Options for fmt:
-e, --exercise Only operate on this exercise
-u, --update Prompt to write formatted files
-y, --yes Auto-confirm the prompt from --update

Options for info:
-o, --offline Do not update the cached 'problem-specifications' data

Options for sync:
-e, --exercise Only operate on this exercise
-o, --offline Do not update the cached 'problem-specifications' data
-u, --update Prompt to update the unsynced track data
-y, --yes Auto-confirm prompts from --update for updating docs, filepaths, and metadata
--docs Sync Practice Exercise '.docs/introduction.md' and '.docs/instructions.md' files
--filepaths Populate empty 'files' values in Concept/Practice exercise '.meta/config.json' files
--metadata Sync Practice Exercise '.meta/config.json' metadata values
--tests [mode] Sync Practice Exercise '.meta/tests.toml' files.
The mode value specifies how missing tests are handled when using --update.
Allowed values: c[hoose], i[nclude], e[xclude] (default: choose)

Options for uuid:
-n, --num Number of UUIDs to output

Global options:
-h, --help Show this help message and exit
--version Show this tool's version information and exit
-t, --track-dir Specify a track directory to use instead of the current directory
-v, --verbosity The verbosity of output.
Allowed values: q[uiet], n[ormal], d[etailed] (default: normal)
```

It would be nice to support `configlet --help` for printing command-specific help, which makes it easier to add more detailed explanation and examples.

Previously discussed: https://github.com/exercism/canonical-data-syncer/pull/96#issuecomment-734849589.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.