Since the beginning, Nuclide has strived to provide a feature-rich IDE experience on top of Atom, with functionality like code diagnostics, jump to definition, and much more. However, over time we’ve heard feedback that the “one-size-fits-all” philosophy can be overwhelming for many Atom users.

That’s why we’re proud to announce the new Atom IDE UI package, which is part of our collaboration with GitHub in the broader Atom IDE initative. Read more about that on the Atom blog.


Atom IDE UI is fast and lightweight by design. It extracts only the subset of the core UI features from Nuclide necessary to support Atom’s atom-languageclient library in displaying features supported by the language server protocol. Like Nuclide, it’s a unified package which contains the following features:

Atom IDE UI is designed to work out-of-the-box with packages using atom-languageclient, such as ide-typescript and our own ide-flowtype.

As always, these features can be also be used directly via Atom services. Documentation for these APIs is available inside the atom-ide-ui repository.

Getting started

Using Atom IDE UI is as simple as:

  1. Install the atom-ide-ui Atom package
  2. Install an “ide-“ package for your favourite language:

Note that if you’re already a Nuclide user, all of Atom IDE UI’s features will still be bundled inside of Nuclide, so there’s no need to install another package.


The list of features in Atom IDE UI doesn’t yet encompass all the features available in the language service protocol, and over time we’ll be working to fill in the gaps. In particular, we’re looking to add:

Our hope is that other Nuclide features will eventually also become part of the Atom IDE effort, including key components like the Nuclide debugger. Note that we’re still committed to supporting the open-source Nuclide package for the foreseeable future.

Contributions and bug reports are welcome over at facebook-atom/atom-ide-ui!

The Atom IDE UI code is released under the BSD-3-Clause license.