TIBET: The sum of the parts, not some of the parts.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
TIBET-INF Remove unnecessary default namespace Mar 20, 2018
bin TIBET will only require NodeJS 6.X or higher Jun 26, 2018
cmd/make Replace esprima/esmangle/escodegen with babel-minify. Jan 11, 2019
demo Remove line in attempt to satisfy lint Oct 15, 2018
deps Update dependent libraries Jan 11, 2019
dna Replace esprima/esmangle/escodegen with babel-minify. Jan 11, 2019
doc Replace esprima/esmangle/escodegen with babel-minify. Jan 11, 2019
etc Added hasWaitStepsPending method Oct 17, 2018
lib Initial commit of TP.xctrls.select Jan 18, 2019
src Convert from/to value<->label so that the label of the select matches… Jan 20, 2019
tds Add file extension processor support to TDS watch plugin and DNA. Jan 3, 2019
test babel-minify also removes semicolons Jan 11, 2019
.editorconfig Merge initial baseline code from 3.x repository. Jun 24, 2014
.eslintignore Ignore code in bower_components as well Oct 25, 2018
.eslintrc Add the ‘React’ global to avoid lint errors. Nov 27, 2018
.gitignore Don't store individual .vscode settings. Jul 20, 2018
.jshintignore Expand our ignore coverage to dna templates. Nov 16, 2014
.jshintrc Include Window global for jshint default globals. Nov 11, 2014
.npmignore Repair all npmignore files include DNA files. Jul 18, 2017
.stylelintignore Ignore CodeMirror themes for style lint Apr 18, 2017
.stylelintrc Disable stylelint rules around descending specificity and duplicate s… Dec 25, 2018
.travis.yml Put things back - npm has other issues Nov 25, 2018
AUTHORS Dont' use bare technicalpursuit.com address. Oct 26, 2014
LICENSE Merge initial baseline code from 3.x repository. Jun 24, 2014
README.md First step in conversion off PhantomJS to Headless Chrome/Puppeteer. Jul 22, 2018
package.json Update dependent libraries Jan 11, 2019
tibet.json Replace esprima/esmangle/escodegen with babel-minify. Jan 11, 2019



The Sum Of The Parts, Not Some Of The Parts™

       ,///,_       .~///////'`
           '//,   ///'`
        /////////////////     /////////////// ///
        `//'````````///      `//'```````````  '''
        ,/`          //      ,/'
       ,/___          /'    ,/_____
      ///////;;,_     //   ,/////////;,_
               `'//,  '/            `'///,_
                   `'/,/                '//,
                      `/,                  `/,
                        '                   `/

Building a desktop-class web application? We built TIBET for you.

TIBET is a seamlessly integrated web platform, not an à la carte mashup, a solution offering the web's most complete client stack coupled with revolutionary tooling.

TIBET is built for projects that need a turnkey client OR full-stack web platform and the confidence that comes from using a fully supported open source solution.

TIBET is business focused, reducing technical complexity and costly dependence on jedis, gurus, ninjas, rockstars, superheros, wizards, warlords, and other forms of unobtainium.

Reduced cost and reduced risk are TIBET's performance metrics.



Check TIBET's prerequisites first.

We recommend using nvm to install Node.js v6+ (or v8+ if you want to use ES7 features like async/await). You can confirm your nvm, node, and npm versions using:

nvm --version
nvm v0.5.0

node --version

npm --version

If you are missing TIBET's node/npm prerequisites install those first.

Installing TIBET via npm

TIBET should be installed globally using npm install -g:

npm install -g tibet

Initial installation process can take several minutes depending on the speed of your network connection and the particular version being installed. Be patient :).

Once your installation completes check out the TIBET Quickstart Guide.

Installing TIBET via git

If you prefer to install via git see the TIBET Git Installation instructions.




The Technical Pursuit website provides extensive tutorials, whitepapers, and other conceptual and design documentation. We strongly recommend you take a few minutes to scan it.



White Papers

Command Line

Use tibet help for more information on the TIBET CLI and the available command set for your version, or check out the full TIBET CLI documentation.

API Docs

tibet reflect

