https://github.com/robphoenix/configlet
Simple verification tool for exercism problem configuration.
https://github.com/robphoenix/configlet
Last synced: about 2 months ago
JSON representation
Simple verification tool for exercism problem configuration.
- Host: GitHub
- URL: https://github.com/robphoenix/configlet
- Owner: robphoenix
- License: mit
- Fork: true (exercism/v2-configlet)
- Created: 2017-07-18T08:32:45.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-09T12:28:41.000Z (over 8 years ago)
- Last Synced: 2024-12-06T22:43:40.180Z (over 1 year ago)
- Language: Go
- Size: 123 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Configlet
A tool for managing Exercism language track repositories.
## Lint
Exercism makes certain assumptions about language tracks. The configlet `lint` command makes it simple to verify up-front that the changes to a track's configuration, as well as changes and additions to the exercises will play nicely with the website.
`configlet lint` checks for the following configuration issues:
1. `config.json` contents that are invalid according to [the specification](https://github.com/exercism/problem-specifications/blob/master/CONTRIBUTING.md#track-configuration-file).
1. Inconsistencies between the lists of track slugs in `config.json` and the corresponding implementation files:
* Slugs referenced in `config.json` that have no corresponding implementation.
* Slugs referenced in `config.json` whose implementation is missing an example solution.
* Implementations for slugs that are not referenced in `config.json`.
* Implementations for slugs that have been declared as foregone in `config.json`.
## Format
Inspired by Go's [`gofmt`](https://blog.golang.org/go-fmt-your-code) tool, configlet's `fmt` command will consistently format a track's configuration files.
`configlet fmt` formats according to the following rules:
1. The JSON files, `config.json` and `maintainers.json` will be indented by 2 spaces.
1. In the `config.json` file:
* Exercises will have their list of topics sorted alphabetically.
* Topics names will be normalised to be lowercase and contain underscores in place of spaces.
### Usage
```bash
$ configlet [command]
```
If you have [installed the configlet binary](https://github.com/exercism/configlet/releases/latest)
and are at the root of an exercism language track, then you can run the following:
```bash
$ configlet [command] .
```