Skip to content


Repository files navigation


A repository of high-quality, third-party library type definitions for use with Flow.

ci status npm package docs discord package health

⚠️ Version 4.0 will release soon! ⚠️

And with it comes new features, most notably the support for definition dependencies.

Learn how to add dependencies to a definition from the main branch docs which can be consumed with the v4 CLI.

$ yarn global add flow-typed@next
# or
$ npm install -g flow-typed@next

What's happening to master?

Nothing for the most part! CLI versions < v4 will still pull definitions from master so if you have library definitions that don't require dependencies we still recommend you contribute to master and it'll get periodically synced back to main for users >= v4.

Eventually we will deprecate master in favour of main.

Check out the quick start page in the docs to get started. It will walk you through installing typedefs, using them, as well as writing and including your own.


When you start a project with Flow, you likely want to use some third-party libraries that were not written with Flow. By default, Flow will just ignore these libraries leaving them untyped. As a result, Flow can't give errors if you accidentally mis-use the library (nor will it be able to auto-complete the library).

To address this, Flow supports library definitions which allow you to describe the interface of a module or library separate from the implementation of that module/library.

The flow-typed repo is a collection of high-quality library definitions, tests to ensure that definitions remain high quality, and tooling to make it as easy as possible to import them into your project.

All you have to do when you add one or more new dependencies to your project is run flow-typed install. This will search the libdef repo and download all the libdefs that are relevant for your project and install them for you. After that, simply check them in and be on your way!


The flow-typed npm package provides a CLI that includes several commands for working with this repository. The full list of commands is available in the docs .


Before opening an issue, take a look at the FAQs. Chances are your question has already been answered! If not, don't hesitate to open an issue.

How Do I Contribute Library Definitions?

Just send a pull request! The documentation highlighted in should give a detailed overview of how to raise a pull request following our best practices.

Contributing to the CLI

Bugfixes and improvements to the core CLI are welcome. If you'd like to contribute a new feature, consider opening an issue first to discuss it.

Active Maintenance Team

Andrew Smith Brian Chen Georges-Antoine Assi Pascal Duez Ville Saukkonen
@AndrewSouthpaw @Brianzchen @GAntoine @pascalduez @villesau