gitmyhub

agents-are-thinking

Rust ★ 18 updated 2mo ago

Exploring agent "thinking" animation.

A Rust library with Python and JavaScript bindings that adds 48 terminal animation effects for showing an AI agent or CLI tool is thinking or working.

RustPyO3wasm-bindgenPythonJavaScriptsetup: easycomplexity 2/5

Agents Are Thinking is a small library that creates terminal animations for the moment when an AI agent or command line tool is "thinking" or processing something. Instead of a plain spinner, it offers 48 different animation effects built from braille dots, block characters, and other unicode glyphs, grouped into six families: braille, shade, bar, vertical block, square, and dot.

The core library is written in Rust and has no runtime dependencies, which keeps it lightweight and fast to run in a terminal. On top of the Rust core, the project provides bindings so the same effects can be used from Python, through PyO3, and from JavaScript or TypeScript in the browser or Node, through WebAssembly built with wasm-bindgen.

Each animation family includes several named variations. The braille family alone has close to twenty effects, with names like BrailleSpin, BrailleWave, BrailleRipple, BrailleFire, and BrailleHeartbeat, each describing a different visual pattern such as a spinning dot, a scrolling wave, a ripple from the center, or a pulsing heartbeat. The other families, such as shade and vertical block, offer similar variety with fewer options each.

For someone who just wants to see what the effects look like without installing anything into their own project, the maintainer provides a command you can run through uv, a Python package manager, to preview the animations directly, as well as a hosted preview website. For developers who want to add it to their own tools, installation is a single command in each supported ecosystem: cargo for Rust, uv or pip for Python, and npm for JavaScript or TypeScript.

This is a focused, single-purpose visual effects library rather than a full application. It would suit anyone building a command line tool, an AI agent interface, or a developer utility who wants a more polished loading indicator than a plain spinner character.

Where it fits