Post-formatter, post-linter Clojure cleanup

formsmith

A Clojure-native beauty pass for code that already runs, already formats cleanly, and still reads a little shallow.

The gap after ordinary tooling

Formatters normalize shape. formsmith works on idiom.

`clj-kondo` and formatters should run first. `formsmith` sits after them and targets local forms that are correct but weaker than the idiomatic Clojure shape.

The current pre-beta surface is intentionally narrow: safe local rewrites, analyzer-guarded rewrites, proof-backed certified fixes, LLM refactor contracts, and informational framework profiles.

Actual product surface

Inspect the rewrite before it touches a file.

Before src/ui.cljs
After / output preview
clojure -M -m formsmith.main fix --check .

Trust boundary

Different certainty levels get different outputs.

syntax-safe

Default autofix

Local mechanical rewrites that `formsmith fix` can apply conservatively.

analyzer-guarded

Static facts required

Rewrites enabled only when analyzer facts prove the supported guard.

certified

Proof-backed nucleus

Certified fixes carry a proof id and are checked against the proof registry.

llm-refactor

Suggested, not forced

Useful refactors whose behavior cannot be proven locally become structured LLM tasks.

Current supported surface

See every public rule family at a glance.

The capability atlas shows representative before/after examples, warnings, framework profiles, and protected no-fix cases for the current pre-beta surface.

Use it to understand what `formsmith` can autofix today, what it only reports as an LLM refactor contract, and what it intentionally leaves unchanged.

Open capability atlas

Repo-only first run

The first-run demo is part of the product.

$ bb validate-cold-start
cold-start validation passed
lint_summary=files=3 changed=0 findings=9
check_summary=files=3 changed=2 findings=7
preview_summary=files=3 changed=2 findings=7
aggressive_preview_summary=files=1 changed=1 findings=4

Pre-beta distribution

Install from the versioned GitHub source release.

{:aliases
 {:formsmith
  {:extra-deps {io.github.M-simplifier/formsmith
                {:git/url "https://github.com/M-simplifier/formsmith.git"
                 :git/tag "v0.1.0-pre.7"
                 :git/sha "decbd33310ada782d9097c195284a1ad9dcd4e39"}}
   :main-opts ["-m" "formsmith.main"]}}}