Files
kiddo/docs/DEVELOPMENT.md
2026-01-15 17:52:21 +01:00

3.2 KiB

ID: DOC_000013 | Version: 0.2.3 | Status: Draft By: Codex (GPT-5)

Development

Repository-Struktur (Kurz)

  • backend/: FastAPI-App, Auth, Update-Logik, Templates, Static Assets.
  • scripts/: Install/Deploy/Update/Helper-Skripte.
  • systemd/: Beispiel-Unit.
  • docs/architecture/: OpenAPI-Spezifikation fuer Update-Service.
  • docs/: Dokumentation.
  • assets/: Branding und Design.
  • sk.sh: Legacy-CLI.

Lokales Setup

./scripts/create_venv.sh
source .venv/bin/activate
./scripts/run.sh

Standard: 0.0.0.0:80. Fuer andere Ports:

HOST=127.0.0.1 PORT=8000 ./scripts/run.sh

Release-Upload (Dev/Prod)

Das Update-Artefakt wird als tar.gz gebaut und ueber den Update-Service hochgeladen. Das Script nutzt VERSION und laedt ein vollstaendiges Release (kein Delta).

Vorbereitung:

cp update-addon.env.example update-addon.env

Beispiel (Dev):

./scripts/upload_release.sh --profile dev

Tests und Lint

Im Repo sind keine automatisierten Tests enthalten. Verfuegbare Checks:

  • Bash-Syntax: bash -n sk.sh
  • ShellCheck: shellcheck sk.sh

Coding Conventions

  • Bash 4+, set -euo pipefail in neuen Skripten.
  • Python: FastAPI-Patterns, klare Modultrennung (Auth, Actions, Update, OIDC).

Beitrag und Workflow

  • Arbeite mit Feature-Branches.
  • Aktualisiere VERSION, Doku-Header und CHANGELOG.md gemaess SOP.
  • PRs sollten Verhalten, Risiken und manuelle Tests beschreiben.

CI/CD

Aktuell keine CI/CD-Pipeline im Repository definiert.

Legacy/Interna

  • SKD_UPDATE_URL und SKD_UPDATE_STATUS_URL sind in backend/settings.py noch vorhanden, werden aber im aktuellen Code nicht genutzt.

Externe Abhaengigkeiten (mit Quelle und Zweck)

Python-Libraries (requirements.txt)

System-Tools

Externe Services

Weitere Dokumente

  • Architektur: docs/ARCHITECTURE.md
  • Deployment: docs/DEPLOYMENT.md