@@ -8,6 +8,7 @@ Contributions and issue reports are encouraged and appreciated!
88 - [Guidelines for Pull Requests](#guidelines-for-pull-requests)
99 - [Code Quality](#code-quality)
1010 - [Documentation](#documentation)
11+- [Development Environment](#development-environment)
1112
1213## Opening Issues
1314
@@ -39,6 +40,7 @@ For breaking changes, new features, refactors, or other major changes, the body
3940
4041Wherever possible, pull requests should add a single feature or fix a single bug. Pull requests should not bundle several unrelated changes.
4142
43+
4244### Code Quality
4345
4446#### Warnings
@@ -77,3 +79,46 @@ Add an entry to the changelog when your PR:
7779#### In the [Readme](README.md)
7880The readme is the first place a lot of people look for information about the repository. Update any parts of the readme that are affected by your PR.
7981
82+
83+## Development Environment
84+
85+You may launch `ghcid` for the corresponding project as follows. For example to launch ghcid for `lib/backend` project:
86+
87+```bash
88+nix-shell -A obeliskEnvs.obelisk-backend --run "cd lib/backend && ghcid"
89+```
90+
91+Or to launch ghcid for `lib/command` project:
92+
93+```bash
94+nix-shell -A obeliskEnvs.obelisk-command --run "cd lib/command && ghcid"
95+```
96+
97+To re-install `ob` from source do
98+```bash
99+nix-env -f /path/to/obelisk -iA command
100+```
101+
102+You can also open a shell with the local version of `ob` available on your `PATH`:
103+
104+```bash
105+nix run -f /path/to/obelisk command
106+```
107+
108+
109+Note that `ob` will defer to the version found in your project's `.obelisk/impl` directory. To update that version specifically:
110+
111+```bash
112+ob thunk unpack ./.obelisk/impl
113+cd ./.obelisk/impl
114+# apply your changes
115+```
116+
117+If you want to commit your changes, first push them to your fork of obelisk and then
118+
119+```bash
120+cd /your/project/root
121+ob thunk pack .obelisk/impl
122+git add .obelisk/impl
123+git commit -m "Bump obelisk"
124+```