Programming Environment
for TypeScript

Kretes is a programming environment for rapid development of TypeScript applications. It combines a web framework with an editor into an integrated, battery-included solution.

// install Kretes CLI
npm install -g kretes
// generate your TypeScript project
kretes new quxbar
// go to your project directory
cd quxbar
// start the application
kretes start

Key Features

Develop Faster

Kretes is built on top of esbuild, a JavaScript/TypeScript bundler that is 100x-150x faster than Webpack or Parcel. In development, client-side assets are compiled on-demand when requested. Hot Reload is instant and independent of the project size (so called O(1) bundling).

Share Project Setup

Kretes uses the Nix package manager for dependency management. Your project setup can be easily transferred between different machines, whether sharing it with coworkers, or when switching from development to production environment.

TypeScript Everywhere

Kretes uses only one programming language: TypeScript, for the entire application (front-end to back-end). By using TypeScript across the board, there is just one ecosystem, one tooling and one way of hiring for software teams to learn and integrate.

All-In-One Solution

Kretes comes with a (eventually large) library of useful modules which are developed in a coherent way. It is an integrated solution that optimizes for programmers productivity by reducing choices and incorporating community conventions.

Streamline Your TypeScript Development

Kretes adds a layer of additional functionalities on top of Visual Studio Code to help you create full-stack TypeScript web applications faster.

Application Lifecycle Commands

Manage the application lifecycle directly from your editor. No more context switching or manually typing commands to start/stop the application, or to update its dependencies. Everything is in one place, quickly accessible as the editor tasks.

Preconfigured Full-Stack Debugging

Debug the application in a unified way, whether it's the front-end part, or the back-end part. No need to configure the debugging separately for each new application. Using the same setup you get up to speed so that you can focus on the actual business needs.

Instant TypeScript Reloading

Stay in the programming flow thanks to instant TypeScript reloading on the server and on the client. It is no longer needed to wait to recompile your TypeScript projects, with Kretes it happens not only instantly, but also comes with practical improvements via transformers.

Dedicated UIs for Common Tasks

Engineer the application using visual, mouse-friendly user interfaces instead of manually typing in the same thing over and over again. It is not only less error-prone, but makes interactions faster and allows to shape the application faster.

Trusted by software companies around the world


Do you like the idea?
Consider supporting the project via GitHub Sponsors

First Principles

SQL is Good Enough

Kretes promotes the use of plain SQL on the persistance layer over higher-level abstractions. It integrates SQL files on-the-fly into your codebase. In addition, Kretes provides a typesafe query builder.

TypeScript Everywhere

Kretes bridges front-end & backend programming by using a single programming language, TypeScript, across these two separate layers. Such approach simplifies not only the development, but also the tooling.

Prototype-based Programming

Kretes explores the ideas introduced by the Self programming language and aims to bring them to the current age. By focusing on the prototype-based programming, it supports programming expressions aligned with the nature of JavaScript.

WebAssembly is the Future

Kretes aims to provide a first-class support for WebAssembly.

GraphQL makes APIs great again

Kretes leverages GraphQL to simplify the front-end code with easier to handle data fetching using a common contract expressed via the data graph as a central point in your architecture.

Standing on the shoulders of giants

Kretes glues together various libraries and technologies for creating web applications using familiar building blocks instead of trying to unnecessarily reinvent the wheel.

  • React.js

    React is a JavaScript library for building user interfaces created by Facebook. It can be used as a base in the development of single-page or mobile applications.

  • Vue.js

    Vue.js is an open-source Model–view–viewmodel JavaScript framework for building user interfaces and single-page applications. It was created by Evan You.

  • Tailwind CSS

    Tailwind CSS is a highly customizable, low-level CSS framework that gives you all of the building blocks you need to build bespoke designs without any opinionated styles.

  • pnpm

    pnpm is a fast, disk efficient package manager for JavaScript. It uses a content-addressable filesystem to store packages in a single place and is up to 2x faster than the alternatives.

  • Node.js

    Node.js is an open source runtime built on Chrome's V8 JavaScript engine for creating server-side applications. It provides efficient, event-driven and non-blocking I/O model.

  • PostgreSQL

    PostgreSQL is a powerful, open source object-relational database system created in 1986 that uses the SQL language. It has earned a reputation for its robust architecture.

  • GraphQL

    GraphQL is an open-source data query and manipulation language for APIs and a runtime for fulfilling queries created by Facebook in 2012.

  • PostGraphile

    PostGraphile builds a powerful, extensible and performant GraphQL API from a PostgreSQL schema in seconds; saving you weeks if not months of development time.


A programming environment for TypeScript web applications built on top of Visual Studio Code.

© 2020 Kretes, All rights reserved.