Skip to content

Développer une appli Kappapps — guide agent IA

Tu écris une appli Kappapps (jeu ou outil installable par un streamer sur son channel). Ce dossier contient ton appli ; le sous-dossier ai-knowledge/ est le corpus de référence du SDK, téléchargé depuis Kappapps. Lis-le avant de coder une API dont tu n'es pas sûr.

Par où commencer

  1. ai-knowledge/CHEATSHEET.md — mémo 1 page : contrat d'exécution, globaux, services, cycle de vie. À lire en premier.
  2. ai-knowledge/reference/ — doc détaillée par service / concept :
    • Concepts appli : lifecycle, preferences, data-storage, rewards, dynamic-triggers, launch-modes, app-to-app, i18n, plugins, prefs-panels.
    • Services SDK partagés : chat, emotes, medias, announces, textToSpeech, users, twitch, polls, ai, dom, events, overlay, services.
  3. ai-knowledge/examples/ — applis gold complètes (html + js + config commentés).
  4. ai-knowledge/PITFALLS.md + ai-knowledge/common-PITFALLS.md — pièges appli + pièges transverses.

Types & autocomplétion

  • Les types TypeScript du SDK sont dans app-sdk.d.ts (à la racine de l'app). Utilise-les pour l'autocomplétion / la vérification de signatures.
  • Doc en ligne : https://kappapps.app/docs/sdk/index.html ; typedefs V2 en ligne : https://kappapps.app/overlay/app.d.ts.

Règle d'or

N'invente jamais une signature. Avant d'utiliser une API incertaine, lis le fichier reference/ correspondant ou vérifie dans app-sdk.d.ts. Une signature inventée = une appli cassée.

Structure de fichiers d'une appli

index.html               point d'entrée : charge le SDK puis style.css + script.js (sur l'event AppliLoaded)
script.js                ta logique (IIFE async ; kapp/k déjà dispo)
style.css                styles de l'appli
infos.json               manifeste : launch-mode, scopes, services, window, plugins, textset, viewers-optout
textset.js               i18n (window.textset → global text())
preferences.config.js    arbre des préférences streamer (compilé en config/preferences.config.json)
cli-config.json          config de build/upload (entries à compiler, excludes à l'upload)
modules/                 modules JS importés (ex. Model.js pour factoriser les préférences)
assets/                  ressources statiques
config/                  fichiers compilés (preferences.config.json, default_triggers.config.json, …) — NE PAS éditer à la main

Workflow dev (via le Kappapps DEV HUB)

  • Les outils sont exposés par l'app de bureau Kappapps DEV HUB via son endpoint MCP local : http://localhost:7581/mcp.
  • pull récupère l'appli depuis Kappapps ; push renvoie tes modifs.
  • transpile compile preferences.config.jsconfig/preferences.config.json. watch le fait à chaque changement.
  • serve lance un serveur local + enregistre l'URL localhost auprès de Kappapps pour tester en direct.
  • download_sdk_typedefs met à jour app-sdk.d.ts ; download_app_knowledge met à jour ce corpus ai-knowledge/.
  • ⚠️ Migration : ces outils vivaient avant dans le HUB streamer (http://localhost:7580/mcp). Si ta config MCP pointe encore sur le port 7580, mets-la à jour : claude mcp add --transport http kappapps-hub http://localhost:7581/mcp (le DEV HUB se télécharge depuis le portail développeur).

Sources de vérité (pour qui maintient ce corpus)

  • Surface réelle : assets/overlay/src/appli.ts, src/kapp/Appli.ts + src/kapp/App.ts, src/services/*, src/models/*.
  • Applis réelles de référence : apps/_bootstrap (squelette), apps/sdk-smoke-test (couverture SDK), apps/aiquizz, apps/currency-manager.