Tern is a stand-alone code-analysis engine for JavaScript. It is intended to be used with a code editor plugin to enhance the editor's support for intelligent JavaScript editing. Features provided are:
Tern is open-source (MIT license), written in JavaScript, and capable of running both on node.js and in the browser.
There is currently Tern support for the following editors:
Follow the links to find instructions on how to install the plugins.
There are two mailing lists for the project, a low-volume one for announcements at tern-announce, and an open one where everyone can post at tern-dev. For reporting bugs, I prefer that you use the github issue tracker.
Code contributions are welcome, preferably through pull requests.
If you are getting value out of Tern, especially if you are using it in a for-profit way, consider funding further development by setting up a monthly contribution. The maintainer (Marijn Haverbeke) is available for Tern-related consulting work.
Current funding status: 
The reference manual should be your first stop for figuring out how to use Tern.
If you are interested in the way the system works internally, take a look at this blog post.
25-03-2015: Version 0.10
02-03-2015: Version 0.9
| characters separating alternatives.
Such types are also allowed in JSDoc comments.ecma6.json type
definition, which adds some new variables and properties from ES6.
(note that this is still a far way off from real ES6 support.)13-01-2015: Version 0.8
@self and @typedef in doc_comments pluginfullDocs option to retrieve entire doc comment blocksdefineProperty and getter/setter propertiesmodule object in RequireJS's simplified CommonJS mode14-08-2014: Version 0.7
isKeyword and isProperty fields to completion query JSON repsonses06-06-2014: Version 0.6.2
Small update release that fixes a crash affecting asynchronous loading of files.
06-06-2014: Version 0.6
~/.tern-config default config filetimeout field in requests, to limit their running timenpm10-10-2013: Version 0.5
condense tool, tests added.this in non-method calls.Array.<content>
and Object.<key,value>-style types in
the doc_comment
plugin.12-08-2013: Version 0.4
buffer and timers modules to node plugin.bin/condense tool.
10-07-2013: Version 0.3
this handling.node_exports query type added.loadEagerly/dontLoad settings.11-06-2013: Version 0.2
doc_comment).03-05-2013: Version 0.1
First numbered release. Should be considered beta status, but useable enough to test.