1.3 KiB
1.3 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Build/Test Commands
- Setup:
mix setup
,mix deps.get
,mix ecto.setup
- Run server:
mix phx.server
- Tests:
mix test
,mix test path/to/test_file.exs
,mix test path/to/test_file.exs:line_number
- Format/Lint:
mix format
,mix credo
- Assets:
mix assets.setup
,mix assets.build
,mix assets.deploy
Code Style Guidelines
- Formatting: Max line length 120, use
mix format
- Naming: snake_case for variables/functions, descriptive module namespacing (Core.Accounts.User)
- Organization: Boundary-driven modules (core/, schema/, web/)
- Error handling: Return {:ok, result} or {:error, changeset} tuples, pattern matching
- Testing: Descriptive test names, fixtures, shared setup, tagged tests
- Imports: Organize at top, import frequently used functions, follow boundary pattern
- Documentation:
@doc
for public functions,@moduledoc false
for internal modules - Use
@impl
for callback implementations - Styling: Prefer CSS/tailwind based styling using things like group, first:, focus:, hover:, etc. to any sort of dynamic classes using Elixir or JavaScript
- All data should be microformat2 compatible
- Use lists of classes instead of string interpolation