# CLAUDE ## General - Don't use emoticons, and try to limit all text to ASCII. - If you use abbreviations, ensure that somewhere at the top of the file the expanded form of the abbreviation is documented. ## Code - DO NOT import code anywhere else than at the top of a code file. - When generating code, use a behavior-driven development cycle as described by the [/tdd](Tech/Agents/Skills/tdd/SKILL.md) skill. - Write clean, self-documenting code with short, clear functions of low complexity. - Prefer narrow interfaces and deep functionality: Always minimize the surface area of interfaces at any level. - Follow the SOLID principles when designing or writing code: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. - Always prefer strongly typed code if possible (Python typing and ty, use TypeScript, etc.). - Don't litter the code with comments, unless the code behavior is not obvious. Use functions with descriptive names to make behavior explicit. ## Dependencies - ONLY ADD DEPENDENCIES WHEN NEEDED. - Do not add dependencies just because they are planned. - Only add a dependency when writing code that needs it. - Only add dependencies ad hoc if the project does not compile or start because of a missing dependency. ## Documentation - When creating code blocks in documentation, do not add comments into the code blocks. Add the comments outside, in the text area.