Welcome to the Basalt Wiki
Basalt 2.5 is an improved and extended release of the Basalt 2 UI framework for CC:Tweaked. It keeps the familiar approach to building terminal interfaces while modernizing the internals and developer experience.
Features
- Pre-built components: Buttons, lists, text boxes, tables, dialogs, menus, trees, and more
- Modern UI tools: Reactive state, animations, themes, responsive layouts, palettes, and XML
- Event system: Flexible event handling for user interaction and application logic
- Optional modules: Add animations, charts, images, responsive rules, themes, XML layouts, and debugging tools as needed
- Developer friendly:
- LuaLS type information for improved editor support
- Generated API documentation that stays synchronized with the source
- Support for minified builds
Quick Start
lua
local basalt = require("basalt")
local frame = basalt.getMainFrame()
frame:setBackground(basalt.rgb("#1e1e2e"))
local label = frame:addLabel({
x = 2,
y = 2,
text = "Hello World",
})
frame:addButton({
x = 2,
y = 4,
text = "Click me",
})
:onClick(function(self)
self.text = "Thanks!"
label.text = "Button clicked!"
end)
basalt.run()Preview

Documentation
Community & Support
- Report bugs on GitHub
- Join the Discord server
- Ask questions in GitHub Discussions