/ash

A declarative, extensible framework for building Elixir applications.

Primary LanguageElixirMIT LicenseMIT

Logo Logo

Elixir CI License: MIT Hex version badge Hexdocs badge

Ash Framework

Welcome! Here you will find everything you need to know to get started with and use Ash. This documentation is best viewed on hexdocs.

Dive In

About the Documentation

Tutorials walk you through a series of steps to accomplish a goal. These are learning-oriented, and are a great place for beginners to start.


Topics provide a high level overview of a specific concept or feature. These are understanding-oriented, and are perfect for discovering design patterns, features, and tools related to a given topic.


How-to guides are goal-oriented recipes for accomplishing specific tasks. These are also good to browse to get an idea of how Ash works and what is possible with it.


Reference documentation is produced automatically from our source code. It comes in the form of module documentation and DSL documentation. This documentation is information-oriented. Use the sidebar and the search bar to find relevant reference information.

Tutorials


Topics

About Ash

Resources

Actions

Security

Development

Advanced


How-to


Reference

Packages

The Ash ecosystem consists of numerous packages, all of which have their own documentation. If you can't find something in this documentation, don't forget to search in any potentially relevant package.

Data Layers

API Extensions

Web

Finance

Resource Utilities

  • AshOban | Background jobs and scheduled jobs for Ash, backed by Oban
  • AshArchival | Archive resources instead of deleting them
  • AshStateMachine | Create state machines for resources
  • AshPaperTrail | Keep a history of changes to resources
  • AshCloak | Encrypt attributes of a resource

Admin & Monitoring

Testing

  • Smokestack | Declarative test factories for Ash resources