⚙️ 🤖 mac-vendor: -h/--help literal im Dispatch, damit toolref sauber erntet #1

Closed
opened 2026-08-12 13:40:36 +02:00 by holm · 0 comments
Owner
Dimension Bewertung Einschätzung
Aufwand █░░░░░░░░░ Minimal — zwei Zeilen im Dispatch + eine Usage-Zeile
Nutzen ████████░░ Hoch — toolref mac-vendor liefert erst dadurch lesbare Syntax
Bruchhäufigkeit ██░░░░░░░░ Niedrig — einmalig, danach stabil
Nachhaltigkeit █████████░ Sehr hoch — Konvention gilt für alle künftigen Tools
Dringlichkeit ██████░░░░ Mittel — blockiert die Nutzung aus fremden Sessions

Problem

toolref ermittelt den Usage-Text in dieser Reihenfolge:

  1. --help/-h ausführen — aber nur, wenn die Quelle erkennbar Help-Handling hat (case "$src" in *--help*|*-h\)*)
  2. sonst: usage()-Funktionsblock roh aus der Quelle lesen
  3. sonst: # Beschreibung:-Zeile aus dem Header

mac-vendor.sh löst Flags generisch per Prefix-Strip auf (cmd="${cmd#--}"; cmd="${cmd#-}"help|h|""). Damit funktioniert mac-vendor --help zur Laufzeit einwandfrei, aber die Zeichenkette --help steht nirgends literal in der Quelle. toolref fällt deshalb auf Weg 2 zurück und speichert den rohen Heredoc — inklusive unaufgelöster ${C_CYAN}/${C_RESET}-Platzhalter.

Ist-Zustand in der DB (Auszug):

  ${C_DIM}│${C_RESET}  ${C_CYAN}${C_BOLD}mac-vendor${C_RESET}
    ${C_CMD}lookup${C_RESET} <mac|oui>      Hersteller + I/G- und U/L-Bit

Wirkung

Fremde Claude-Sessions (MikroTik-Kontext) und Kollegen bekommen über toolref mac-vendor keine brauchbare Syntax, sondern Shell-Variablen-Rohtext — und müssen doch wieder die Quelle lesen (genau das, was toolref vermeiden soll).

Fix

  • -h|--help literal in den Dispatch-case aufnehmen (neben dem bestehenden Prefix-Strip, der bleibt)
  • Usage-Text um die Zeile help | -h | --help diese Hilfe ergänzen — dokumentiert die Flag-Toleranz und liefert zugleich den literalen Treffer für toolref
  • danach toolref -u mac-vendor und Ausgabe verifizieren (ANSI-frei, keine ${…}-Reste)

Voraussetzung (bereits erledigt)

Symlink ~/bin/mac-vendormac-vendor.sh angelegt; toolref importiert ausschließlich aus ~/bin.

🤖 angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `█░░░░░░░░░` | Minimal — zwei Zeilen im Dispatch + eine Usage-Zeile | | Nutzen | `████████░░` | Hoch — `toolref mac-vendor` liefert erst dadurch lesbare Syntax | | Bruchhäufigkeit | `██░░░░░░░░` | Niedrig — einmalig, danach stabil | | Nachhaltigkeit | `█████████░` | Sehr hoch — Konvention gilt für alle künftigen Tools | | Dringlichkeit | `██████░░░░` | Mittel — blockiert die Nutzung aus fremden Sessions | ## Problem `toolref` ermittelt den Usage-Text in dieser Reihenfolge: 1. `--help`/`-h` **ausführen** — aber nur, wenn die Quelle erkennbar Help-Handling hat (`case "$src" in *--help*|*-h\)*`) 2. sonst: `usage()`-Funktionsblock **roh aus der Quelle** lesen 3. sonst: `# Beschreibung:`-Zeile aus dem Header `mac-vendor.sh` löst Flags generisch per Prefix-Strip auf (`cmd="${cmd#--}"; cmd="${cmd#-}"` → `help|h|""`). Damit funktioniert `mac-vendor --help` zur Laufzeit einwandfrei, aber die Zeichenkette `--help` steht **nirgends literal in der Quelle**. toolref fällt deshalb auf Weg 2 zurück und speichert den rohen Heredoc — inklusive unaufgelöster `${C_CYAN}`/`${C_RESET}`-Platzhalter. Ist-Zustand in der DB (Auszug): ``` ${C_DIM}│${C_RESET} ${C_CYAN}${C_BOLD}mac-vendor${C_RESET} ${C_CMD}lookup${C_RESET} <mac|oui> Hersteller + I/G- und U/L-Bit ``` ## Wirkung Fremde Claude-Sessions (MikroTik-Kontext) und Kollegen bekommen über `toolref mac-vendor` keine brauchbare Syntax, sondern Shell-Variablen-Rohtext — und müssen doch wieder die Quelle lesen (genau das, was toolref vermeiden soll). ## Fix - `-h|--help` **literal** in den Dispatch-`case` aufnehmen (neben dem bestehenden Prefix-Strip, der bleibt) - Usage-Text um die Zeile `help | -h | --help diese Hilfe` ergänzen — dokumentiert die Flag-Toleranz und liefert zugleich den literalen Treffer für toolref - danach `toolref -u mac-vendor` und Ausgabe verifizieren (ANSI-frei, keine `${…}`-Reste) ## Voraussetzung (bereits erledigt) Symlink `~/bin/mac-vendor` → `mac-vendor.sh` angelegt; toolref importiert ausschließlich aus `~/bin`. > 🤖 angelegt von Claude v00 (API/Token holm)
holm closed this issue 2026-08-12 13:44:13 +02:00
Sign in to join this conversation.
No description provided.