What problem does it solve?
It prevents slow, invasive debugging cycles in Clojure by replacing print/log-driven troubleshooting with fast REPL-based inspection.
Core Features & Use Cases
- Stop Before Logging: Redirects attempts to add println, tap>, or log statements toward non-invasive investigation.
- Inline Inspection with def: Captures intermediate values in the REPL and inspects structure via normal Clojure access patterns.
- Integrant Component Lifecycle Awareness: Helps you reset Integrant components when code changes would otherwise be masked by already-running instances.
Use clj-debug when a test fails, behavior is unexpected, or you need to verify what a transformation pipeline is doing without touching the source file.
Quick Start
Use clj-debug to reproduce the failure in /brepl, pin the relevant intermediate values with def, inspect their keys and structure, and only then adjust your code if needed.