Cookie Consent by TIBET




Decisions, Decisions

Getting Started





Decisions, Decisions


TIBET was created to reduce your 3 biggest risks.

Developers tend to say those are:

  • getting async code right,
  • getting code to load efficiently, and
  • managing client-side data.

Those are definitely challenges…

…but they're not the problems that cause projects to fail.

Projects fail because:

  • they can't hire at scale,
  • they can't maintain a stable stack, and
  • there's no SLA-based support backing their efforts.

Projects fail because of staffing, stability, and support.

TIBET is specifically designed to solve those problems.

Less Risk, More Reward.

Why OO?

The trend in the JavaScript community these days leans heavily functional.

We believe that's a mistake for application platforms.

OO arose in response to design and maintenance issues with functional approaches to development, particularly for large applications.

Applications of any real size require organizing principles if they're going to avoid turning into family-style platters of spaghetti.

OO provides a set of organizing principles that have proven themselves over time.

Types group related functions together, reducing conceptual clutter and encapsulating data. Data integrity improves as a result.

Messaging reinforces encapsulation and opens the door for polymorphism and late binding, two key elements that enhance extensibility and maintainability.

Inheritance, a typical battleground point for functional proponents, wasn't even part of the initial definition of OO.

That said, we believe poor handling of inheritance is the cause of many of today's complaints about OO, particularly within the JavaScript community.

JavaScript, like many popular OO languages, doesn't have type-level inheritance; it has 'static' methods and attributes. The result is an OO model that doesn't work for a number of design patterns.

TIBET is different.

TIBET's OO infrastructure is modeled on Smalltalk, with a dash of Traits thrown in to support both inheritance and composition in a predictable, controllable fashion.

The result is OO that works the way you think it should, freeing you to keep code organized without fighting the OO system itself.

First Steps

Getting Started

How do I install TIBET?

If you've got a recent version of NodeJS:

npm install -g tibet
tibet init
tibet quickstart

See our installation page for additional details.

Are there tutorials for TIBET?

If you've installed TIBET, start with the tibet quickstart command:

tibet quickstart

The TIBET Quickstart Guide walks you through an initial project.

Additional tutorials and examples can be accessed from documentation menu.


Where are the API docs?

Our Client Stack offers concept and cookbook documentation for the majority of TIBET's APIs.

Each product in the TIBET suite contains similar concept and cookbook documentation to help you move quickly and get things done.

Specific detailed API documentation for TIBET is generated on-the-fly by the TIBET runtime system. This up-to-the-minute documentation is accessible via both the TIBET CLI and the In-App IDE.

For example…

The tibet reflect and :reflect commands let you focus on a particular object or method, or reflect across the currently loaded code.

tibet reflect [<target>]

tibet reflect TP.lang.Hash

The tibet apropos and :apropos commands let you query for functionality related to one or more terms.

tibet apropos <topic>

tibet apropos sort

TIBET's tools will generate API documentation for your application code provided you follow TIBET's coding standards with respect to comment placement and format.



How do I file a support ticket?

See our support page for details on our SLA-based support.

Is there informal support?

We offer informal support on the TIBET Desktop channel on Discord.


What license does TIBET use?

TIBET is licensed under the OSI-approved Reciprocal Public License (RPL). The RPL is a viral license similar to the GPL3, requiring you to open source your derivative works.

Is TIBET Open Source?

Yes. TIBET's license is approved by the Open Source Initiative (OSI), the organization responsible for maintaining the official definition of the term "Open Source".



Why did you call it TIBET?

While discussing names for what would eventually become TIBET, Bill Edney, TIBET's co-author and evangelist, mentioned that China didn't call the region traditionally known as 'Tibet' by that name. He suggested we call our library TIBET in the hope that if our framework became popular it would continue to bring awareness to the ongoing situation in Tibet.

Note that the product name is always presented in full-caps, e.g. TIBET.

We recommend visiting the sites below for more information on how you can help Tibet and the Tibetan people:

The TIBET logo is the word 'Tibet' in Tibetan script: