Struktur, Doku und S0-Toolchain fuer das abdulive-Toolkit

Monorepo-Geruest fuer neun Streamer-Tools plus den Ingest-Daemon, der
unter sechs davon liegt. Enthaelt:

- docs/: Ueberblick, Architektur, Twitch-Integration, Datenmodell,
  Roadmap, Setup, Hebel-Analyse und den MVP-Plan "Clip-Knopf"
- docs/projects/: je eine Spezifikation pro Tool
- docs/decisions/: vier ADRs (TS-Monorepo, SQLite, EventSub/IRC, Docker)
- docker/: Image mit ffmpeg und whisper.cpp, abhaengigkeitsfreier
  Entrypoint mit check-env, fetch-model und calibrate
- config/layout.yaml: aus einem VOD-Screenshot eingemessener
  Facecam-Ausschnitt (440x330 oben links, Chat-Overlay ab x=1270)

Noch kein Anwendungscode - Scheibe S0 aus docs/07-mvp-plan.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VTGjd92LsDDWF3frd9FTB
This commit is contained in:
ZeasyAlexandClaude Opus 5 committed 2026-09-09 08:56:09 +02:00
commit d09e2b945a
98 files changed
+3273

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
# @abdulive/broadcaster
Go-Live-Ankuendigung auf Discord, Bluesky, Mastodon, plus Instagram-Story-Bild.
Spezifikation: [docs/projects/go-live-broadcaster.md](../../docs/projects/go-live-broadcaster.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/broadcaster",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/broadcaster — siehe docs/projects/go-live-broadcaster.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/clipper
Clip-to-Shorts-Pipeline: Trigger -> Replay/Clip -> 9:16 -> Untertitel -> Upload-Kandidat.
Spezifikation: [docs/projects/clip-shorts.md](../../docs/projects/clip-shorts.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/clipper",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/clipper — siehe docs/projects/clip-shorts.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/community
Community-Gedaechtnis: Begruessungen, Meilensteine, Overlay-Hinweis. Modul im overlay-server.
Spezifikation: [docs/projects/community-memory.md](../../docs/projects/community-memory.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/community",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/community — siehe docs/projects/community-memory.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/dashboard
Analytics-Dashboard und Freigabe-Ansicht fuer Clip-Kandidaten.
Spezifikation: [docs/projects/analytics.md](../../docs/projects/analytics.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/dashboard",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/dashboard — siehe docs/projects/analytics.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/ingest
Daemon: IRC + EventSub + Helix-Polling + OBS -> DB und Event-Bus. Das Fundament.
Spezifikation: [docs/projects/00-ingest.md](../../docs/projects/00-ingest.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/ingest",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/ingest — siehe docs/projects/00-ingest.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/loyalty
Punktesystem mit Ledger und Shop mit echten Effekten. Modul im overlay-server.
Spezifikation: [docs/projects/loyalty-shop.md](../../docs/projects/loyalty-shop.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/loyalty",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/loyalty — siehe docs/projects/loyalty-shop.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/overlay-server
WebSocket-Backend und Command-Registry fuer alle Overlays.
Spezifikation: [docs/projects/chat-control.md](../../docs/projects/chat-control.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/overlay-server",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/overlay-server — siehe docs/projects/chat-control.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/overlay-web
Browser-Sources fuer OBS: Alerts, Effekte, Community-Hinweis, Umfrage, Raid-Panel.
Spezifikation: [docs/projects/chat-control.md](../../docs/projects/chat-control.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/overlay-web",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/overlay-web — siehe docs/projects/chat-control.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/raid-scout
Raid-Ziele finden und bewerten, Raid-Historie und Erwiderungs-Erinnerung.
Spezifikation: [docs/projects/raid-network.md](../../docs/projects/raid-network.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/raid-scout",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/raid-scout — siehe docs/projects/raid-network.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/recap
Stream-Zusammenfassung nach Streamende als Discord-Post.
Spezifikation: [docs/projects/stream-recap.md](../../docs/projects/stream-recap.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/recap",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/recap — siehe docs/projects/stream-recap.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}
+5
View File
@@ -0,0 +1,5 @@
# @abdulive/vod-chapters
Kapitel-Timestamps aus Kategorie- und Szenenwechseln.
Spezifikation: [docs/projects/vod-chapters.md](../../docs/projects/vod-chapters.md)
+12
View File
@@ -0,0 +1,12 @@
{
"name": "@abdulive/vod-chapters",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --test"
}
}
+2
View File
@@ -0,0 +1,2 @@
// @abdulive/vod-chapters — siehe docs/projects/vod-chapters.md
export {};
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": { "outDir": "dist", "rootDir": "src" },
"include": ["src"]
}