You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -128,32 +128,40 @@ The [track anatomy documentation](https://github.com/exercism/docs/blob/master/l
128
128
│ │ └── Accumulate.hs
129
129
│ ├── test
130
130
│ │ └── Tests.hs
131
+
│ ├── .docs
132
+
│ │ └── instructions.md
131
133
│ └── .meta
132
134
│ ├── examples
133
135
│ │ └── success-standard
134
136
│ │ ├── package.yaml
135
137
│ │ └── src
136
138
│ │ └── Accumulate.hs
139
+
│ ├── config.json
137
140
│ └── hints.md
138
141
├── allergies
139
142
│ └── ...
140
143
└── ...
141
144
```
142
145
-`config.json`: Every exercise has to be registered here. It has a unique name and a difficulty. The sequence order is also the default order in which the exercises are fetched.
143
146
144
-
## Exercise structure
145
-
Each exercise has the following structure:
147
+
## Practice exercise structure
148
+
Each practice exercise has the following structure:
146
149
-`stack.yaml` has just one line specifying the current
147
150
[Stack snapshot](https://www.stackage.org/snapshots). We use the same
148
151
resolver for all the exercises.
149
152
-`package.yaml` is a file in the [hpack](https://github.com/sol/hpack#readme)
150
153
format that has all dependencies and build instructions for an exercise.
151
154
One of the properties tracked in `package.yaml` is the [version](#exercise-versioning) of the exercise.
152
155
-`src/ModuleName.hs` is a [stub solution](#stub-solution).
156
+
-`.docs/instructions.md` contains the instructions and requirements to complete the exercise.
157
+
For an exercise from [problem-specifications](https://github.com/exercism/problem-specifications/), this file should exactly match the description.md from problem-specifications.
158
+
The [Exercism-wide documentation for instructions.md](https://github.com/exercism/docs/blob/main/building/tracks/practice-exercises.md#file-docsinstructionsmd) contains more information.
153
159
-`.meta/examples/success-<name>/package.yaml` contains library dependencies for the [example solution](#example-solution). `<name>` is a unique name for the example - usually "standard" (as in `success-standard`), but it can be some other name in case of multiple example solutions.
154
160
-`.meta/examples/success-<name>/src/ModuleName.hs` is the source code of the sample solution.
155
161
-`test/Tests.hs` is the [test suite](#test-suite).
156
162
-`.meta/hints.md` is an optional file containing instructions and/or hints. It is used together with the respective `description.md` for the exercise from [problem-specifications](https://github.com/exercism/problem-specifications) to build the `README.md` file.
163
+
-`.meta/config.json` is the exercise configuration file.
164
+
The [Exercism-wide documentation for .meta/config.json](https://github.com/exercism/docs/blob/main/building/tracks/practice-exercises.md#file-metaconfigjson) contains more information.
0 commit comments