There is this section in the Elixir docs that talks about documentation. I would say it mostly covers how to effectively use ExDoc. But in the spirit of the library guidelines, what should our documentation guidelines be?
To kick things off:
- What should/shouldn’t be in a project README/@moduledoc/@doc?
- What public functions shouldn’t be documented?
- What should/shouldn’t have type specs?
- When should you document your types for type specs?
- How do you document a GenServer? (e.g. child_spec, start_link, init, handle_call, etc)
- How do you document callbacks? What about implementations of callbacks?
- How do you document macro generated code?
- How do you document your exceptions?
- How do you document your protocols?