--- name: ash-framework description: "Use this skill working with Ash Framework or any of its extensions. Always consult this when making any domain changes, features or fixes." metadata: managed-by: usage-rules --- ## Additional References - [actions](references/actions.md) - [aggregates](references/aggregates.md) - [authorization](references/authorization.md) - [calculations](references/calculations.md) - [code_interfaces](references/code_interfaces.md) - [code_structure](references/code_structure.md) - [data_layers](references/data_layers.md) - [exist_expressions](references/exist_expressions.md) - [generating_code](references/generating_code.md) - [migrations](references/migrations.md) - [query_filter](references/query_filter.md) - [querying_data](references/querying_data.md) - [relationships](references/relationships.md) - [testing](references/testing.md) - [ash](references/ash.md) - [ash_admin](references/ash_admin.md) - [ash_ai](references/ash_ai.md) - [ash_authentication](references/ash_authentication.md) - [ash_authentication_phoenix](references/ash_authentication_phoenix.md) - [ash_graphql](references/ash_graphql.md) - [ash_json_api](references/ash_json_api.md) - [ash_phoenix](references/ash_phoenix.md) - [ash_postgres](references/ash_postgres.md) - [ash_state_machine](references/ash_state_machine.md) - [ash_typescript](references/ash_typescript.md) ## Searching Documentation ```sh mix usage_rules.search_docs "search term" -p ash -p ash_admin -p ash_ai -p ash_authentication -p ash_authentication_phoenix -p ash_graphql -p ash_json_api -p ash_phoenix -p ash_postgres -p ash_state_machine -p ash_typescript ``` ## Available Mix Tasks - `mix ash` - Prints Ash help information - `mix ash.codegen` - Runs all codegen tasks for any extension on any resource/domain in your application. - `mix ash.extend` - Adds an extension or extensions to the given domain/resource - `mix ash.gen.base_resource` - Generates a base resource. This is a module that you can use instead of `Ash.Resource`, for consistency. - `mix ash.gen.change` - Generates a custom change module. - `mix ash.gen.custom_expression` - Generates a custom expression module. - `mix ash.gen.domain` - Generates an Ash.Domain - `mix ash.gen.enum` - Generates an Ash.Type.Enum - `mix ash.gen.gettext` - Copies Ash's .pot file for error message translation - `mix ash.gen.preparation` - Generates a custom preparation module. - `mix ash.gen.resource` - Generate and configure an Ash.Resource. - `mix ash.gen.validation` - Generates a custom validation module. - `mix ash.generate_livebook` - Generates a Livebook for each Ash domain - `mix ash.generate_policy_charts` - Generates a Mermaid Flow Chart for a given resource's policies. - `mix ash.generate_resource_diagrams` - Generates Mermaid Resource Diagrams for each Ash domain - `mix ash.gettext.extract` - Extracts Ash error messages into a .pot file - `mix ash.install` - Installs Ash into a project. Should be called with `mix igniter.install ash` - `mix ash.migrate` - Runs all migration tasks for any extension on any resource/domain in your application. - `mix ash.patch.extend` - Adds an extension or extensions to the given domain/resource - `mix ash.reset` - Runs all tear down & setup tasks for any extension on any resource/domain in your application. - `mix ash.rollback` - Runs all rollback tasks for any extension on any resource/domain in your application. - `mix ash.setup` - Runs all setup tasks for any extension on any resource/domain in your application. - `mix ash.tear_down` - Runs all tear_down tasks for any extension on any resource/domain in your application. - `mix ash_admin.install` - Installs AshAdmin - `mix ash_admin.install.docs` - `mix ash_ai.gen.chat` - Generates the resources and views for a conversational UI backed by `ash_postgres` and `ash_oban` - `mix ash_ai.gen.chat.docs` - `mix ash_ai.gen.mcp` - Sets up an MCP server for your application - `mix ash_ai.gen.mcp.docs` - `mix ash_ai.gen.usage_rules` - `mix ash_ai.gen.usage_rules.docs` - `mix ash_ai.install` - Installs `AshAi`. Call with `mix igniter.install ash_ai`. Requires igniter to run. - `mix ash_ai.install.docs` - `mix ash_authentication.add_add_on` - Adds the provided add-on to your user resource - `mix ash_authentication.add_strategy` - Adds the provided strategy or strategies to your user resource - `mix ash_authentication.install` - Installs AshAuthentication. Invoke with `mix igniter.install ash_authentication` - `mix ash_authentication.upgrade` - `mix ash_authentication.phoenix.routes` - Prints all routes generated by AshAuthentication Phoenix - `mix ash_authentication_phoenix.install` - Installs AshAuthenticationPhoenix. Invoke with `mix igniter.install ash_authentication_phoenix` - `mix ash_authentication_phoenix.upgrade` - `mix ash_graphql.install` - Installs AshGraphql. Should be run with `mix igniter.install ash_graphql` - `mix ash_json_api.install` - Installs AshJsonApi. Should be run with `mix igniter.install ash_json_api` - `mix ash_json_api.routes` - Prints all routes by AshJsonApiRouter - `mix ash_phoenix.gen.html` - Generates a controller and HTML views for an existing Ash resource. - `mix ash_phoenix.gen.live` - Generates liveviews for a given domain and resource. - `mix ash_phoenix.install` - Installs AshPhoenix into a project. Should be called with `mix igniter.install ash_phoenix` - `mix ash_postgres.create` - Creates the repository storage - `mix ash_postgres.drop` - Drops the repository storage for the repos in the specified (or configured) domains - `mix ash_postgres.gen.resources` - Generates resources based on a database schema - `mix ash_postgres.generate_migrations` - Generates migrations, and stores a snapshot of your resources - `mix ash_postgres.install` - Installs AshPostgres. Should be run with `mix igniter.install ash_postgres` - `mix ash_postgres.migrate` - Runs the repository migrations for all repositories in the provided (or configured) domains - `mix ash_postgres.rollback` - Rolls back the repository migrations for all repositories in the provided (or configured) domains - `mix ash_postgres.setup_vector` - Sets up pgvector for AshPostgres - `mix ash_postgres.setup_vector.docs` - `mix ash_postgres.squash_snapshots` - Cleans snapshots folder, leaving only one snapshot per resource - `mix ash_state_machine.generate_flow_charts` - Generates Mermaid Flow Charts for each resource using `AshStateMachine` - `mix ash_state_machine.install` - Installs AshStateMachine - `mix ash_state_machine.install.docs` - `mix ash_typescript.codegen` - Generates TypeScript types for Ash Rpc-calls - `mix ash_typescript.install` - Installs AshTypescript into a project. Should be called with `mix igniter.install ash_typescript` - `mix ash_typescript.npm_install`