Skip to main content

Introduction

Welcome to unblessed - a modern, platform-agnostic terminal UI library built with TypeScript.

What is unblessed?

unblessed is a complete modernization of the popular blessed TUI library, bringing it to modern TypeScript standards while maintaining 100% backward compatibility.

Key Features

  • TypeScript-First: Built from the ground up with TypeScript in strict mode
  • Cross-Platform: Run your TUI apps in Node.js AND browsers with XTerm.js
  • 100% Compatible: Drop-in replacement for blessed via @unblessed/blessed
  • Modern Tooling: ESM + CJS builds, comprehensive tests, semantic versioning
  • Modular: Install only what you need

Quick Example

import { Screen, Box } from "@unblessed/node";

const screen = new Screen({ smartCSR: true });

const box = new Box({
parent: screen,
top: "center",
left: "center",
width: "50%",
height: "50%",
content: "Hello {bold}unblessed{/bold}!",
tags: true,
border: { type: "line" },
style: {
fg: "white",
border: { fg: "cyan" },
},
});

screen.key(["q", "C-c"], () => process.exit(0));
screen.render();

Next Steps