Two weeks ago, We asked for feedback on how to encourage more developer contributions to Bonfire, an open-source framework for building federated digital spaces. We received valuable feedback from the Elixir community and are still digesting it internally.
As a first step, we’ve decided to address some of the challenges mentioned in the thread through a series of Expeditions (1-hour 1-to-1 calls with Elixir developers).
These expeditions aim to improve different aspects of the Bonfire framework and pave the way for the awaited 1.0 release by co-designing missing pieces with communities and developers.
The first expedition, named Surveying, focuses on addressing documentation, onboarding, and developer experience. We’ve published a blog post to explain it in more detail: Bonfire Expeditions - Collaborating to Release Version 1.0
Before each call, we share a document with the participant to provide relevant details about the expedition, prerequisites, and tasks they’ll address during the session.
We document all the feedback and ideas received during the session. In this thread, I will report the feedback (without naming participants for privacy reasons) and the actions we take to iteratively improve the process.
This is an ongoing effort, and we’ll use this thread to track our work on DX and documentation. Any feedback is more than welcome. If you want to join the expedition, you can DM me on this forum or write a email to team@bonfire.cafe.
We categorized the feedback in 4 different categories: Confusing, Annoying, Errors, Improvements
Confusing
- Documentation for running Bonfire locally is unclear and scattered across multiple sections and places, making it hard to follow.
- There is no simple way to share the signup confirmation link with users locally.
- Need to clone
bonfire_sparkto add new extension routes to the main router (This info is currently missing in the docs). - Running
dep-clone-localreturns errors even if the task is successful. - Unclear purpose of the
declare_nav_linkmacro. - Unable to determine if a locally cloned extension is active.
- Confusion regarding
deps.path&deps.flavour.pathfiles and what to update.
Annoying
- Long compilation time when running
setup-dev. - Numerous warnings appear during the
setup-dev, and most of their sources are unclear. - Missing secrets generation part in the documentation.
- More information needed about which secrets refer to what.
- Server needs to be stopped and restarted after adding an extension.
Errors
- App breaks if an active PostgreSQL is running locally, as it defaults to that instead of the Docker one.
- Duplicated ports in
docker-compose.ymlreturn an error. - The
just secretscommand only generates secrets, the user expects that the command automatically includes the secrets in the.envfile just mix bonfire.account.newreturns an error.generate_reverse_routerreturns an error.privdirectory error (:code.priv_dir at compile time and releases - #7 by sodapopcan).- When cloning
bonfire_spark,deps.pathneeds to be renamed asbonfire. - Cache of logged-out pages prevents seeing updates.
deps.flavour.pathwas not aliased in./configduring thejust setup-devcommand.
Possible Improvements
- Use exdocs as the only source of truth for developer documentation
- Improve the Installation doc to have a more linear flow for installing Bonfire locally.
- Make compiling disabled extensions / from all flavors optional to speed up the
setup-devcommand. - Automatically add secrets to
.envwhen running thejust secretscommand. - Remove the info about signing up via CLI since it’s straightforward to create a new user via GUI.
- Use Hex to get all deps instead of Git to make the setup faster.
- Rename
bonfire_sparkextension to justbonfire. - Add more info about the extensions that are enabled locally.
- Add more documentation for the various files in
config/flavourand how they’re used. - Add a check for
{:error, _}and use default pathways to prevent theprivdirectory error.






