API documentation is generated for your TIBET version via tibet reflect at the command line and via :reflect from within the TIBET Shell. TIBET's reflect options can output type lists, method lists, or individual object documentation.

tibet apropos

To explore TIBET functionality use the tibet apropos command or :apropos from the TIBET Shell. The apropos feature scans method names and comments for matching terms, letting you search TIBET for functionality that relates to a topic.



Install Node.js

TIBET requires Node.js version 6+

We also recommend using npm version 3.x (some TIBET dependencies have shown installation glitches using version 5.x of npm).

We strongly recommend you use the Node Version Manager (nvm) to manage your Node.js installation. Using nvm lets you install multiple versions of Node.js and switch between them with ease which is great for development and helpful if you need to adjust the version running in production while maintaining an easy rollback strategy.

To install Node.js via nvm see the instructions at the nvm GitHub repo.

To install Node.js without nvm follow the instructions at nodejs.org.

Update/Adjust npm

If you already have a recent version of Node.js installed you should have a valid version of npm. We suggest using at least npm 3.x. The latest versions of npm 5.x also appear stable.

npm install -g npm@3

# OR

npm install -g npm@5

If you see errors from any npm-based operations mentioning cb() never called! you'll want to perform the step above, or the appropriate step for your operating system. See this npm troubleshooting topic for more.

Install via Git

Installing TIBET via Git

If you prefer working from a git repository you can install TIBET via git. This approach can take a fair amount of time depending on connection and machine speed since you'll need to download all of TIBET's dependencies and build them locally.

First, uninstall any npm-installed version of TIBET

If you have already installed TIBET via npm you need to first remove that installation to avoid conflicts with your Git-based installation:

npm uninstall -g tibet
Create a Fork

If you are going to install TIBET via Git we recommend that you first create a fork of TIBET so you can manage updates in a stable, predictable fashion.

Follow these instructions to create your own fork.

Clone your Fork
git clone {{your_fork_repo_url}}
Initialize your Fork

Once your fork has been cloned move into the new fork directory and install the package dependencies:

cd {{your_fork_repo_directory}}
npm install .
Link TIBET via npm

With your fork initialized you'll need to link the repository via npm link so that the tibet command will function. From the top of your TIBET fork type:

npm link .

You should now be able to use the `tibet` command which lets you run `tibet build`.
Build TIBET Dependencies and Packages

When working with a git-based repository you'll need to rebuild TIBET packages and dependencies, depending on your individual project launch configuration.

To build the full set of TIBET dependencies and launch packages use:

tibet build_all

NOTE: the above command can take quite some time depending on your network connection, machine performance, etc. since it's building a large set of dependent modules in addition to TIBET itself.

With TIBET cloned, initialized, linked, and built you're ready to rock.

Supported platforms

TIBET CLI / Server

The TIBET CLI, TIBET Server, TIBET Workflow System and other server-side components are fully-supported on MacOS and common Linux variants.

TIBET's command line and server components are being ported to Windows. In the meantime we recommend using Docker or similar container technology if you are a Windows-based developer. Pre-built Docker images will be available in an upcoming release.

TIBET Client / Sherpa
Platform TIBET Client Runtime TIBET Live Patching TIBET Sherpa
Google Chrome Yes Yes Yes
Mozilla Firefox Yes Yes Coming Soon
Apple Safari Yes Yes Coming Soon
Electron Yes Coming Soon Coming Soon
Microsoft Edge Future Future Future
Microsoft IE No No No

Open Source License


TIBET is Open Source under the OSI-approved Reciprocal Public License (RPL).

You should read the license but, in short, the RPL requires those who deploy applications incorporating RPL'd code to reciprocate by open sourcing their code.

If you are unable to open source your TIBET-related code you can purchase a privacy waiver which allows you to keep your source code private while helping fund further TIBET development. Read more about privacy waivers at https://www.technicalpursuit.com/license.xhtml.



The best way to communicate an issue, feature request, or code-related concern is to use the GitHub-based issues list for TIBET.

Additional contact info is provided on the contact page at www.technicalpursuit.com.

The Pup

Contact us for more information, or to discuss how we can assist you.