This is a potpourri of tools and resources I found valuable when working with Elm. A list containing useful tools that will help in your day to day work and links to learn Elm as well as to deepen your knowledge.

Try Elm is an online editor and runtime for Elm code. The official examples use it to display a rendered version and you can modify and recompile the code to see the changes. You can use this environment to quickly test single file Elm code snippets.

The online elm-repl is a live version of the elm-repl. Similar to “Try Elm” it can be used to try code snippets in the browser.

As its name says, elm-format formats your source code according to a standard set of rules. It makes code easier to write, because you never have to worry about formatting concerns. It makes code easier to read, because there are no longer distracting stylistic differences between code bases. It also has a great README showing the editor integrations.

There is a Dash Docset for Elm that is hiding inside the User Contributed section of the Downloads pane. The link leads to the Elm Docset generator that can be used in case the docs are outdated or you want to modify the docset.

HTML to Elm is an online converter for HTML: You can type or paste some HTML and it generates the according Elm HTML.

JSON to Elm can generate pipeline-style decoders from raw JSON. You can paste some JSON and it will give you the Elm code for decoding it using the Json.Decode.Pipeline functions.

Elm Oracle intends to be a standalone program that can be used by all editor plugins to query information about a project’s source code. You can use it to query for information about values in Elm source files.

elm-webpack-starter gets you going with a boilerplate Webpack config for developing Elm apps. It has a dev server with live reloading, hot module replacement and a production build step for exporting your app.

elm-new is a CLI tool that generates a file hierarchy for starting a new Elm project. It brings you up to speed and enables you to code right away instead of wasting time with the initial boilerplate.