# Install git-format-staged with Homebrew

Git command to transform staged files using a formatting command. Version 4.0.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:git-format-staged
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install git-format-staged
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:git-format-staged
- **Package manager:** Homebrew
- **Version:** 4.0.1
- **Source summary:** Git command to transform staged files using a formatting command
- **Homepage:** <https://github.com/hallettj/git-format-staged>
- **Repository:** <https://github.com/hallettj/git-format-staged>
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- git-format-staged (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.0.1
## Project history and usage

git-format-staged is a Python Git helper that runs a formatter or linter against the staged version of files, preserving unstaged working-tree edits.

### Project history

The repository began in March 2018. Its README explains the project as a response to pre-commit formatting hooks that run a formatter over working-tree files and then restage the result, a pattern that can accidentally commit unrelated unstaged edits or disrupt `git add -p` workflows.

### Adoption history

git-format-staged sits in the ecosystem around Prettier, Husky, lint-staged, pre-commit, pretty-quick, and language-specific hook managers. It distinguishes itself by formatting blobs from the Git index and then attempting to patch the working tree afterward, rather than stashing user edits before formatting.

### How it is used

Practitioners install it through Nix, npm, Homebrew, or by copying the script, then call it from pre-commit hooks with a formatter command that reads from stdin and writes to stdout. Typical use passes file patterns and a formatter placeholder, such as running Prettier with `--stdin-filepath` for staged JavaScript, TypeScript, or CSS files.

### Why package nerds care

The package is notable because it solves a small but sharp Git-index problem without tying users to one language ecosystem. That makes it attractive for polyglot repositories and hook setups where the important boundary is Git's staged content rather than a particular formatter.

### Timeline

- 2018: The repository began with an initial commit.
- 2018: The v1.0.0 tag established the installable Git helper.
- Later releases: Packaging expanded across npm, Nix, and Homebrew usage paths.

### Related projects

- git-format-staged is commonly compared with lint-staged, pre-commit, pretty-quick, precise-commits, Husky, and formatter tools such as Prettier.

### Sources

- <https://formulae.brew.sh/formula/git-format-staged>
- <https://github.com/hallettj/git-format-staged>
- <https://github.com/hallettj/git-format-staged#readme>


## Security Notes

narrow executable package without higher-risk signals.

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


## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
