# Install write-good with Homebrew, Nix

Naive linter for English prose. Version 1.0.8 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:write-good
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install write-good
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#write-good
```

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

## Package facts

- **Package key:** brew:write-good
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/write-good>
- **Version:** 1.0.8
- **Source summary:** Naive linter for English prose
- **Homepage:** <https://github.com/btford/write-good>
- **Repository:** <https://github.com/btford/write-good>
- **Upstream docs:** <https://github.com/btford/write-good#readme>
- **License:** MIT
- **Source archive:** <https://registry.npmjs.org/write-good/-/write-good-1.0.8.tgz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- write-good (cli)
- writegood (cli)
- write-good (alias)
- writegood (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.8
- Local data: ok
- Upstream repository: https://github.com/btford/write-good
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

write-good is a small Node.js prose linter that describes itself as a naive linter for English prose. It grew out of developer tooling culture: instead of presenting itself as a full grammar checker, it exposes simple checks for passive voice, weak words, sentence openers, and similar editorial patterns through both a JavaScript API and a command-line interface.

### Project history

The GitHub repository and npm package were both created on 25 April 2014. The npm registry shows rapid early publication from 0.0.0 through several 0.x versions in the first two days, followed years later by 1.0.x maintenance releases, with 1.0.8 published on 16 February 2021.

The README has remained direct about the tool's limited scope and social context: it warns users not to use the tool to be a jerk about other people's writing. That disclaimer is part of write-good's identity as a developer-friendly hinting tool rather than an authority on prose.

### Adoption history

write-good became recognizable in the JavaScript and documentation-tooling world because it was easy to run with npm, easy to call from code, and small enough to compose into editor integrations or prose pipelines. Its GitHub repository has accumulated thousands of stars, and the npm registry records the package as a long-lived published module rather than a one-off gist.

The package also inspired adjacent tools and extensions, including custom check sets such as the German `schreib-gut` example in the README. That extension point helped place write-good in the lineage of lightweight prose linting that later includes more configurable tools such as Vale and remark-based writing checks.

### How it is used

As a CLI, write-good is usually run against Markdown or text files with a glob, or through `npx write-good`. It prints suggestions to standard output and supports enabling or disabling checks such as passive voice, weasel words, or E-Prime.

As a library, `writeGood(text)` returns suggestion objects with a reason, index, and offset. That API shape made it convenient for editor plugins, scripts, and documentation checks that need machine-readable lint spans instead of only human terminal output.

### Why package nerds care

write-good is a classic small npm utility: a memorable name, a narrow job, a command-line entry point, and a reusable library API. For package catalogs, it sits at the intersection of developer tools and writing tools, showing how code-linting conventions migrated into README, documentation, and prose workflows.

Its significance is not that it solved grammar checking broadly, but that it made a handful of editorial heuristics installable and scriptable in the same way developers install code linters.

### Timeline

- 2014-04-25: GitHub repository and npm package are created.
- 2014-04-25: Early 0.1.0, 0.2.0, and 0.3.0 npm versions are published.
- 2021-02-16: npm version 1.0.8 is published.
- 2025: The GitHub repository remains active enough to show recent pushes in repository metadata.

### Related projects

- schreib-gut is cited by the README as a custom check extension example for German prose.
- Vale and remark-lint occupy the broader prose-linting space with more configurable or documentation-oriented approaches.

### Sources

- <https://github.com/btford/write-good>
- <https://registry.npmjs.org/write-good>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** write-good
- **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 - write-good: normalized package name match | nixpkgs package indexes: pkgs/by-name/wr/write-good/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.
- [node](https://www.automicvault.com/pkg/brew/node/) - Runtime dependency declared by Homebrew.
- [proselint](https://www.automicvault.com/pkg/brew/proselint/) - Shares av.db curated category or tags: cli, developer-tools, linter, linting, prose.
- [htmlhint](https://www.automicvault.com/pkg/brew/htmlhint/) - Shares av.db curated category or tags: cli, developer-tools, javascript, linter, linting.
- [oxlint](https://www.automicvault.com/pkg/brew/oxlint/) - Shares av.db curated category or tags: cli, developer-tools, javascript, linter, linting.
- [quick-lint-js](https://www.automicvault.com/pkg/brew/quick-lint-js/) - Shares av.db curated category or tags: cli, developer-tools, javascript, linter, linting.
- [rslint](https://www.automicvault.com/pkg/brew/rslint/) - Shares av.db curated category or tags: cli, developer-tools, javascript, linter, linting.
- [sherif](https://www.automicvault.com/pkg/brew/sherif/) - Shares av.db curated category or tags: cli, developer-tools, javascript, linter, linting.
- [doc8](https://www.automicvault.com/pkg/brew/doc8/) - Shares av.db curated category or tags: cli, developer-tools, linter, linting.
- [elvis](https://www.automicvault.com/pkg/brew/elvis/) - Shares av.db curated category or tags: cli, developer-tools, linter, linting.
- [write-good](https://www.automicvault.com/pkg/npm/write-good/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, english, good, linter, naive.
- [write-good](https://www.automicvault.com/pkg/npm/write-good/) - Same normalized package name in another local ecosystem.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
