{"_id":"@dustydonkey/pi-spinner","_rev":"3-0ee7438b342c2c7a582e1399e5b10fec","name":"@dustydonkey/pi-spinner","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@dustydonkey/pi-spinner","version":"1.0.0","keywords":["pi-package","pi-extension","spinner","loading","animation","terminal","tui"],"author":{"name":"Harshal","email":"harshal@repeato.in"},"license":"MIT","_id":"@dustydonkey/pi-spinner@1.0.0","maintainers":[{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"}],"homepage":"https://github.com/harshal/pi-spinner#readme","bugs":{"url":"https://github.com/harshal/pi-spinner/issues"},"pi":{"image":"https://raw.githubusercontent.com/harshal/pi-spinner/main/assets/demo.png","extensions":["./extensions"]},"dist":{"shasum":"bc42a00cf185255156999487161b78af6ee28945","tarball":"https://registry.npmjs.org/@dustydonkey/pi-spinner/-/pi-spinner-1.0.0.tgz","fileCount":6,"integrity":"sha512-KJ/z5UkewtgeiKJtDXXpSeb+MH8HKyuxYdad05OtVGiwJfxdO93TVoLj0gn2oDrORCWOFKRHRBedBrZCKOMadQ==","signatures":[{"sig":"MEUCIAG2BWrfqfQF6wsJNmf8p7bXwHuRbgCigkfMMQUK6CoWAiEA7xKxMHbP0aCnmRC1rcsZ9Ea/XN7iZ37yCdiFnSu21w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31090},"_npmUser":{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"},"repository":{"url":"git+https://github.com/harshal/pi-spinner.git","type":"git"},"_npmVersion":"11.13.0","description":"Smooth working spinner with shimmering verbs for Pi — inspired by Claude Code","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-spinner_1.0.0_1778596306127_0.8461462762123133","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dustydonkey/pi-spinner","version":"1.0.1","keywords":["pi-package","pi-extension","spinner","loading","animation","terminal","tui"],"author":{"name":"Harshal","email":"harshal@repeato.in"},"license":"MIT","_id":"@dustydonkey/pi-spinner@1.0.1","maintainers":[{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"}],"homepage":"https://github.com/harshal/pi-spinner#readme","bugs":{"url":"https://github.com/harshal/pi-spinner/issues"},"pi":{"image":"https://raw.githubusercontent.com/harshal/pi-spinner/main/assets/demo.png","video":"https://raw.githubusercontent.com/harshal/pi-spinner/main/assets/demo.mp4","extensions":["./extensions"]},"dist":{"shasum":"b746c43f062ecb981ae431a2fb83c1ccea1458ec","tarball":"https://registry.npmjs.org/@dustydonkey/pi-spinner/-/pi-spinner-1.0.1.tgz","fileCount":7,"integrity":"sha512-ksMSAkWt6g8pLtxlsypxFd38HXXx1biktWavHghCwDWkMVx4OXQp+m+3QvXtAL9oHPFdhXbOaord7HToeAZ5cA==","signatures":[{"sig":"MEUCIEqVl0gIJ2n6JJ1DWdaavYYqJNp4kkEC5Vpu7kOK7KteAiEApR7evRpqdpyL5gqOeqjNYRVmwj+tggPYgHpt1wFkmHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2634700},"gitHead":"ebd1c2e9eb1aa50400050850ba31fff7a70b3983","_npmUser":{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"},"repository":{"url":"git+https://github.com/harshal/pi-spinner.git","type":"git"},"_npmVersion":"11.13.0","description":"Smooth working spinner with shimmering verbs for Pi — inspired by Claude Code","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-spinner_1.0.1_1778597261509_0.35864560186948125","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dustydonkey/pi-spinner","version":"1.0.2","description":"Smooth working spinner with shimmering verbs for Pi — inspired by Claude Code","keywords":["pi-package","pi-extension","spinner","loading","animation","terminal","tui"],"license":"MIT","author":{"name":"Harshal","email":"harshalrathore2014@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/harshalrathore/pi-spinner.git"},"bugs":{"url":"https://github.com/harshalrathore/pi-spinner/issues"},"homepage":"https://github.com/harshalrathore/pi-spinner#readme","publishConfig":{"access":"public"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","typebox":"*"},"pi":{"extensions":["./extensions"],"video":"https://raw.githubusercontent.com/HarshalRathore/pi-spinner/main/assets/demo.gif","image":"https://raw.githubusercontent.com/HarshalRathore/pi-spinner/main/assets/demo.gif"},"gitHead":"55d3c3e0717509d9c9be2bc7b6b12ab55e1aa33c","_id":"@dustydonkey/pi-spinner@1.0.2","_nodeVersion":"25.9.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-0EjkpT5MWBxCCEVfMOrQKrE5FcokDuxSU+anvYUs26o13rvbNYWdIfcy+kcMvpl4TOGt0dm9PrxThDYMiN1jBQ==","shasum":"1cc0c8f133b69cbe2cf3aa21cd630f329ce74084","tarball":"https://registry.npmjs.org/@dustydonkey/pi-spinner/-/pi-spinner-1.0.2.tgz","fileCount":7,"unpackedSize":1159080,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGqAdXUxBbhjIMOSvd2Y/1eiwQ4beo7GxFNO+qB8g77EAiAoLpBU4bgJdUGafUD18hYzyGmdJeB+DDDci+uHEdrHpQ=="}]},"_npmUser":{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"},"directories":{},"maintainers":[{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-spinner_1.0.2_1778598990398_0.7571351601645748"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T14:31:45.982Z","modified":"2026-05-12T15:16:30.714Z","1.0.0":"2026-05-12T14:31:46.270Z","1.0.1":"2026-05-12T14:47:41.691Z","1.0.2":"2026-05-12T15:16:30.617Z"},"bugs":{"url":"https://github.com/harshalrathore/pi-spinner/issues"},"author":{"name":"Harshal","email":"harshalrathore2014@gmail.com"},"license":"MIT","homepage":"https://github.com/harshalrathore/pi-spinner#readme","keywords":["pi-package","pi-extension","spinner","loading","animation","terminal","tui"],"repository":{"type":"git","url":"git+https://github.com/harshalrathore/pi-spinner.git"},"description":"Smooth working spinner with shimmering verbs for Pi — inspired by Claude Code","maintainers":[{"name":"dustydonkey","email":"harshalrathore2014@gmail.com"}],"readme":"# @dustydonkey/pi-spinner\n\n> Smooth working spinner with shimmering verbs for [Pi](https://pi.dev) — inspired by Claude Code.\n\nReplace Pi's default Braille spinner with customizable frame presets, rotating status verbs, and a gentle per-character shimmer effect that pauses when the agent is idle.\n\n## Demo\n\n![Demo](https://raw.githubusercontent.com/HarshalRathore/pi-spinner/main/assets/demo.gif)\n\n---\n\n## Install\n\n```bash\npi install npm:@dustydonkey/pi-spinner\n```\n\nOr project-local:\n\n```bash\npi install npm:@dustydonkey/pi-spinner -l\n```\n\nThen `/reload`.\n\n---\n\n## Features\n\n- **6 frame presets** — Claude Code's star sequence, Braille, pulse, dot, star, or none\n- **5 verb presets** — 187 Claude Code verbs, short, technical, fun, or custom\n- **Shimmer effect** — Gentle per-character color sweep across the verb text\n- **Idle-aware** — Automatically pauses shimmer when waiting for sub-agents or user input (no glitchy re-rendering)\n- **Fully configurable** via `/spinner` and `/verbs` slash commands\n- **Settings persist** to `.pi/settings.json`\n\n---\n\n## Usage\n\n### Slash commands\n\n| Command | Description |\n|---------|-------------|\n| `/spinner` | Show current preset |\n| `/spinner claude` | Use Claude Code star frames |\n| `/spinner braille` | Use Braille dot frames |\n| `/spinner pulse` | Use pulse animation |\n| `/spinner dot` | Static dot |\n| `/spinner star` | Star burst frames |\n| `/spinner none` | Hide spinner |\n| `/spinner frames ·,✢,✳,✶,✻,✽` | Custom frames |\n| `/spinner interval 150` | Set frame interval (ms) |\n| `/verbs` | Show current verb preset |\n| `/verbs claude` | 187 Claude Code verbs |\n| `/verbs short` | 6 focused verbs |\n| `/verbs technical` | 12 dev verbs |\n| `/verbs fun` | 23 whimsical verbs |\n| `/verbs none` | Disable verbs |\n| `/verbs add reading,typing` | Append custom verbs |\n| `/verbs replace foo,bar` | Replace all verbs |\n\n### Settings\n\nSaved to `.pi/settings.json` under the `workingSpinner` key:\n\n```json\n{\n  \"workingSpinner\": {\n    \"frames\": \"claude\",\n    \"frameIntervalMs\": 150,\n    \"verbs\": \"claude\",\n    \"verbRotationIntervalMs\": 3000,\n    \"showCompletionVerb\": true,\n    \"completionVerbDurationMs\": 2000\n  }\n}\n```\n\n---\n\n## Why this exists\n\nPi's default Braille spinner is functional but plain. This extension adds:\n\n1. **Visual polish** — Customizable frames make waiting feel intentional\n2. **Context** — Rotating verbs (\"Analyzing...\", \"Typing...\", \"Planning...\") hint at what the agent is doing\n3. **Delight** — The gentle shimmer gives the terminal life without being distracting\n4. **Performance** — Shimmer pauses during idle states so sub-agent execution doesn't cause terminal flicker\n\n---\n\n## Gallery\n\nFind it on [pi.dev/packages](https://pi.dev/packages?name=spinner).\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}