pi-fancy-loader

A fancy loader extension for Pi

Packages

Package details

extension

Install pi-fancy-loader from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-fancy-loader
Package
pi-fancy-loader
Version
0.1.1
Published
May 10, 2026
Downloads
40/mo · 5/wk
Author
unitdhda
License
MIT
Types
extension
Size
22.8 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "./"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Agent Loader Extension

A custom loading indicator for the Pi coding agent with animated spinners and dynamic color palettes.

Features

  • 50+ Spinner Sequences: Beautiful Unicode animations including braille spinners, orbital patterns, progress bars, and more
  • Dynamic Color Palettes: Random HSL-based colors with subtle, harmonious variations (±7.5° hue, ±30-60% saturation/lightness)
  • Creative Verb Phrases: 100+ whimsical loading messages inspired by Claude Code (e.g., "Thinking", "Cogitating", "Vibecoding Internally")
  • Interactive Commands: Preview, pick, and randomize loaders on-demand

Example loader frames

  • ✢ ✣ ✤ ✥
  • ┤ ┘ ┴ └ ├ ┌ ┬ ┐
  • ∿ ≋ ∿ ≋
  • ◌ ◎ ◉ ● ◉ ◎
  • ✶ ✸ ✹ ✺ ✹ ✷

Installation

  1. Ensure this extension is in your ~/.pi/agent/extensions/ directory
  2. Pi will auto-discover the extension via the package.json file
  3. Restart Pi if it's already running

Usage

The loader automatically activates during agent flows:

  • agent_start: Initializes random spinner + palette
  • agent_end: Restores default indicator
  • tool_call/tool_result: Updates working message with tool context

Commands

Command Description
/loader-info Show current loader sequence and interval
/loader-random Randomize loader for current session
/loader-preview Preview all available sequences and sample palettes
/loader-pick Interactive picker for sequence and interval

Customization

Edit agent-loader.ts to:

  • Add new spinner sequences to SPINNER_SEQUENCES
  • Add new verb phrases to SPINNER_VERBS
  • Adjust color generation amplitudes in generateRandomPaletteColors()
  • Modify animation intervals (default: 90-150ms)
  • Example frame strings are available in index.ts under EXAMPLE_FRAMES

Color Generation

Palettes use HSL loops with:

  • Hue: ±7.5° (15° total range)
  • Saturation: 30-70% ±30-60%
  • Lightness: 40-80% ±30-60%

This creates subtle, pastel-like variations while maintaining visual harmony.

Dependencies

  • @mariozechner/pi-coding-agent (peer dependency)