🐛 🤖 toolctl-Checkout startet nicht: node_modules fehlt (dbus-native) #8

Closed
opened 2026-08-27 23:01:20 +02:00 by holm · 1 comment
Owner
Dimension Bewertung Einschätzung
Aufwand ██░░░░░░░░ Niedrig — Install-Hook + Launcher-Guard
Nutzen ████████░░ Hoch — ohne den Fix ist jeder frische Checkout tot
Bruchhäufigkeit ██████████ Immer — trifft jeden neuen toolctl-Sync und jeden frischen Clone
Nachhaltigkeit █████████░ Sehr hoch — .toolctl-install ist genau fuer diesen Fall gedacht
Dringlichkeit ████████░░ Hoch — Holm ist live reingelaufen

Befund (Holm, 2026-08-27)

~/.local/share/toolctl/playzen/main (frisch von toolctl sync angelegt) stirbt beim Start mit Cannot find module 'dbus-native' — npm-Abhaengigkeiten werden beim reinen Auschecken natuerlich nicht installiert, und playzen hat seit dem D-Bus-Service (#4) eine echte Runtime-Dependency.

Fix

  • .toolctl-install: fuehrt npm ci --omit=dev in der Worktree aus — toolctl ruft den Hook nach dem Anlegen der Worktree automatisch (SKILL:toolctl#Install-Hook).
  • playzen.sh: Guard vor dem Start — fehlt node_modules/, wird npm ci --omit=dev nachgeholt. Deckt auch manuelle Clones und den Fall ab, dass der Hook mal nicht lief.

🤖 angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `██░░░░░░░░` | Niedrig — Install-Hook + Launcher-Guard | | Nutzen | `████████░░` | Hoch — ohne den Fix ist jeder frische Checkout tot | | Bruchhäufigkeit | `██████████` | Immer — trifft jeden neuen toolctl-Sync und jeden frischen Clone | | Nachhaltigkeit | `█████████░` | Sehr hoch — .toolctl-install ist genau fuer diesen Fall gedacht | | Dringlichkeit | `████████░░` | Hoch — Holm ist live reingelaufen | ## Befund (Holm, 2026-08-27) `~/.local/share/toolctl/playzen/main` (frisch von `toolctl sync` angelegt) stirbt beim Start mit `Cannot find module 'dbus-native'` — npm-Abhaengigkeiten werden beim reinen Auschecken natuerlich nicht installiert, und playzen hat seit dem D-Bus-Service ([#4](https://forgejo.mueller.network/holm.tools.public/playzen/issues/4)) eine echte Runtime-Dependency. ## Fix - `.toolctl-install`: fuehrt `npm ci --omit=dev` in der Worktree aus — toolctl ruft den Hook nach dem Anlegen der Worktree automatisch (SKILL:toolctl#Install-Hook). - `playzen.sh`: Guard vor dem Start — fehlt `node_modules/`, wird `npm ci --omit=dev` nachgeholt. Deckt auch manuelle Clones und den Fall ab, dass der Hook mal nicht lief. > 🤖 angelegt von Claude v00 (API/Token holm)
Author
Owner

Erledigt — Commit 0834557, gemergt nach main (d88f72d).

Beleg: toolctl sync playzen zieht den Fix, meldet "fuehre .toolctl-install aus", npm ci installiert 4 Pakete, node_modules/dbus-native liegt in der Worktree. Start aus ~/.local/share/toolctl/playzen/main/playzen.sh laeuft ohne Fehler durch, D-Bus-Service antwortet (get_player_state -> {"state":"stopped",...}).

Scope-Frage (Holm): betrifft nur playzen — einziges Registry-Tool mit npm-Runtime-Dependency. FlipDrop hat keine dependencies (geprueft), Electron kommt bei beiden aus shell.nix. Der .toolctl-install-Mechanismus ist bestehende toolctl-Konvention pro Repo; kuenftige Tools mit npm-Abhaengigkeiten legen denselben Hook ins eigene Repo.

🤖 Kommentar von Claude v00 (API/Token holm)

**Erledigt** — Commit [`0834557`](https://forgejo.mueller.network/holm.tools.public/playzen/commit/0834557f6806493e4c9917382148f6df392b9186), gemergt nach `main` ([`d88f72d`](https://forgejo.mueller.network/holm.tools.public/playzen/commit/d88f72d)). Beleg: `toolctl sync playzen` zieht den Fix, meldet "fuehre .toolctl-install aus", `npm ci` installiert 4 Pakete, `node_modules/dbus-native` liegt in der Worktree. Start aus `~/.local/share/toolctl/playzen/main/playzen.sh` laeuft ohne Fehler durch, D-Bus-Service antwortet (`get_player_state` -> `{"state":"stopped",...}`). Scope-Frage (Holm): betrifft nur playzen — einziges Registry-Tool mit npm-Runtime-Dependency. FlipDrop hat keine `dependencies` (geprueft), Electron kommt bei beiden aus `shell.nix`. Der `.toolctl-install`-Mechanismus ist bestehende toolctl-Konvention pro Repo; kuenftige Tools mit npm-Abhaengigkeiten legen denselben Hook ins eigene Repo. > 🤖 Kommentar von Claude v00 (API/Token holm)
holm closed this issue 2026-08-27 23:04:15 +02:00
Sign in to join this conversation.
No description provided.