![Elixir CI](
[![License: MIT](](
[![Hex version badge](](
[![Hexdocs badge](](

# AshPhoenix

Welcome! This is the package for integrating [Phoenix Framework]( and [Ash Framework]( It provides tools for integrating with Phoenix forms (`AshPhoenix.Form`), Phoenix LiveViews (`AshPhoenix.LiveView`) and more.

## Installation

Add `ash_phoenix` to your list of dependencies in `mix.exs`:

{:ash_phoenix, "~> 2.0.4"}

## Whats in the box?

- `AshPhoenix.Form` - A form data structure for using resource actions with phoenix forms
- `AshPhoenix.Form.Auto` - Tools to automatically determine nested form structures based on calls to `manage_relationship` for an action.
- `AshPhoenix.FilterForm` - A form data structure for building filter statements
- `AshPhoenix.LiveView` - Helpers for querying data and integrating changes
- `AshPhoenix.SubdomainPlug` - A plug to determine a tenant using subdomains for multitenancy
- `AshPhoenix.FormData.Error` - A protocol to allow errors to be rendered in forms
- `Phoenix.HTML.Safe` implementations for `Ash.CiString`, `Ash.NotLoaded` and `Decimal`
- `AshPhoenix.SubdomainPlug` for multitenant subdomain-based applications.
- `mix` for generating liveview modules
- `mix ash_phoenix.gen.html` for generating controllers and views

## Tutorials

- [Getting Started with Ash and Phoenix](documentation/tutorials/

## Topics

- [Union Forms](documentation/topics/