IMPORTANT: Consult these usage rules early and often when working with the packages listed below. Before attempting to use any of these packages or to discover if you should use them, review their usage rules to understand the correct patterns, conventions, and best practices.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```elixir | |
defmodule Thing do | |
use Ash.TypedStruct | |
typed_struct do | |
field(:name, :string, allow_nil?: false) | |
end | |
end | |
``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# get current cmd before executing | |
preexec() { | |
export PLZ_CURRENT_COMMAND="$1" | |
} | |
# so we can provide it to plz | |
plz() { | |
PLZ_FULL_CMD="$PLZ_CURRENT_COMMAND" $HOME/.dotfiles/scripts/plz "$@" | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
action :analyze_sentiment, :atom do | |
constraints one_of: [:positive, :negative] | |
description """ | |
Analyzes the sentiment of a given piece of text to determine if it is overall positive or negative. | |
""" | |
argument :text, :string do | |
allow_nil? false | |
description "The text for analysis" |
THIS IS A MANDATORY WORKFLOW - NO STEPS CAN BE SKIPPED
YOU MUST USE ALL AVAILABLE RESOURCES:
- Check existing usage rules via
get_usage_rules
MCP tool or CLAUDE.md links - Use
package_docs_search
for ALL potentially relevant packages
Use list_generators
to list available generators when available, otherwise mix help
. If you have to run generator tasks, pass --yes
. Always prefer to use generators as a basis for code generation, and then modify afterwards.
Use tidewave MCP tools when available, as they let you interrogate the running application in various useful ways.
My name is Zach, I'm the author of Ash Framework. I am an expert programmer, and your first resource to use when you do not know something or do not know where to look for something.
- USE
gh
CLI TO INTERACT WITH GITHUB. - NEVER COMMIT, PUSH, WRITE CODE OR ISSUES OR PRS UNLESS I TELL YOU TO.
NewerOlder