dv - Discourse Vibe - https://github.com/samsaffron/dv is a tool I have been building that lets you easily work on multiple pre-configured Discourse dev containers.
I built it to make it easier to work with AI agents, but as time progresses it is doing more and more things.
Among the things it can do:
Checkout a PR in a container
Extract and import code into a container
Run multiple Discourse Dev instances on multiple ports
Run a large amount of AI agents inside containers
and lots more
Over the weekend I built a nifty helper to help configure AI inside a running dev container.
To run this on your own machine.
Install docker
Run the install script in the dv Readme (or go build it)
Run dv build (if you have ample memory) or dv pull if you are memory contrained. This will give you the base image.
Run dv new some-name (dv ls to list cotainers)
Run dv config ai and configure your llm using the tui
Thanks for this! I understand enough to see that this might be very interesting for me but I’m missing some knowledge blocks to allow me to really understand what this really does and how I can make use of it.
Would you mind giving a little more “non-developer” context? (I’m a tinkerer: never too sure how to describe my skills in that department… not fluent for coding in any way, but “understand” enough basic principles that I was able to struggle through writing a few basic WordPress plugins back in the day, I know some command-line stuff, understand simple coding and server administration… what I’m seeing of AI is making me dream that I will finally get closer to being able to execute some of my projects!)
Run multiple Discourse Dev instances on multiple ports
This seems great Sam. Have not yet installed. I have struggled significantly with running multiple Discourse instances using docker on an Ubuntu server. I use Caddy for reverse proxy.
I think my main goal would be to try to mirror a live Discourse instance in DEV to work on custom items before pushing them live. Preferably on a separate domain name.
Does this need to be installed first and then install new discourse instances and configure or could it be installed to work with existing installations and then add more. Not sure if Caddy is the best for DNS management for using this configuration or something else would be the better choice?
dv tries to be an end-to-end tool. It manages the proxy and everything, for example I keep my instances on XYZ.home.arpa.
You would configure multiple containers with dv and use dv catchup to update them to latest which would take care of updating plugins and core.
At the bottom everything is just docker containers, you can wrestle them into any shape you need, including importing data, running custom commands and so on.
This is very much predominantly a “developer/designer first” environment. You could dv build → dv new something → dv ra codex and work your way around, but this is not attempting to bring engineering to the masses, it is trying to create lots of isolated pods of development on your machine as a power user feature for engineers/designers.
Thanks, that’s clear, if it’s for people who want to be able to juggle multiple development environments, then definitely not for me (I’m still wondering if I should set one up )