Back to Blog
Engineering March 01, 2026 | 10 min read

Elixir Development Standards v2.0: Complete File Excellence

Every public function documented, doctested, benchmarked - no exceptions

Prismatic Intelligence

Prismatic Platform

The Complete File Excellence Standard


Version 2.0 of the Elixir Development Standards raises the bar from "good code" to "complete code." Every public function in the platform must meet six mandatory requirements.


The Six Requirements


A. Complete Implementation

Every public function must be fully operational. No partial implementations, no deferred logic, no conditional stubs. If a function exists in the public API, it works completely.



# Required: Full implementation

@doc "Calculates risk score based on multiple weighted factors."

@spec calculate_risk(map()) :: {:ok, float()} | {:error, atom()}

def calculate_risk(%{factors: factors} = params) do

weighted_scores =

Enum.map(factors, fn {factor, value} ->

weight = fetch_weight(factor)

value * weight

end)


total = Enum.sum(weighted_scores) / max(length(weighted_scores), 1)

{:ok, Float.round(total, 4)}

end


B. Documentation (@doc)

Every public function has a @doc string explaining what it does, its parameters, return values, and at least one example. Documentation is not optional.


C. Doctests

Every @doc includes at least one iex> doctest that serves as both documentation and a living test. These are verified by mix test --only doctests.



@doc """

Normalizes a confidence score to the 0.0-1.0 range.


Examples


iex> normalize_confidence(0.85)

0.85


iex> normalize_confidence(1.5)

1.0


iex> normalize_confidence(-0.3)

0.0

"""


D. Type Specifications (@spec)

Every public function has a complete @spec annotation. Complex types use @type definitions. Dialyzer validates all specs at compile time.


E. Benchmarks

Performance-critical functions (query, search, calculate, transform, process, analyze, parse, encode, decode, serialize, compress) have Benchee benchmark coverage in bench/.


F. Folder README

Every directory containing Elixir source files has a README.md documenting its purpose, the modules it contains, and their relationships.


Enforcement


The standards are enforced through:


  • Pre-commit hooks - Block commits missing any of the six requirements
  • 2. Quality gates - mix quality.gates validates all standards

    3. CI/CD pipeline - Automated validation on every push

    4. Agent protocols - All AIAD agents must comply


    Why This Matters


    When every function is documented, tested, typed, and benchmarked from creation, the platform achieves:


  • Self-documenting codebase - New developers can understand any module by reading its docs
  • Living documentation - Doctests ensure docs never drift from implementation
  • Type safety - Dialyzer catches type errors at compile time
  • Performance awareness - Benchmarks prevent accidental performance regressions
  • Navigable architecture - README.md files provide a guided tour of the codebase

  • This is the difference between code that works and code that endures.




    Elixir Development Standards v2.0 - Because "it compiles" is not enough.


    Tags

    elixir standards documentation doctest benchmarks typespecs