aradotso avatar

Rattles Terminal Spinners

You're building a CLI app in Rust and need a loading spinner. Rattles gives you that with zero dependencies and a clever stateless design,just call `current_frame()` in your render loop, no lifecycle management needed. It ships with preset collections (braille dots, arrows, emoji) and works in `no_std` environments if you switch to tick-based or index-based driving. The `rattle!` macro lets you define custom spinners at compile time. It integrates cleanly with ratatui since you can pass the spinner by reference anywhere without wrapping it in `Arc<Mutex>`. The stateless-by-default approach is refreshing for something this simple, and the fallback options make it work even on embedded targets.

skills.sh installs
392
GitHub stars
26
last updated
Jun 3, 2026

Install

$ npx -y skills add aradotso/trending-skills --skill rattles-terminal-spinners --agent claude-code

Installs into .claude/skills of the current project.

Files

Rattles Terminal Spinners

Skill by ara.so — Daily 2026 Skills collection.

Rattles is a minimal, zero-dependency Rust library for terminal spinners. It has no runtime or lifecycle — spinners are constructed directly in render loops with negligible cost. Supports no_std environments.

Installation

# Cargo.toml
[dependencies]
rattles = "0.1"  # with std (default)

# no_std
rattles = { version = "0.1", default-features = false }

Or via CLI:

cargo add rattles

# no_std variant
cargo add rattles --no-default-features

Core Concepts

  • Rattler: a spinner definition (frames + interval). Stateless and cheap to construct.
  • TickedRattler: stateful wrapper for tick-based driving (required in no_std).
  • Presets: built-in spinners organized by category.
  • rattle! macro: define custom spinners at compile time.

Basic Usage (std)

use std::{io::Write, time::Duration};
use rattles::presets::prelude as presets;

fn main() {
    let rattle = presets::dots();

Sponsors

Details

Repository
github.com/aradotso/trending-skills
Category
CLI & Terminal
First seen
Jun 3, 2026

More from aradotso/trending-skills

All 251
1aradotso avatarcli-to-js-api-wrapperaradotso/trending-skillscli to js api wrapper336skills.sh installs
2davila7 avatardatadog-clidavila7/claude-code-templatesDatadog CLI for searching logs, querying metrics, tracing requests, and managing dashboards. Use this when debugging production issues or working with Datadog o334skills.sh installs
3jackal092927 avatarobsidian-clijackal092927/obsidian-official-cli-skillsobsidian cli328skills.sh installs
4aradotso avatarwterm-web-terminalaradotso/trending-skillswterm web terminal325skills.sh installs
5sickn33 avatarbash-defensive-patternssickn33/antigravity-awesome-skillsbash defensive patterns319skills.sh installs
6paulrberg avatarcli-castpaulrberg/agent-skillsUse for Foundry cast/on-chain actions: prepare, simulate, sign, or broadcast transactions; call contracts; sign messages; encode/decode ABI/calldata; or make RP308skills.sh installs