Scala has a well-known problem: it can be written in many styles, from Java-with-semicolons to pure functional with category theory abstractions. AI assistants without explicit guidance default to the most common patterns in their training data — which is often Java-style Scala from older codebases. The result: mutable variables, null checks, raw Future.map chains without proper error handling, and classes where case classes belong. A CLAUDE.md file tells the AI which Scala you're writing. Here are the 13 rules that matter most. Rule 1: Scala version and style target Scala version: 3.x (Scala 3 syntax — no Scala 2 `implicit` keyword, use `given` / `using` ). Style: functional-first. Immutable by default. Effects tracked explicitly. Framework: [Akka / ZIO / Cats Effect / Play — specify yours] Build: sbt with explicit dependency versions pinned in build.sbt. Enter fullscreen mode Exit fullscreen mode Scala 3 changed the syntax for implicits, extension methods, and type classes significantly.…