on master help sign in
contributing: Improve dev env docs
f73c6e9Elliot Cameron
CONTRIBUTING.md+13−6
@@ -82,31 +82,38 @@ The readme is the first place a lot of people look for information about the rep
82
82
83## Development Environment
83## Development Environment
84
84
85−You can use `ghcid` for live feedback as you develop Obelisk libraries. To launch `ghcid` for `lib/backend` project, for example:
85+There are two ways to get live compiler feedback while developing Obelisk libraries. For libraries that are dependencies of the `skeleton` application, the easiest way to get feedback is to
86
86
87```bash
87```bash
88−nix-shell -A obeliskEnvs.obelisk-backend --run "cd lib/backend && ghcid"
88+cd skeleton
89+ob run
89```
90```
90
91
92+This `ob run` session only loads modules that are dependencies of the skeleton and `obelisk-run`. For example, `obelisk-asset` and `obelisk-route` are used by the skeleton.
93+
91−Or to launch `ghcid` for `lib/command` project:
94+For other libraries like `obelisk-command` you can use `ghcid`. To launch `ghcid` for `lib/command` you can run
92
95
93```bash
96```bash
94nix-shell -A obeliskEnvs.obelisk-command --run "cd lib/command && ghcid"
97nix-shell -A obeliskEnvs.obelisk-command --run "cd lib/command && ghcid"
95```
98```
96
99
100+### Building `ob` for testing
101+
97−To re-install `ob` from source do
102+To re-install `ob` from source globally you can do
103+
98```bash
104```bash
99nix-env -f /path/to/obelisk -iA command
105nix-env -f /path/to/obelisk -iA command
100```
106```
101
107
102−You can also open a shell with the local version of `ob` available on your `PATH`:
108+You can also open a shell with the local version of `ob` available on your `$PATH`:
103
109
104```bash
110```bash
105nix run -f /path/to/obelisk command
111nix run -f /path/to/obelisk command
106```
112```
107
113
114+### Hacking on Obelisk from within an Obelisk project
108
115
109−Note that `ob` will defer to the version found in your project's `.obelisk/impl` directory. To update that version specifically:
116+`ob` will defer to the version found in your project's `.obelisk/impl` directory. To work on that version specifically:
110
117
111```bash
118```bash
112ob thunk unpack ./.obelisk/impl
119ob thunk unpack ./.obelisk/impl