Skip to content

divitkashyap/chameleon-tui

Repository files navigation

chameleon-tui

Theme-aware animated color post-processing for the OpenCode TUI. Transforms neutral text and surfaces into dynamic metallic gradients, animal prints, neon glows, nature textures, and 50+ visual styles.

Inspired by oc-plugin-rainbow by @kommander.

⚠️ Disclaimer: Some palettes (static, laser, neonflicker, rgbsplit, corrupt, datamosh) contain rapid flashing or high-contrast visuals. Enable CPU Saver to limit animation when not in use.

Demo

Chameleon TUI Demo

Features

  • 100 visual styles across metallic, animal, neon, glitch, nature, and abstract categories
  • Live search — type to filter themes by name, description, or category instantly
  • Auto-rotation — cycle through your favorite styles every session or on a timer
  • Dark floor control — lift dark colors so text stays readable against dark backgrounds
  • Per-style tuning — speed, band count, background glow intensity
  • Logo splash — fade-to-white OpenCode logo screen (ctrl+shift+r)
  • Live settings UI — tune everything via /chameleon-settings with keyboard navigation
  • CPU saver — drops to 1 FPS when the tab is hidden to reduce CPU usage

Installation

opencode plugin @divitkashyap/chameleon-tui

Or from OpenCode commands:

  1. Press Ctrl+P
  2. Select Install Plugin
  3. Enter @divitkashyap/chameleon-tui

Requires OpenCode >=1.3.14.

Visual Styles (50 total)

Metallic

Name Description
silver Classic chrome silver
gold Warm metallic gold
rose Rose gold metallic
purple Deep violet chrome
blue Steel blue chrome
green Emerald chrome
red Ruby chrome
iridescent Rainbow shimmer

Animal & Skin

Name Description
leopard Rosette spots with breathing effect
zebra Crisp black/white shimmer stripes
snake Scale-like iridescent green/purple
cow Black spots on white, halftone style

Geometric

Name Description
checker Flickering checkerboard vibration
harlequin Diamond prismatic RGB splitting
tartan Plaid lines with intersection brightening
opart Concentric circles illusion of motion
penrose Non-repeating tiling pattern

Neon & Glow

Name Description
plasma Swirling pinks, cyans, purples
biolum Dark ocean with pulsing cyan points
aurora Northern lights vertical curtains
laser Red arcade laser grid
neonflicker White/pink neon with random flicker
neonbloom Thin bright neon with soft glow

Glitch & Artsy

Name Description
rgbsplit Horizontal RGB channel offset
scanline Black with scrolling white lines
static Full-color TV static
corrupt Color blocks override palette
vaporwave Purple→pink→cyan retro gradient
datamosh Pixels bleed horizontally
chroma Radial waves with prism fringing

Nature

Name Description
fire Black→red→orange→yellow upward flicker
ocean Blues shift with wave horizontal bands
lightning Near-black with white flash bolts
ink Dark ink tendrils diffusing in water
marble White with swirling gray veins
lavalamp Blobs float and merge

Metallic Beyond

Name Description
oilslick Iridescent rainbow oil on water
holographic Rainbow diffraction grating
carbon Tight diagonal carbon fiber weave
copper Aged copper with patina greens
brushed Fine horizontal steel scratches
liquidmetal Mercury-like pools with ripples

Unusual Strokes

Name Description
calligraphy Ink brush strokes with highlights
splat Black with random ink drops
drip Spray paint with downward drips
watercolor Soft bleeding pigment effect
glass Frosted etched geometric patterns
feverdream Everything at once, maximum chaos

Auto-Rotation

Enable autoRotate to automatically cycle through a curated list of styles:

  • autoRotateInterval = 0 — changes every new session
  • autoRotateInterval = N — changes every N minutes
  • rotateList — your personal playlist of styles to cycle through

Options

{
  "$schema": "https://opencode.ai/tui.json",
  "plugin": [
    [
      "@divitkashyap/chameleon-tui",
      {
        "enabled": true,
        "fg": true,
        "bg": true,
        "speed": 0.008,
        "turns": 3,
        "glow": 0.05,
        "chameleonType": "silver",
        "autoRotate": false,
        "autoRotateInterval": 0,
        "rotateList": ["silver", "gold", "plasma"],
        "paletteFloor": 0.08
      }
    ]
  ]
}

Run /chameleon-settings to tune everything live. Type to search themes by name.

Config Fields

Field Type Default Description
fg boolean true Animate neutral text colors
bg boolean true Animate neutral background surfaces
speed number 0.008 Band movement speed (00.03)
turns number 3 Diagonal band count (0.258)
glow number 0.05 Background tint intensity (00.15)
chameleonType string silver Visual style from table above
autoRotate boolean false Enable automatic style rotation
autoRotateInterval number 0 Minutes between rotations (0 = per session)
rotateList string[] ["silver","gold","plasma"] Styles to cycle through
paletteFloor number 0.08 Minimum brightness for dark colors

Local Development

{
  "$schema": "https://opencode.ai/tui.json",
  "plugin": [["../../chameleon-tui", { "enabled": true, "chameleonType": "plasma" }]]
}

Or install directly from npm:

opencode plugin @divitkashyap/chameleon-tui

Acknowledgments

This plugin extends the rainbow concept with 50+ new visual styles and auto-rotation, but the core architecture and TUI integration patterns are derived from the rainbow plugin.

License

MIT


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages