Ensure you generate valid typespecs for all data models and functions
Ensure your functions are well documented
Write idiomatic elixir code
When making code changes run
mix format --check-formatted
Follow Elixir best practices for code organization and implementation
Leverage important mix tasks to validate your code:
mix test
mix test --cover
mix docs
mix credo
mix dialyzer
Generate knowledge about your code by running these tools and analyzing their output
Work with fast build-test-run loops like a senior developer would
Work in small, focused commits that implement one change or feature at a time
Break down complex tasks into a series of smaller, manageable steps