Skip to content

Commit

Permalink
Add CLI tooling docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikSchierboom committed Jun 7, 2024
1 parent dce6f5b commit 4bfb78e
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
7 changes: 7 additions & 0 deletions building/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,13 @@
"title": "Snippet Extractor",
"blurb": ""
},
{
"uuid": "0d24b14c-8995-4ca5-8e5f-6ca2dcc5318c",
"slug": "tooling/cli",
"path": "building/tooling/cli.md",
"title": "Exercism CLI",
"blurb": ""
},
{
"uuid": "ba393f61-0f7d-4178-922a-c16cda052338",
"slug": "tooling/test-generators",
Expand Down
22 changes: 22 additions & 0 deletions building/tooling/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Exercism CLI

The [Exercism CLI][cli] lets students download exercises and submit solutions to the site.
It also supports the `exercism test` command, which then runs the track-specific command to run the tests.

## Adding new language

The track-specific test commands are defined in a [configuration file][test-configurations].
You can add support for your language by adding an entry to that [configuration file][test-configurations], where the key is the track's slug.

### Test command placeholders

There are two placeholders that can be used in the track-specific command:

- `{{test_files}}`: a space-separated list of the test files (as found in the `.files.test` key in the exercise's `.meta/config.json` file)
- `{{solution_files}}`: a space-separated list of the solution files (as found in the `.files.solution` key in the exercise's `.meta/config.json` file)

Here is an [example pull request][example-pr] that adds support for the Arturo language.

[cli]: https://github.com/exercism/cli
[example-pr]: https://github.com/exercism/cli/pull/1147/files
[test-configurations]: https://github.com/exercism/cli/blob/main/workspace/test_configurations.go#L63
3 changes: 2 additions & 1 deletion building/tracks/new/configure-tooling.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Configure tooling

There are two bits of tooling that you can optionally tweak for your track:
There are three bits of tooling that you can optionally tweak for your track:

- The **[Lines of Code Counter](/docs/building/tooling/lines-of-code-counter)**
- The **[Snippet Extractor](/docs/building/tooling/snippet-extractor)**
- The **[Exercism CLI](/docs/building/tooling/cli)**

While tweaking these tools is optional, doing so can make your track's integration into the website just _that_ bit better.

0 comments on commit 4bfb78e

Please sign in to comment.