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

:heart_eyes: High-performance, but very high learning curve.

Metalsmith

:star: Extensible af

Middleman

:warning: Also extensible af, but it's Ruby

Jekyll

:warning: Works well enough, but limited growth potential.

Linting

Stylelint

:heart_eyes: Use this with stylelint-rscss!

Prettier

:heart_eyes: Code formatting for CSS, JS, Sass, and Markdown

Eslint

:heart_eyes: Use this with eslint-config-standard

mix format (Elixir 1.6+)

:heart_eyes: Automate the code styles for Elixir.

Credo (Elixir)

:star: Catches static compilation warnings.

Rubocop

:heart_eyes: Code linting for Ruby.

Standard

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

jshint

:x: Old news, use Eslint instead.

JavaScript tools

Flow

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

Dev tools

Docker (for development)

:boom: Great way to maintain parity between different development environments, but we're still playing around with this.

Markup

Pug

:heart_eyes: Supports Elixir and JavaScript

Haml

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

EEX / ERB

:x: Consider Pug/Haml instead.