bubbletea.cr
bubbletea
Crystal port of the charmbracelet/bubbletea Go library, a framework for building terminal user interfaces based on The Elm Architecture.
This is a direct port of the Go implementation, maintaining exact logic and behavior, only differing in Crystal language idioms and standard library usage.
Source: The original Go source is available in the vendor/ submodule at commit 13d882c.
Installation
-
Add the dependency to your
shard.yml:dependencies: bubbletea: github: dsisnero/bubbletea -
Run
shards install
Usage
require "bubbletea"
# See vendor/examples/ for ported examples
The API mirrors the Go bubbletea package. Refer to the original documentation for usage patterns.
Development
This project uses standard Crystal development tools:
make install # Install dependencies
make format # Check code formatting
make lint # Run ameba linter
make test # Run specs
make clean # Clean temporary files
Run bd ready to find available work (issue tracking via beads).
Contributing
- Fork it (https://github.com/dsisnero/bubbletea/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Porting Guidelines: This is a direct port of Go code. All logic must match the Go implementation exactly. When adding new functionality, ensure it corresponds to upstream changes. Use the vendor/ submodule as the source of truth.
Contributors
- Dominic Sisneros - creator and maintainer
bubbletea.cr
- 0
- 0
- 0
- 0
- 8
- 15 minutes ago
- February 24, 2026
MIT License
Tue, 24 Feb 2026 18:17:19 GMT