Twitch Toolkit
  • Rust 92.7%
  • PowerShell 3.2%
  • Shell 2.2%
  • NSIS 1.7%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
sionzee d2630d634b
All checks were successful
Community API / test + musl binary (push) Successful in 8m58s
Rust CI / fmt, clippy, test (Windows target, cross-built) (push) Successful in 29m3s
Release / Build, sign and publish (cross-built on Linux) (push) Successful in 31m55s
Community API / container image (push) Successful in 6m7s
Release 1.0.1
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 21:56:58 +02:00
.forgejo/workflows Build the bridge with NSIS instead of Inno Setup under Wine 2026-10-20 15:11:00 +02:00
Assets chore: tell users to not use msix installer for now & update presentation assets 2025-10-18 20:04:10 +02:00
crates Count a fullscreen game over the desktop as the foreground 2026-10-21 21:54:15 +02:00
deploy Move the Kick sign-in fallback ports out of reserved blocks 2026-10-19 00:38:36 +02:00
docs Show the bridge's progress window when the old updater starts it 2026-10-20 15:19:00 +02:00
installer Wait for the old app to exit before running its uninstaller 2026-10-20 15:24:22 +02:00
tools Build the bridge with NSIS instead of Inno Setup under Wine 2026-10-20 15:11:00 +02:00
vendor/gpui-capture Build, sign and publish releases on Linux, like Mickle 2026-10-18 23:32:53 +02:00
.gitignore Build, sign and publish releases on Linux, like Mickle 2026-10-18 23:32:53 +02:00
Cargo.lock Release 1.0.1 2026-10-21 21:56:58 +02:00
Cargo.toml Release 1.0.1 2026-10-21 21:56:58 +02:00
CHANGELOG.md Release 1.0.1 2026-10-21 21:56:58 +02:00
clippy.toml Pin clippy config to the repo 2026-10-13 15:49:21 +02:00
CONTRIBUTING.md Remove the Flutter app 2026-10-13 18:02:14 +02:00
LICENSE chore: restructure readme + licensing 2025-10-12 17:32:59 +02:00
README.md Add Kick: switch Twitch and Kick channels together 2026-10-18 20:42:18 +02:00
rust-toolchain.toml Rewrite TKit in Rust/GPUI 2026-10-13 12:16:41 +02:00

TKit Logo

TKit - Twitch Toolkit

Automatically update your Twitch and Kick category based on what you're doing

Releases · Issues · Community mappings


📋 Overview

TKit is a Windows desktop application that automatically switches your Twitch and Kick stream category based on your active window. Stop manually updating your category every time you switch games or applications - let TKit handle it for you.

Perfect for streamers who:

  • 🎮 Switch between multiple games during streams
  • 🎨 Alternate between gaming and creative work (coding, art, music)
  • 😅 Forget to update categories when switching
  • 📈 Want better discoverability with accurate categories

✨ Features

  • 🔄 Automatic Category Switching - Real-time window monitoring with instant category updates
  • 🟩 Twitch and Kick - Connect either or both; multistreamers get both channels switched at once
  • 🗺️ Community Mappings - Signed, community-maintained game lists, plus your own mappings
  • 🔎 Game Recognition - Reads installed Steam, Epic, GOG, Ubisoft, EA, Battle.net and Xbox games to suggest the right category
  • ⚡ Global Hotkeys - Quick manual category updates without leaving your game
  • 🌍 Multi-language Support - 10 languages: English, Czech, Polish, Spanish, French, German, Portuguese, Japanese, Korean, Chinese
  • 🔔 Desktop Notifications - Optional alerts when categories change
  • ⚙️ Configurable Behavior - Scan intervals, debounce delays, fallback actions
  • ⬆️ Signed Updates - Every update is checksummed and signature-checked

📥 Installation

Download TKit-Setup-<version>.exe from Releases and run it. It installs for the current user only, so no administrator rights are needed, and TKit keeps itself up to date.

Coming from the old Flutter version (0.0.1-dev.x)? It updates itself to TKit 1.0, which imports your mappings and settings on first start. You only need to reconnect Twitch once.

Requirements

  • Windows 10 or later (x64)
  • A Twitch account with streaming privileges, a Kick account, or both

🚀 Quick Start

  1. Install - Run the setup from Releases
  2. Launch TKit - Find it in the Start Menu
  3. Connect Twitch and/or Kick - Authorize Twitch in the welcome screen; Kick connects in your browser (Settings → Kick)
  4. Start a game - TKit switches the category; unknown games open a dialog to pick one
  5. Done - Monitoring runs in the background, even when minimized to the tray

📖 Usage Guide

Category Mappings

⚡ Recommended Method:

  1. Launch the game or application you want to map
  2. Press Alt+Shift+F1 (default shortcut for manual update)
  3. A dialog appears with the process name and window title filled in
  4. Search and select the correct Twitch category
  5. Save - done! Unknown games can also be contributed to the community lists.

You can also add, edit and import mappings on the Category Mappings page.

Category Mappings Interface

Kick

Connect Kick in Settings → Kick (or in the welcome screen). TKit opens Kick's sign-in in your browser and picks the answer up on localhost:47621. With both platforms connected, every switch goes to both channels; if one fails, only that one is retried.

Mappings and the community lists use Twitch categories. For Kick, TKit looks up the category with the same name (ignoring case, ™/® and punctuation) and remembers it. When Kick names a game differently, pick its Kick category in the mapping editor or from the "Kick has no category named…" notice. The choice applies to every game with that Twitch category.

Streaming on Kick only works too: category search then goes through TKit's server instead of your Twitch account.

Auto Switcher

  • Start/Stop Monitoring - Toggle automatic switching
  • Manual Update - Force update to current window's category
  • Quick Mapping - Click the plus (+) button next to your active application to map it
  • View History - See all category changes with timestamps
Auto Switcher Interface

Settings

Scan intervals, debounce delays, fallback behavior, notifications, hotkeys, language and updates. Settings are reachable from the main window or the tray.

Settings Interface

🛠️ Building from Source

TKit is a Rust workspace with a GPUI interface. You need the stable Rust toolchain (pinned in rust-toolchain.toml) and the MSVC build tools on Windows.

git clone https://git.evobug.com/Evobug/TKit.git
cd TKit
cargo run                      # the app (crates/tkit-app)
cargo test --workspace         # all tests
cargo clippy --workspace --all-targets -- -D warnings

Set TKIT_DRY_RUN=1 to run the app without changing your real Twitch and Kick categories.

Crate What it does
tkit-app The GPUI desktop app
tkit-core Settings, matcher and switcher logic
tkit-store SQLite storage, settings file, import of Flutter-era data
tkit-platform Windows integration: foreground window, autostart, launcher scan
tkit-twitch Twitch OAuth and Helix client
tkit-kick Kick browser sign-in (PKCE, via tkit-api's token proxy) and API client
tkit-runtime Background services: monitoring, list sync, submissions
tkit-mapping-rules Mapping list format, validation and signed index
tkit-mapping-tool CI tool for the community mapping repository
tkit-community-api Submission server for community mappings, Kick token proxy
tkit-updater Release lookup, verification and exe swap
tkit-release Release packaging and signing helper
tkit-cli Developer command-line tools

The last Flutter version lives in the history of main (tag flutter-legacy).

🤝 Support

  • 🐛 Report issues
  • 📝 Check logs - Press F2 while TKit is running, or open %LOCALAPPDATA%\TKit\logs

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

Game data from IGDB.


Note: TKit is not affiliated with or endorsed by Twitch Interactive, Inc. or by Kick.