- TypeScript 98.1%
- Shell 1.3%
- PowerShell 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo | ||
| .githooks | ||
| docs | ||
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| .npmrc | ||
| CLAUDE.md | ||
| deno.json | ||
| deno.lock | ||
| install.ps1 | ||
| install.sh | ||
| main.ts | ||
| README.md | ||
aivopod
Das CLI für Lehrpersonen und Autor:innen von Challenge-Paketen der Plattform Aivopod. Eine einzelne ausführbare Datei, ohne Node oder Deno.
Installation
Linux und macOS:
curl -fsSL https://git.belowtoxic.cloud/api/packages/aivopod/generic/aivopod-cli/latest/install.sh | sh
Windows (PowerShell):
irm https://git.belowtoxic.cloud/api/packages/aivopod/generic/aivopod-cli/latest/install.ps1 | iex
Das Skript prüft die Prüfsumme gegen release-trust.json und legt aivopod nach ~/.local/bin
(Windows: %LOCALAPPDATA%\aivopod\bin, wird dem PATH hinzugefügt). macOS: Die Datei ist nicht
notarisiert; das Skript entfernt das Quarantäne-Attribut. Aktualisieren mit aivopod self-update.
Hilfe
aivopod help zeigt alle Befehle, aivopod <befehl> --help Aufruf, Optionen mit Format und ein
Beispiel, z. B. aivopod year add --help oder aivopod student --help. Die Hilfe braucht keine
Anmeldung.
Anmelden
aivopod login --url https://app.schule.example # Token aus dem Browser (/cli-token)
aivopod login --url https://app.schule.example --device # Gerätecode, wenn der Anmeldedienst ihn anbietet
aivopod whoami
Mehrere Plattformen: --profile <name> bei login, dann aivopod profile list und
aivopod profile use <name>. Die Konfiguration liegt in ~/.config/aivopod/config.json (Windows:
%APPDATA%\aivopod). Meldungen erscheinen in der Sprache der Lehrperson; --locale wählt eine
andere.
Schule, Kurse und Schüler:innen
aivopod template list # Kursvorlagen der Schule
aivopod course add --year 2026/27 --name "5a Informatik" --template "Informatik 1"
aivopod students list --tag 5a # Schüler:innen der Schule, nach Tag
aivopod enroll --course <id> --tag 5a # aus der Liste einschreiben
aivopod course self-enroll --course <id> --on # Kurs-Code zum Selbst-Einschreiben
aivopod course show --course <id> # Zuweisungen, Version der Vorlage
Was man darf, hängt von der Rolle in der Schule ab: user unterrichtet in Kursen aus Vorlagen,
composer stellt Kurse frei zusammen, creator legt Vorlagen an (aivopod template add, dann
aivopod assign --template … und aivopod template release), manager leitet die Schule
(Lehrpersonen und Rollen, Schuljahre, Schüler:innen mit Tags, students retag --from 4b --to 5b,
students merge, school retention). auditor liest alles, ohne Namen von Schüler:innen.
aivopod whoami zeigt die eigene Rolle; aivopod help alle Befehle.
Pakete
aivopod pack init mein-paket # neues Paket mit Beispiel, Tests und Workflow
cd mein-paket && npm install # das SDK aus der Registry der Organisation
aivopod pack test # Tests, ohne vitest
aivopod pack preview # im Browser durchspielen, mit Prüfung und Feedback
aivopod pack publish # bauen, testen, veröffentlichen
Wie man Challenges schreibt, prüft und testet: Handbuch für Autor:innen.
Darstellung und Skins
aivopod school skins # Skins der Schule je Zielgruppe
aivopod school skins --audience junior --skin keimling # Leitung: Skin für Kinder
aivopod course audience --course <id> --set junior # Zielgruppe eines Kurses
aivopod course card --course <id> --icon code --description "Code lesen" # Kurskarte
aivopod students audience --tag 3a --set junior # Zielgruppe einer Klasse
aivopod skin init meine-schule # eigener Skin, siehe Handbuch Kapitel 11
Entwicklung
deno task check # fmt, lint, check, test
deno task compile # dist/aivopod
Für pack preview braucht ein Entwicklungsstand die Oberflächen der Plattform:
AIVOPOD_FRONTEND_DIR auf ein entpacktes aivopod-frontend-<version>.tar.gz der Plattform-Version
aus den @aivopod/*-Paketen in deno.json setzen (Ordner web, run, preview) oder sie nach
frontend/ legen und mit --include frontend kompilieren.