Vollstaendige Kopie, kein frischer Klon: companion-app/.env.local, die echten Belege unter tests/belegparser/belege/ und beide node_modules sind mitgekommen, es ist also nichts nachzuinstallieren. 10.924 Dateien, fsck ohne Beanstandung. Die alte Kopie unter .claude\sessions\Audi_app_TG bleibt vorerst liegen, darf aber nicht mehr pushen: ein pre-push-Hook lehnt jeden Push ab und nennt den neuen Ort. Zwei Arbeitskopien, die beide pushen duerfen, laufen auseinander - bei DM180 einmal geschehen. Der Hook liegt in .git/hooks und ist bewusst nicht versioniert; er gehoert zu jenem einen Verzeichnis, nicht zum Projekt. Nebenwirkung zum Guten: /stand und die uebrigen Projektbefehle greifen jetzt ohne den unversionierten Zeiger, weil das Repository direkt geoeffnet wird. stand.md und die Dateikarte in SPECIFICATION.md entsprechend nachgezogen. AGENTS.md Abschnitt DK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.7 KiB
description
| description |
|---|
| Zeigt den aktuellen Stand von DM360 - was zu tun ist, und ob Repo, Versionen und ausgelieferte App zusammenpassen. |
Wo dieser Befehl greift. Claude Code sucht Projektbefehle ausschliesslich in
<Arbeitsverzeichnis>/.claude/commands/. Seit dem Umzug der Arbeitskopie nachC:\Users\tobia\Projekte\audi-app(10.09.2026) wird das Repository direkt geoeffnet -/standsteht damit ohne Zutun zur Verfuegung. Der frueher noetige Zeiger unter.claude\sessions\.claude\commands\stand.mdentfaellt; er war unversioniert und ging mit jeder verlorenen Arbeitsumgebung mit. Wird doch einmal eine Ebene darueber gearbeitet, greift dieselbe Regel wie zuvor: dort findet Claude Code diese Datei nicht.
Zeige den aktuellen Stand dieses Projekts. Zwei Teile: den gemessenen
(unten selbst nachrechnen, nie aus dem Gedächtnis) und den gepflegten (aus
OFFEN.md).
1. Messen
Führe genau diesen Block aus:
R=$(git rev-parse --show-toplevel) && cd "$R"
echo "== Repository =="
echo " Zweig $(git branch --show-current) | HEAD $(git rev-parse --short HEAD) | origin $(git rev-parse --short @{u} 2>/dev/null || echo '?')"
printf " Arbeitsbaum: "; [ -z "$(git status --porcelain)" ] && echo sauber || git status --short
echo "== Versionen =="
python - <<'PY'
import json, hashlib, pathlib, zipfile, plistlib, re
b = "custom_components/audi_dashboard/"
m = json.load(open(b + "manifest.json"))["version"]
print(f" Integration {m}")
try:
j = json.load(open(b + "frontend/app/bundle.json"))
z = pathlib.Path(b + "frontend/app/bundle.zip").read_bytes()
ok = j["version"] == m and hashlib.sha256(z).hexdigest() == j["sha256"] and len(z) == j["bytes"]
print(f" OTA-Buendel {j['version']} {'passt' if ok else 'PASST NICHT - npm run ota faellig'}")
except Exception as e:
print(" OTA-Buendel nicht lesbar:", e)
try:
zf = zipfile.ZipFile("companion-app/auslieferung/App.ipa")
n = zf.namelist()
p = plistlib.loads(zf.read([x for x in n if re.match(r"Payload/[^/]+\.app/Info\.plist$", x)][0]))
print(f" .ipa auf dem Telefon {p.get('CFBundleShortVersionString')}")
c = [x for x in n if re.match(r"Payload/[^/]+\.app/capacitor\.config\.json$", x)]
if c:
L = json.loads(zf.read(c[0])).get("packageClassList", [])
fehlt = [k for k in ("BelegZwischenablagePlugin", "KalenderTerminPlugin") if k not in L]
print(" eigene Plugins registriert:", "ja" if not fehlt else "NEIN - " + ", ".join(fehlt))
except Exception as e:
print(" .ipa nicht lesbar:", e)
PY
echo "== Wartet auf einen Xcode-Lauf =="
B=$(git log --format=%H -1 -- companion-app/auslieferung/App.ipa)
N=$(git log --oneline "$B..HEAD" -- companion-app/native/ companion-app/scripts/ios-*.sh companion-app/scripts/ios-*.mjs companion-app/capacitor.config.ts)
[ -z "$N" ] && echo " keine nativen Aenderungen seit der ausgelieferten .ipa" || echo "$N" | sed 's/^/ /'
2. Lesen
Lies danach OFFEN.md. Steht dort etwas unter „Wartet auf einen Xcode-Lauf",
oder meldet die Messung nicht registrierte Plugins, lies zusaetzlich
APPLE_DEV_BACKLOG.md.
3. Berichten
Kurz und in dieser Reihenfolge:
- Stimmt der mechanische Stand? Nur melden, was nicht passt - Repo nicht synchron, Buendel-Version abweichend, Pluginliste unvollstaendig, native Aenderungen aufgelaufen. Passt alles, genuegt ein Satz.
- Was wartet auf den Eigentuemer (Abschnitt 1 und 2 von
OFFEN.md). - Was eine Sitzung bauen koennte (Abschnitt 3), mit einer Empfehlung.
Nenne die Punkte aus OFFEN.md, statt sie neu herzuleiten - und wenn dir beim
Messen etwas auffaellt, das dort fehlt, sag es und trage es nach.
Starte nichts von selbst. Ein Xcode-Lauf ist immer die Handlung des
Eigentuemers (Apple-Regel in AGENTS.md).