Rule Architecture

Dependency Injection

Inject dependencies instead of importing them directly

testingcouplingdesign
CLAUDE.md

Inject dependencies instead of hardcoding imports when the dependency is something you’d want to swap in tests — databases, HTTP clients, external services. Don’t over-apply this to simple utilities.

Copy this block into your CLAUDE.md or agent config file to enforce it in your workflow.

get crystl