on master help sign in
Add a section on Development Workflow
f2ccd0eGuru Devanla
CONTRIBUTING.md+24
@@ -58,3 +58,27 @@ import Foo as F
58import Qux (Q(..), q)
58import Qux (Q(..), q)
59import qualified A
59import qualified A
60```
60```
61+
62+
63+## Development Workflow
64+
65+Here we outline a general workflow new contributors could adopt for a nice incremental development experience.
66+
67+The root folder consists of two stack-*.yaml config files.
68+
69+1. stack-night.yaml - Config file defines all the settings to build and test any changes.
70+2. stack-bench.yaml - Used to run benchmark tests.
71+
72+Therefore, a ghci development experience would be:
73+
74+1. `stack ghci --stack-yaml stack-nightly.yaml --test`
75+2. :r to reload
76+3. `main` to run all tests, or `:main --pattern Foo` to run specific tests matched by pattern.
77+
78+Some discussion on this topic can also be found here #733.
79+
80+Of course before submitting a PR, the following steps are recommended:
81+
82+1. Run the entire suite of tests and benchmarks.
83+2. Run hlint on the source folders. (Note: the 4 space indentation specified at the top of this document)
84+