Our stack Miscellaneous tech

Here's a list of technologies that we prefer to use based on this scale:

Experimental - We're still playing around with this, and we feel very optimistic about it. Try it out!
Recommended - We'd use this hotness on all projects if we can!
Good - It's still a good choice, but consider better solutions for newer projects.
Sunsetting - We maintain projects with these, but don't start new projects with this anymore.
Avoid - Our poor experience with this tell us to stay away unless absolutely necessary.

Static site generators

Gatsby

High-performance, but very high learning curve.

Metalsmith

Extensible af

Middleman

Also extensible af, but it's Ruby

Jekyll

Works well enough, but limited growth potential.

Linting

Stylelint

Use this with `stylelint-rscss`!

Prettier

Code formatting for CSS, JS, Sass, and Markdown

Eslint

Use this with eslint-config-standard

mix format (Elixir 1.6+)

Automate the code styles for Elixir.

Credo (Elixir)

Catches static compilation warnings.

Rubocop

Code linting for Ruby.

Standard

Better to use Eslint + eslint-config-standard because it has better tooling.

jshint

Old news, use Eslint instead.

JavaScript tools

Flow

We should use it more, we don't use it enough!

Dev tools

Docker (for development)

Great way to maintain parity between different development environments.

Markup

Pug

Supports Elixir and JavaScript

Haml

Still the best option for Ruby, but use pug if it's available.

EEX / ERB

Consider Pug/Haml instead.