Automic VaultAutomic Vault

brew

Install cljfmt with Homebrew, Nix

Formatting Clojure code. Version 0.16.4 via Homebrew; verified 2026-04-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install cljfmt

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#cljfmt

nixpkgs package indexes · pkgs/by-name/cl/cljfmt/package.nix · source: api.github.com

overview

Package summary

Formatting Clojure code

Commands and aliases

  • cljfmt

history

Project history and usage

cljfmt is a formatter and checker for Clojure code, designed to fix formatting errors with minimal structural changes while following defaults based on the Clojure Style Guide.

Project history

cljfmt is maintained under James Reeves's weavejester namespace. The project presents itself as both a standalone CLI and a Clojure library for detecting and fixing formatting errors in Clojure source.

The changelog shows a long 0.x evolution from Leiningen-era plugin usage toward modern Clojure tooling. Version 0.10.0 added support for `clj -T` tools and Babashka use, 0.10.2 added prebuilt native binaries, 0.11.0 moved important CLI options into configuration, and 0.16.x continued tightening configuration and indentation behavior.

Adoption history

cljfmt's adoption follows Clojure's build-tool culture: the README documents standalone binaries, Homebrew installation, Clojure CLI tools, Leiningen plugin usage, library usage, Babashka tasks, and editor integrations. The batch input records packages in Homebrew and Nix.

Editor integrations listed by upstream include Calva, CIDER, clojureVSCode, and vim-cljfmt, indicating that cljfmt became a formatting backend used beyond direct terminal invocation.

How it is used

Users run `cljfmt check` to detect formatting errors and `cljfmt fix` to rewrite files. Projects can configure behavior through `.cljfmt.edn`, `cljfmt.edn`, or a `:cljfmt` key in Leiningen's `project.clj`.

The indentation documentation explains Clojure-specific rules for macros and forms through `:indents` and `:extra-indents`, which is the core reason cljfmt is more than a generic pretty-printer.

Why package nerds care

cljfmt matters to package nerds because it packages Clojure style policy into a repeatable CLI used in CI, editors, and build tools. The move to prebuilt native binaries also made it friendlier to Homebrew-style formulae, where startup time and dependency weight matter.

For Clojure ecosystems, cljfmt is a representative example of a tool that must straddle Maven coordinates, Git-based Clojure tools, Leiningen plugins, Babashka tasks, standalone binaries, and editor integrations.

Timeline

  • 2014: GitHub repository created.
  • 2023: 0.10.0 adds Clojure CLI tool support and partial Babashka support.
  • 2023: 0.10.2 adds prebuilt native binaries for the CLI.
  • 2023: 0.11.0 splits indentation configuration and removes old CLI configuration keys.
  • 2026: 0.16.0 ignores `.clj` config files by default and adds additional formatting options.
  • 2026: 0.16.4 adds user-configuration validation.

Related projects

  • Related projects include zprint, the Clojure Style Guide, Leiningen, the official Clojure CLI tools, Babashka, Calva, CIDER, clojureVSCode, and vim-cljfmt.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 5 platform targets.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
.cljfmt.edncljfmt.ednproject.clj (:cljfmt key)

executables

Installed executables

CommandKindExposureNote
cljfmtcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.16.4
manager updated2026-04-13
local dataok
upstreamcurrent
latest detected0.16.4

https://github.com/weavejester/cljfmt

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:cljfmt
Version0.16.4
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/cljfmt
Homepagehttps://github.com/weavejester/cljfmt
Repositoryhttps://github.com/weavejester/cljfmt
Upstream docshttps://github.com/weavejester/cljfmt#readme
LicenseEPL-1.0
Source archivehttps://github.com/weavejester/cljfmt/archive/refs/tags/0.16.4.tar.gz
Last updated2026-04-13T18:27:03Z
Pulseupdated
Build dependenciesgraalvm, leiningen
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namecljfmt
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

cljfmt

nix profile install nixpkgs#cljfmt
  • normalized package name match
  • Matched by: Cljfmt
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/cl/cljfmt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment