View on GitHub


Code Assistant for TypeScript

Download this project as a .zip file Download this project as a tar.gz file


CATS is an IDE for TypeScript and Web developers. CATS is open source software released under the Apache 2.0 license and it runs on Linux, Windows and OS X. CATS itself is also written in TypeScript, so you can easily customize it if required.

And although still work in progress, CATS is already very usable and has built-in support for the following features:


The easiest way to start using CATS it to follow these simple steps:

After you installed Nodewebkit, just go to the directory where you downloaded cats.nw and type:

nodewebkit cats.nw

If you already have a directory with TypeScript files, just select that directory from "Open project..." to start editing your files.

There are some commandline paramters you can use. For example to open CATS with a specific project, use:

nodewebkit cats.nw --project </path/projectDirectory>

Please note that you have to specify the full path to the project directory you want to open.

To open CATS with the same project as last time you opened it, you can use the --restore option:

nodewebkit cats.nw --restore


In case you want to make changes to CATS and want to do build new versions, there are a few additional steps to do.

Ensure that you have Git and Node.js installed.

Clone a copy of the CATS repo:

git clone

Change to the cats directory:

cd cats

Install Nodewebkit, TypeScript, Jake and the module dependencies:

npm install -g nodewebkit
npm install -g typescript
npm install -g jake
npm install

Use one of the following to build:

jake lib/main.js            # Builds the main frontend module for CATS
jake lib/tsworker.js        # Builds the Web workers module
jake clean                  # Cleans the compiler output, declare files, and tests
jake default                # Builds the full CATS application
jake -T                     # List the above commands. 


CATS will look for a file in the project directory called: ".settings/config.json". If found, CATS will use the values configured in this file, otherwise it will use some sensible default values. You can edit this file (or the default values if you don't have this file yet) from the main menu.


One of the main goals of CATS is to make the developer that is used to IDE's like Eclipse, NetBeans, Visual Studio or IntelliJ, feel right at home. So the same support you got from your IDE when you developed in Java or C#, is now available for TypeScript projects.

However a lot of effort is spent to assure CATS deosn't become a resource hog. So while designing and developing CATS, performance is one of the key aspects. In fact, CATS runs fine on older hardware.

Bugs and Issues

In case you encounter an issue, you can open a ticket on Github. Also enhancement requests can be entered here: Github issue tracker

Couldn't have done it without ....

There is not a lot of documentation yet explaining the structure of CATS and how the different parts work together. So the more surprised we were when we received some pull request that added functionality or fixed some bugs. So thanks to everyone who already contributed to this project.

And of course some of the main 3rd party components that we have used within CATS and couldn't have done without:


The todo list items are tracked as enhancement requests on GitHub. You can check them out at:

Todo List

There is also a milestone planning in there when some enhancements should be delivered.