{
  "markdown": "<div align=\"center\">\n\n```\n▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃\n\n ██████╗██╗      █████╗ ██╗   ██╗██████╗ ███████╗       ██████╗ █████╗ ███████╗████████╗\n██╔════╝██║     ██╔══██╗██║   ██║██╔══██╗██╔════╝      ██╔════╝██╔══██╗██╔════╝╚══██╔══╝\n██║     ██║     ███████║██║   ██║██║  ██║█████╗  █████╗██║     ███████║███████╗   ██║\n██║     ██║     ██╔══██║██║   ██║██║  ██║██╔══╝  ╚════╝██║     ██╔══██║╚════██║   ██║\n╚██████╗███████╗██║  ██║╚██████╔╝██████╔╝███████╗      ╚██████╗██║  ██║███████║   ██║\n ╚═════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝       ╚═════╝╚═╝  ╚═╝╚══════╝   ╚═╝\n\n▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃▁▃▅▇█▇▅▃▁▂▅▇▆▃\n```\n\n  <h3>Stream Twitch, YouTube, and Kick right inside Claude Code.</h3>\n\n  <a href=\"#quick-start\">Quick Start</a> ·\n  <a href=\"#features\">Features</a> ·\n  <a href=\"#commands\">Commands</a> ·\n  <a href=\"https://github.com/kvreem/claude-cast/issues\">Issues</a>\n</div>\n\n---\n\n## Setup\n\n### 1. Install dependencies\n\n```bash\nbrew install mpv streamlink tmux\n```\n\n### 2. Start a tmux session\n\nclaude-cast runs as a side pane in tmux. Start tmux first, then launch Claude Code inside it.\n\n```bash\ntmux new-session -s dev\nclaude\n```\n\n### 3. Install the plugin\n\n```\n/plugin install claude-cast\n```\n\n### 4. Start a stream\n\n```bash\n# Twitch — just the channel name\n/claude-cast shroud\n\n# Twitch — full URL works too\n/claude-cast https://www.twitch.tv/swagg\n\n# Kick\n/claude-cast kick.com/myrongainesx\n\n# YouTube\n/claude-cast https://www.youtube.com/live/dQw4w9WgXcQ\n\n# Force a platform\n/claude-cast xqc kick\n```\n\nAudio plays. Chat scrolls. Code continues.\n\n---\n\n## Features\n\n**Multi-Platform Streaming**<br/>\nTwitch, YouTube, and Kick. Auto-detects the platform from the channel name or URL. Powered by streamlink + mpv.\n\n**Live Chat**<br/>\nReal-time chat alongside your code. Twitch IRC (zero-config), YouTube Data API, and Kick WebSocket. Colored usernames and badges.\n\n**Three Layout Modes**<br/>\nSwitch between compact, rich, and minimal layouts to match your workflow. Cycle with `l` or `/claude-cast layout <mode>`.\n\n```\ncompact — max chat, minimal player chrome (default)\nrich    — full player with volume bar and elapsed time\nminimal — single-line player, maximum chat density\n```\n\n**Non-Blocking Tmux Pane**<br/>\nPlayer opens as a side pane in your terminal via tmux. Your Claude Code session stays untouched. Auto-installs tmux if needed.\n\n**Full Keyboard Control**<br/>\nControl everything without leaving your terminal.\n\n```\np — pause / play          m — mute / unmute\nc — toggle chat           l — cycle layout\n↑↓ — volume               q — hide player (audio continues)\nQ — stop everything\n```\n\n**Slash Command Control**<br/>\nEvery action available as a Claude Code command for AI-assisted control.\n\n---\n\n## Commands\n\n```\n/claude-cast <channel>        Start streaming (auto-detect platform)\n/claude-cast pause            Pause audio\n/claude-cast play             Resume audio\n/claude-cast mute             Mute audio\n/claude-cast unmute           Unmute audio\n/claude-cast volume <0-100>   Set volume\n/claude-cast hide-chat        Hide chat panel\n/claude-cast show-chat        Show chat panel\n/claude-cast hide-player      Close TUI (audio continues)\n/claude-cast show-player      Open TUI\n/claude-cast layout <mode>    Switch layout (compact|rich|minimal)\n/claude-cast stop             Stop everything\n/claude-cast status           Current state\n/claude-cast:configure        API keys and preferences\n```\n\n---\n\n## Architecture\n\n```\n┌─ Terminal (tmux) ──────────────────────────────────────┐\n│                                                        │\n│  Claude Code             │  claude-cast TUI            │\n│  (your work)             │  (player + chat)            │\n│                          │                             │\n│  > /claude-cast swagg    │  ▶ swagg  ▁▃▅▇█▇▅▃ Vol:75% │\n│  Now streaming swagg...  │  user1: nice play!          │\n│                          │  user2: GG                  │\n│  > fixing bugs...        │  user3: lol                 │\n│                          │                             │\n└──────────────────────────┴─────────────────────────────┘\n         │                          │\n         │ MCP (stdio)              │ file-based IPC\n         ▼                          │\n    stream-server ◄─────────────────┘\n      │       │\n      ▼       ▼\n    mpv    chat (IRC/WS/API)\n```\n\n---\n\n## Tech Stack\n\n| Component | Technology |\n|-----------|-----------|\n| Runtime | Bun |\n| MCP Server | @modelcontextprotocol/sdk |\n| TUI | neo-blessed |\n| Audio | mpv + streamlink |\n| Chat | Twitch IRC · YouTube API · Kick WebSocket |\n| IPC | File-based state + ndjson |\n| Monorepo | Bun workspaces |\n\n---\n\n## Project Structure\n\n```\nclaude-cast/\n├── packages/\n│   ├── stream-server/    MCP server, player engine, chat engines\n│   ├── stream-tui/       Blessed TUI with layouts and widgets\n│   └── shared/           Types, IPC protocol, platform detection\n├── skills/               Slash command definitions\n├── hooks/                Session lifecycle hooks\n└── scripts/              Dependency checks, tmux install\n```\n\n---\n\n## Requirements\n\n| Dependency | Install | Purpose |\n|-----------|---------|---------|\n| **Claude Code** | [claude.com/code](https://claude.com/code) | Plugin host |\n| **tmux** | `brew install tmux` | Side pane for player + chat |\n| **mpv** | `brew install mpv` | Audio playback |\n| **streamlink** | `brew install streamlink` | Stream URL extraction |\n| **Bun** | Required by Claude Code | Plugin runtime |\n\nSupported on **macOS** and **Linux**.\n\n---\n\n## Configuration\n\nRun `/claude-cast:configure` to set:\n\n| Setting | Description | Default |\n|---------|-------------|---------|\n| `layout` | Default layout: `compact`, `rich`, or `minimal` | `compact` |\n| `volume` | Default volume (0-100) | `75` |\n| `pane-width` | Tmux pane width in columns | `40` |\n| `youtube-api-key` | Required for YouTube chat | — |\n| `twitch-client-id` | Optional, for richer stream metadata | — |\n\nConfig stored at `~/.claude/channels/claude-cast/config.json`.\n\n---\n\n## Contributing\n\nWe welcome contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n**Development setup:**\n\n```bash\ngit clone https://github.com/kvreem/claude-cast\ncd claude-cast\nbun install\nbun run dev\n```\n\n**Before submitting:**\n\n```bash\nbun run typecheck    # Type checking\nbun run lint         # Linting\nbun test             # Run tests\n```\n\n---\n\n## Repository Activity\n\n![Alt](https://repobeats.axiom.co/api/embed/84913fd11b6764721df414bcf5a0f409d2c85729.svg \"Repobeats analytics image\")\n\n---\n\n## License\n\nMIT License\n\nCopyright (c) 2026 claude-cast contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
  "bytes": 7685,
  "sha": "355efa7d963a3ccb38dd69c5271aa9529d9b217f1c4e52ba7d9f993206ddc18b",
  "repo_slug": "kvreem/claude-cast",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_kvreem_claude_cast_claude_cast_80600f8a/readme"
}