Core Engine of Kites
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.


Core Engine of Kites

Join the chat at npm version npm downloads Travis

Kites is a framework providing dynamic applications assembling and API routing. It contains a lot of templates and extensions help build up applications quickly.


You are welcome to write your own extension or even publish it to the community.


  • Write an article for implementing custom kites extension

Extensions auto discovery

Kites by default auto discovers extensions in the application's directory tree. This means kites by default searches for files kites.config.js which describes the extensions and applies all the extensions that are found.

// let kites autodiscover the extensions
var kites = require('@kites/engine')({
    logger: {
        console: {
        transport: 'console',
        level: 'debug'

// init the kites
kites.init().then(() => {'done!')

Kites extensions auto discovery slows down the startup and can be explicitly overrided using use function

// do not let kites autodiscover the extensions
// do not load extensions from locations cache
var kites = require('@kites/engine')({
    discover: false,
    extensionsLocationCache: false,
    logger: {
        console: {
        transport: 'console',
        level: 'debug'

// explicitly use extensions
    .init().then((kites) => {'done!')


kites leverages winston logging abstraction together with debug utility. To output logs in the console just simply set the DEBUG environment variable

DEBUG=kites node app.js

on windows:

set DEBUG=kites & node app.js

kites exposes logger property which can be used to adapt the logging as you like. You can for example just add winston console transport and filter in only important log messages into console.

var kites = require('@kites/engine')();
var winston = require('winston');
kites.logger.add(winston.transports.Console, { level: 'info' });