Skip to content

Commit 94bea79

Browse files
committed
Update CONTRIBUTING.md from master branch
1 parent 916faa9 commit 94bea79

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

CONTRIBUTING.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,36 @@ entry and
156156
[documentation](https://github.com/commercialhaskell/stack/tree/master/doc/)
157157
updates with your pull request.
158158

159+
## Backwards Compatability
160+
161+
The `stack` executable does not need to, and does not, strive for the same broad
162+
compatability with versions of GHC that a library package (such as `pantry`)
163+
would seek. Instead, the `stack` executable aims to define a well-known
164+
combination of dependencies on which it relies. That is applies in particular to
165+
the `Cabal` package, where the `stack` executable aims to support one, and only
166+
one, version of `Cabal` with each release of the executable. At the time of
167+
writing (April 2022) that combination is defined by resolver `lts-17.5` (for
168+
GHC 8.10.4, and including `Cabal-3.2.1.0`) - see `stack.yaml`.
169+
159170
## Code Quality
160171

161-
The Stack projects uses [HLint](https://github.com/ndmitchell/hlint) as a code
162-
quality tool.
172+
The Stack project uses [yamllint](https://github.com/adrienverge/yamllint) as a
173+
YAML file quality tool and [HLint](https://github.com/ndmitchell/hlint) as a
174+
code quality tool.
175+
176+
### Linting of YAML files
177+
178+
The yamllint configuration extends the tools default and is set out in
179+
`.yamllint.yaml`. In particular, indentation is set at 2 spaces and `- ` in
180+
sequences is treated as part of the indentation.
181+
182+
### Linting of Haskell source code
163183

164-
Note that stack contributors need not dogmatically follow the suggested hints
165-
but are encouraged to debate their usefulness. If you find a hint is not useful
166-
and detracts from readability, consider marking it in the
184+
The HLint configurations is set out in `.hlint.yaml`.
185+
186+
Stack contributors need not follow dogmatically the suggested HLint hints but
187+
are encouraged to debate their usefulness. If you find a HLint hint is not
188+
useful and detracts from readability of code, consider marking it in the
167189
[configuration file](https://github.com/commercialhaskell/stack/blob/master/.hlint.yaml)
168190
to be ignored. Please refer to the
169191
[HLint manual](https://github.com/ndmitchell/hlint#readme)
@@ -180,15 +202,11 @@ your favourite text editor. Refer to the HLint repository for more details.
180202

181203
To install:
182204

183-
```
184-
stack install hlint
185-
```
205+
stack install hlint
186206

187207
Once installed, you can check your changes with:
188208

189-
```
190-
$ ./etc/scripts/hlint.sh
191-
```
209+
$ ./etc/scripts/hlint.sh
192210

193211
## Testing
194212

0 commit comments

Comments
 (0)