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 CLInpm install -g kretes// generate your TypeScript projectkretes new quxbar// go to your project directorycd quxbar// start the applicationkretes start
Kretes is built on top of Snowpack, a modern build tool for faster web development. 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).
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.
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.
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.
Kretes adds a layer of additional functionalities on top of Visual Studio Code to help you create full-stack TypeScript web applications faster.
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.
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.
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.
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.
What people are saying about Kretes
Kretes helps us kick start projects quickly and brings us tools we really like. We build a lot of prototypes on daily basis and we see great value in integrated, battery-included solutions.
I really do enjoy coding. But as CPO of a growing scale-up, well, I am not really supposed to spend that much time hacking. And not being a JavaScript fan, spending any amount of time in boilerplate and webpack rituals on a small JS project is frustrating. Which is why I enjoy Kretes. No nonsense. It hits a nice sweet-spot for doing a quick TypeScript POC, and it makes it easy to go back to a project a couple of weeks later. Even when I didn't actually write down WTH I was actually trying to achieve. And it still feels solid. There's a nice Rails vibe to it I haven't yet met in the JS world.
I love how Kretes allows to quickly prototype full-stack web apps in TypeScript. At Xfaang we constantly build and play with different app ideas for our clients - rapid software development is an important factor. Kretes makes the development not only easier, but also more enjoyable. It’s a great tool for software companies to gain a competitive edge.
Kretes brings back the joy of programming by setting up reasonable defaults and aims to keep you productive. It also makes your app easier to test by taking a more functional approach. You'll like it!
As an AI company, we build a lot of prototype apps on top of our algorithmic engines applied to this or that use case. While not being our core business, building sleak apps quickly is actually a critical component of what we do. Kretes helps a lot achieving all that, without nonsense, and it allows the team to be efficient and worriless on the app side, while focusing on our core, AI problem solving.
JavaScript landscape is fragmented. As a software house we are constantly looking for ways to reduce the time spent on figuring out how to connect and combine different tools and frameworks - and Kretes does this very well.
Kretes feels extremely fast in the development cycle. It is easy and simple to bootstrap a new project. It provides a nice structure with convenient defaults. I find it especially useful for junior developers, they can be much more productive from the get-go, than wasting time to setup the project on their own. Kretes looks promising.
At Miquido, we do not limit ourselves to specific solutions. While monitoring the latest technologies and solutions, we could not be indifferent to Kretes. This framework allows for a very fast implementation of MVP, which contributes to the improvement of the quality of delivered applications.
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.
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.
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.
Kretes aims to provide a first-class support for WebAssembly.
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.
Kretes glues together various libraries and technologies for creating web applications using familiar building blocks instead of trying to unnecessarily reinvent the wheel.
Snowpack is a lightning-fast frontend build tool, designed for the modern web. It is an alternative to heavier, more complex bundlers like webpack or Parcel in your development workflow.
esbuild is a JavaScript/TypeScript bundler that is 100x-150x faster than Webpack or Parcel. Its goal is to bring about a new era of build tool performance by creating an easy-to-use bundler.
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 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 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 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 is an open-source data query and manipulation language for APIs and a runtime for fulfilling queries created by Facebook in 2012.
PostGraphile builds a powerful, extensible and performant GraphQL API from a PostgreSQL schema in seconds; saving you weeks if not months of development time.
Thanks to Snowpack's versatility, Kretes can be integrated with virtually any UI library or framework