Does that include Emberjs code? Because I suck hard at this one, especially when faced with Discourse codebase (own idioms etc.)
I saw the new architecture and it’s great for small plugins.
The gemified engine still seems like a better approach if the plugin is about to be bigger than a one-screener, especially if it’s going to have own migrations (and models etc.), as the shoutbox will most probably be.
In my opinion the current approach, discourse-is-an-app (and not a mountable rails engine that can be further customized with extending gems, like Spree is) means it is going to be very hard to manage customizations and dependencies. Last time when merging upstream master I had to remove Capistrano from Gemfile (and re-add it after merge).
I can bet Discourse is going to move to Mountable approach (it’s easy, not much work beyond adding lib/engine.rb) and it will happen sooner than later 