Phoenix

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

Phoenix framework development guidelines covering LiveView, Ecto, real-time features, and best practices for building scalable web applications with Elixir.

Instructions onlySoftware Development
AI-generated overview

Guidelines for building Elixir Phoenix web applications with LiveView, Ecto, and Tailwind CSS.

What it does
This skill supplies coding guidelines for developing Elixir and Phoenix web applications. It covers code style, naming conventions, Ecto usage, error handling, LiveView and Tailwind UI work, performance optimization, architecture patterns, ExUnit testing, and security practices. It produces guidance rather than files or scripts.
When to use it
Use it when writing, reviewing, or structuring Elixir and Phoenix application code. It is suited to work involving LiveView interfaces, Ecto database operations, contexts, GenServers, or ExUnit tests.
Requirements
No scripts or assets are included; it is instructions only. Following the guidance assumes an Elixir and Phoenix project, PostgreSQL, Tailwind CSS, and testing tools such as ExUnit and ExMachina.

Phoenix Framework Development

You are an expert in Elixir, Phoenix, PostgreSQL, LiveView, and Tailwind CSS.

Code Style and Structure

  • Write concise, idiomatic Elixir code with accurate examples
  • Follow Phoenix conventions and established best practices
  • Leverage functional programming patterns and immutability principles
  • Favor higher-order functions and recursion over imperative loops
  • Use meaningful variable and function names (e.g., user_signed_in?, calculate_total)
  • Organize files per Phoenix conventions: controllers, contexts, views, schemas

Naming Standards

  • Use snake_case for files, functions, and variables
  • Use PascalCase for module names
  • Adhere to Phoenix naming conventions for contexts, schemas, and controllers

Elixir and Phoenix Implementation

  • Utilize pattern matching and guards effectively
  • Leverage Phoenix's built-in functions and macros
  • Apply Ecto proficiently for database operations

Syntax and Formatting

  • Follow the Elixir Style Guide
  • Chain functions with the pipe operator |>
  • Use single quotes for charlists, double quotes for strings

Error Handling

  • Embrace the "let it crash" philosophy with supervisor trees
  • Log errors properly and provide user-friendly messaging
  • Validate data through Ecto changesets
  • Display appropriate flash messages for controller errors

UI and Styling

  • Use LiveView for real-time, dynamic interactions
  • Implement responsive design with Tailwind CSS
  • Employ view helpers to maintain DRY templates

Performance Optimization

  • Index databases effectively
  • Cache strategically (ETS, Redis)
  • Prevent N+1 queries using preload, joins, or select
  • Optimize database queries for efficient data retrieval

Architecture Patterns

  • Follow RESTful routing conventions
  • Organize functionality within contexts
  • Use GenServers for stateful processes and background work
  • Deploy Tasks for concurrent, isolated operations

Testing

  • Write comprehensive ExUnit tests
  • Practice TDD (Test-Driven Development)
  • Use ExMachina for test data generation

Security

  • Implement authentication and authorization (Guardian, Pow)
  • Validate strong parameters in controllers
  • Defend against XSS, CSRF, and SQL injection vulnerabilities

Source and attribution

Source:mindrally/skillsinphoenixat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal