Skip to content

Roadmap to 1.0

A lot of Brut is solid, but there's several things missing from what I would call a 1.0 release. Here are some ideas of what I think is needed:

Better Dev Experience

  • The output of bin/dev isn't great.
  • otel-desktop-viewer is cool, but not the easiest to figure out issues as compred to good 'ole logging.
  • Error pages in the app are really bad.
  • CLI apps are OK, but could be fancier.

More Tests

  • Unit tests for all/most classes are needed. There's only a few now.
  • Integration test of mkbrut, all automated.
  • Web component/custom element tests need to be re-thought.
  • Test output is a wall of text stack trace and this sucks.
  • Improvements in access to Playwright features.
  • Playright is the worst E2E testing tool except all the rest. Would love a better option here.

More Complete Web Features

  • Content security policy doens't allow for hashes, which can be limiting in some situations. I want everyone to be running with a CSP, so it has to be configurable to some degree.
  • Websockets, server-push, etc. should be possible or at least have a recipe.
  • Learn more about importmaps.

Client-Side Improvements

BrutJS is woefully incomplete. I'd like developers to be able to accomplishe certain tasks without needing a framework:

  • Hooks into asset building to e.g. enable TailwindCSS or other tools.
  • Better use of fetch in more situations
  • Server-generated HTML replacement
  • Better support for "API" style back-end when a framework is going to be used.

Deployment

Out of the box support for more deployment mechanism, at least:

  • Normal Heroku/Procfile-based deploy
  • Digital Ocean-style hosting
  • VPS?

Documentation

  • More recipes for how to do things
  • More complete API docs with examples
  • A unified look and feel across the board
  • Get rid of VitePress for something less client-heavy, but still great
  • Dash-accessible API docs

Misc

  • More direct Sidekiq support