Epistemic Status: seedling Sprouting - This is a zettelkasten-style card about a concept I’m interested in remembering.


What I’m calling a project workbook_ is a Livebook notebook used for interactively developing a project, basically in place of using iex -S mix. I’ve found this is easier to work with since it stores the history better.

Importing the project can be done with this “install” block:

app_root = Path.join(__DIR__, ".")
 
Mix.install(
  [
  # Add dependencies here
  ],
  # Add this line if it makes sense to use it
  config_path: Path.join(app_root, "config/config.exs"),
  lockfile: Path.join(app_root, "mix.lock"),
  # If you implement any protocols in your project, you'll need this
  # though it might have a performance impact.
  consolidate_protocols: false
)