# mob_ash v0.1.1 - Table of Contents

> Resource-driven Mob screens from Ash: declare Ash resources, get list/detail/create screens on device

## Pages

- [mob_ash](readme.md)

## Modules

- [MobAsh](MobAsh.md): Resource-driven Mob screens from Ash.
- [MobAsh.DetailScreen](MobAsh.DetailScreen.md): Shared parameterized detail screen: `Ash.get!/2` of the route-bound
`:resource` by `:id`, one labelled row per display attribute, plus Delete
(`Ash.destroy!/1` → pop).

- [MobAsh.FormScreen](MobAsh.FormScreen.md): Shared parameterized create form: one `<TextField>` per writable scalar
attribute of the route-bound `:resource`; Create runs the resource's
primary create action via `Ash.create!/1` and pops back.

- [MobAsh.Generator](MobAsh.Generator.md): Spec-v2 screens generator: runs at BUILD time inside the host project (under
mob_dev's host-config audit) and emits three route entries per Ash resource,
each pointing at a shared parameterized screen with the resource module as
route-bound `:params` (delivered to `mount/3` by core navigation).

- [MobAsh.Info](MobAsh.Info.md): Pure Ash-introspection helpers the generator and the shared screens build
on. Kept public + side-effect free so the resource→UI mapping is unit-
testable without a device (and without mob_dev).

- [MobAsh.ListScreen](MobAsh.ListScreen.md): Shared parameterized list screen: reads every record of the route-bound
`:resource` via `Ash.read!/1` and renders one tappable row per record
(tap → detail). The `:resource` arrives in `mount/3` params either from the
generated route (route-bound params) or `MobAsh.navigate/3`.

