Clojure structural ops: outline, nested find/replace, extract to new ns, fix-declares, deps tree, topo sort, form move, namespace rename, and CLJC operations — babashka + rewrite-clj
Inspect and modify Clojure, ClojureScript, and CLJC structurally with the clj-surgeon CLI. Use for outlining large namespaces, mapping dependencies, finding or replacing nested forms, extracting forms, eliminating declares, moving forms, renaming namespaces, or performing deterministic CLJC operations. Prefer it when textual search or patching would be ambiguous, formatting-sensitive, or context-expensive.