# Install cljfmt with Homebrew, Nix

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

## Install

```sh
sudo av install brew:cljfmt
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cljfmt
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#cljfmt
```

  Evidence: nixpkgs package indexes: pkgs/by-name/cl/cljfmt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:cljfmt
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/cljfmt>
- **Version:** 0.16.4
- **Source summary:** Formatting Clojure code
- **Homepage:** <https://github.com/weavejester/cljfmt>
- **Repository:** <https://github.com/weavejester/cljfmt>
- **Upstream docs:** <https://github.com/weavejester/cljfmt#readme>
- **License:** EPL-1.0
- **Source archive:** <https://github.com/weavejester/cljfmt/archive/refs/tags/0.16.4.tar.gz>
- **Last updated:** 2026-04-13T18:27:03Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- cljfmt (cli)
- cljfmt (alias)

## Build dependencies

- graalvm
- leiningen

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.16.4
- Package-manager updated: 2026-04-13
- Local data: ok
- Upstream repository: https://github.com/weavejester/cljfmt
- Upstream latest detected: 0.16.4 (current)
## 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.

### Sources

- <https://github.com/weavejester/cljfmt#readme>
- <https://github.com/weavejester/cljfmt/blob/master/CHANGELOG.md>
- <https://github.com/weavejester/cljfmt/blob/master/docs/INDENTS.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## 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

- Unix: .cljfmt.edn, cljfmt.edn, project.clj (:cljfmt key)
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** cljfmt
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - cljfmt: normalized package name match | nixpkgs package indexes: pkgs/by-name/cl/cljfmt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [graalvm](https://www.automicvault.com/pkg/brew/graalvm/) - Build dependency declared by Homebrew.
- [leiningen](https://www.automicvault.com/pkg/brew/leiningen/) - Build dependency declared by Homebrew.
- [gci](https://www.automicvault.com/pkg/brew/gci/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [gnu-indent](https://www.automicvault.com/pkg/brew/gnu-indent/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [snakefmt](https://www.automicvault.com/pkg/brew/snakefmt/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [stylish-haskell](https://www.automicvault.com/pkg/brew/stylish-haskell/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [stylua](https://www.automicvault.com/pkg/brew/stylua/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [yapf](https://www.automicvault.com/pkg/brew/yapf/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [beautysh](https://www.automicvault.com/pkg/brew/beautysh/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.
- [buildifier](https://www.automicvault.com/pkg/brew/buildifier/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.

## Combined YAML source

View the package source record on GitHub. [combined/cljfmt.yml](https://github.com/automic-vault/db/blob/main/combined/cljfmt.yml)


## Sources

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