# Install flow with Homebrew, MacPorts, Nix, scoop, winget

Static type checker for JavaScript. Version 0.321.0 via Homebrew; verified 2026-06-26.

## Install

```sh
sudo av install brew:flow
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install flow
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install flow
```

  Evidence: MacPorts ports tree: devel/flow/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#flow
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/flow
```

  Evidence: Scoop official bucket manifest trees: bucket/flow.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id MadrasCheck.flow -e
```

  Evidence: Windows Package Manager source index: MadrasCheck.flow from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:flow
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/flow>
- **Version:** 0.321.0
- **Source summary:** Static type checker for JavaScript
- **Homepage:** <https://flow.org/>
- **Repository:** <https://github.com/facebook/flow>
- **Upstream docs:** <https://flow.org/en/docs>
- **License:** MIT
- **Source archive:** <https://github.com/facebook/flow/archive/refs/tags/v0.321.0.tar.gz>
- **Last updated:** 2026-06-26T01:11:25Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- flow (cli)
- flow (alias)

## Build dependencies

- rust

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.321.0
- Package-manager updated: 2026-06-26
- Local data: ok
- Upstream repository: https://github.com/facebook/flow
- Upstream latest detected: v0.321.0 (current)
## Project history and usage

Flow is Meta's static type checker and typed JavaScript dialect, distributed as the flow CLI and related npm tooling for checking JavaScript programs before runtime.

### Project history

Facebook announced Flow in November 2014 as a new static type checker for JavaScript designed to find errors by analyzing programs without running them. The official repository describes Flow as a static typechecker for JavaScript and points users to flow.org for documentation.

Flow developed around a per-project configuration file, .flowconfig, and an npm-oriented setup through flow-bin. Its documentation also covers Babel and flow-remove-types for stripping Flow type annotations before publishing or running JavaScript.

### Adoption history

Flow became closely associated with Facebook and React-era JavaScript projects, where static analysis was adopted to make large JavaScript codebases easier to maintain. The official docs include React-specific material and a dedicated guide for TypeScript users, reflecting Flow's long-running position in the JavaScript type-checking ecosystem.

In 2023, the Flow team published an official direction statement explaining that the project was focusing on Meta's internal use cases and would reduce broad open-source engagement, a notable shift in the project's adoption story.

### How it is used

Typical usage is project-local: install flow-bin, add a flow script, run flow init to create .flowconfig, and run flow to type-check source files. Flow projects use type annotations in JavaScript source and a compiler such as Babel or flow-remove-types to remove those annotations for runtime JavaScript.

Flow also publishes parser tooling, including flow-parser, for packages that need to parse Flow-typed JavaScript directly.

### Why package nerds care

Flow matters to package maintainers because it is both a CLI and a language-extension ecosystem: packages may ship Flow annotations, require stripping transforms, pin flow-bin versions, or expose libdefs and parser behavior that differ across releases.

Its history is also a useful contrast point for TypeScript in package metadata, because Flow-heavy projects often leave signals such as .flowconfig, flow-bin dev dependencies, and type-stripping build scripts.

### Timeline

- 2014: Facebook announces Flow as a static type checker for JavaScript.
- 2010s: Flow is used with JavaScript package workflows through flow-bin, Babel, and flow-remove-types.
- 2023: The Flow team states a narrowed open-source direction focused on Meta's internal usage.
- 2026: Official docs show Flow continuing with releases, .flowconfig reference docs, React docs, and TypeScript migration guidance.

### Related projects

- Official docs and README connect Flow to flow-bin, flow-parser, flow-remove-types, Babel, React, and TypeScript migration guidance.

### Sources

- <https://engineering.fb.com/2014/11/18/web/flow-a-new-static-type-checker-for-javascript/>
- <https://flow.org/en/docs/>
- <https://flow.org/en/docs/config/>
- <https://github.com/facebook/flow>
- <https://medium.com/flow-type/clarity-on-flows-direction-and-open-source-engagement-9bc9c2f4ff65>


## Security Notes

No matching local secret-handling manifest was found for flow. Nucleus package metadata is still published here so future coverage has a stable package URL.



## 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: .flowconfig, src/.flowconfig
## Source Database Details

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

## Other Package-Manager Records

- Nix - flow: normalized package name match | nixpkgs package indexes: pkgs/by-name/fl/flow/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - flow: normalized package name match | MacPorts ports tree: devel/flow/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/flow: normalized package name match | Scoop official bucket manifest trees: bucket/flow.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - MadrasCheck.flow: normalized package name match | Windows Package Manager source index: MadrasCheck.flow from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [flow-tools](https://www.automicvault.com/pkg/brew/flow-tools/) - Package name indicates the same formula family.
- [eslint](https://www.automicvault.com/pkg/brew/eslint/) - Shares av.db curated category or tags: cli, developer-tools, javascript, static-analysis.
- [pmd](https://www.automicvault.com/pkg/brew/pmd/) - Shares av.db curated category or tags: cli, developer-tools, javascript, static-analysis.
- [pyright](https://www.automicvault.com/pkg/brew/pyright/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [cflow](https://www.automicvault.com/pkg/brew/cflow/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [checkstyle](https://www.automicvault.com/pkg/brew/checkstyle/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [clazy](https://www.automicvault.com/pkg/brew/clazy/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [cppcheck](https://www.automicvault.com/pkg/brew/cppcheck/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [credo](https://www.automicvault.com/pkg/brew/credo/) - Shares av.db curated category or tags: cli, developer-tools, static-analysis.
- [phpstan](https://www.automicvault.com/pkg/brew/phpstan/) - Local package facts share a topical domain. Shared terms: analysis, checking, cli, developer, developer-tools.
- [psalm](https://www.automicvault.com/pkg/brew/psalm/) - Local package facts share a topical domain. Shared terms: analysis, checking, cli, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/flow.yml](https://github.com/automic-vault/db/blob/main/combined/flow.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
