Releases
v2.0.0
Compare
Sorry, something went wrong.
No results found
v2.0.0
Interactive Builder TUI
New split-panel builder UI powered by OpenTUI with live ASCII art preview that updates in real-time as you scroll through options
Left panel : Species, eyes, rarity, hat, shiny, and stat customization with bordered sections and focus indicators (cyan highlight + ▶ arrow)
Right panel : Live pet preview with rarity-colored sprite, trait details, and per-stat ASCII bar charts for peak/dump visualization
Keyboard navigation : Arrow keys scroll within a section, Tab/Enter advance to next, Shift+Tab goes back, Esc cancels
Confirmation step : After the last field, Enter/Y confirms, Esc/N goes back to edit
Disabled sections with inline help messages (e.g. "Common rarity pets don't wear hats. Change Rarity above to unlock hats.")
Small terminal support : Manual scroll with auto-scroll-to-focused-section when content overflows
Graceful fallback : Falls back to sequential @inquirer/prompts when Bun is unavailable, with a warning to install Bun
TypeScript Rewrite
Full TypeScript migration from JavaScript (lib/.mjs) to TypeScript (src/**/ .ts)
Strict mode, path aliases (@/), ESLint + Prettier + Husky pre-commit hooks
144 tests across 16 test files (33 new builder tests)
Vitest test framework with coverage support
Runtime Improvements
Auto re-exec from Node to Bun : When invoked via npx, the CLI detects Node and re-launches itself under Bun for the full builder experience
Worker path fix : Salt finder now resolves worker.ts (source) or worker.js (compiled) correctly
New dev scripts: pnpm dev (bun source), dev:build (compiled + bun), dev:node (compiled + node fallback)
Documentation
Updated README with builder screenshot, expanded Bun requirement explanation, and fallback behavior
Updated CONTRIBUTING with new project structure, dev scripts, runtime architecture, and test coverage
Updated HOW_IT_WORKS with interactive builder section and runtime detection explanation
Dependencies
Added @opentui/core (Bun-native terminal UI)
Kept @inquirer/prompts as Node fallback
You can’t perform that action at this time.