Ash Framework

The Ash Framework’s official site, ash-hq.org, proclaims, "Model your domain, derive the rest." While this statement resonates once you’re familiar with Ash, it might not immediately clarify the framework’s essence for newcomers.

Believe me, investing time in understanding Ash is worthwhile. My background is rooted in Ruby on Rails, and I transitioned to Phoenix for its speed and scalability. However, Ash elevates the development process to an other level.

This documentation covers Ash 3.0, which brings major improvements over previous versions. If you’re still using Ash 2.x, note that there are some syntax changes and new features available in version 3.0.

Like the Phoenix Framework the Ash Framework has no shortage of online documentation. But most of it is not beginner friendly and very often a mystery in itself. This book and the @elixir-phoenix-ash YouTube channel is my endeavor to bridge this knowledge gap.

If a section doesn’t resonate with you, skip it. You can circle back later if needed. I recommend reading the book in order (start with resources), but it’s not required.

For feedback or inquiries about training (both onsite and remote), please reach out to me at sw@wintermeyer-consulting.de.

For official support, visit the Ash Framework community on https://elixirforum.com. The community is incredibly welcoming, so don’t hesitate to pose any questions you might have. See you there!

Getting Started

Igniter is the recommended way to get started with Ash. It provides a powerful code generator that handles all the setup and configuration for you, so you can focus on building your application rather than configuring dependencies.

To create a new Ash application, first install the Igniter archive:

$ mix archive.install hex igniter_new

Then create your application with Ash pre-installed:

$ mix igniter.new my_app --install ash

For a Phoenix application with Ash and PostgreSQL support:

$ mix igniter.new my_app --with phx.new --install ash,ash_postgres

You can also use the interactive web installer at https://ash-hq.org/#get-started to create a custom setup command tailored to your needs.

For more details and alternative approaches, see our Ash Setup Guide.