Dieser Post setzt den einundzwanzigsten Teil fort. In wachsenden Modellen verliert man schnell den Überblick. bausteinsicht find und bausteinsicht show sind die zwei Navigationsbefehle: suchen und inspizieren.

bausteinsicht find

find durchsucht alle Elemente, Beziehungen und Views nach einem Begriff. Die Suche ist case-insensitiv, partiell und verwendet AND-Semantik bei mehreren Wörtern.

# Alle Treffer für "payment"
bausteinsicht find payment

# AND-Suche: alle Treffer die "payment" UND "service" enthalten
bausteinsicht find payment service

# Nur Elemente (keine Relationships oder Views)
bausteinsicht find payment --type element

# Nur Beziehungen
bausteinsicht find charge --type relationship

# Nur Views
bausteinsicht find overview --type view

Ausgabe:

Search results for "payment" (4 matches)
========================================

Elements (2):
  paymentservice             [service   ]  "Payment Service"  technology: Rust  score: 95
  paymentservice.ledger      [database  ]  "Payment Ledger"   technology: PostgreSQL  score: 72

Relationships (1):
  shop.api→paymentservice    shop.api → paymentservice  "charge"  score: 60

Views (1):
  payment-view               "Payment System"  score: 45

Ergebnisse sind nach Relevanz-Score sortiert — das relevanteste Ergebnis steht zuerst.

JSON-Ausgabe

bausteinsicht find payment --format json
{
  "query": "payment",
  "total": 4,
  "results": [
    {
      "type": "element",
      "id": "paymentservice",
      "kind": "service",
      "title": "Payment Service",
      "technology": "Rust",
      "score": 95
    },
    {
      "type": "relationship",
      "id": "shop.api→paymentservice",
      "from": "shop.api",
      "to": "paymentservice",
      "title": "charge",
      "score": 60
    }
  ]
}

bausteinsicht show

show zeigt alle Details eines einzelnen Elements — inklusive aller Beziehungen und Views. Die Element-ID verwendet Punkt-Notation für verschachtelte Elemente.

bausteinsicht show paymentservice
bausteinsicht show paymentservice.ledger

Ausgabe:

Element: paymentservice
=======================
Kind:        service
Title:       Payment Service
Technology:  Rust
Status:      deployed
Description: Verarbeitet alle Zahlungsvorgänge

Relationships (3):
  ← shop.api           charge
  → paymentservice.ledger  INSERT payment
  → shop.db            audit log

Views (2):
  payment-view
  system-overview

JSON-Ausgabe

bausteinsicht show paymentservice --format json
{
  "id": "paymentservice",
  "kind": "service",
  "title": "Payment Service",
  "technology": "Rust",
  "status": "deployed",
  "description": "Verarbeitet alle Zahlungsvorgänge",
  "relationships": [
    { "direction": "←", "other": "shop.api",              "label": "charge" },
    { "direction": "→", "other": "paymentservice.ledger", "label": "INSERT payment" },
    { "direction": "→", "other": "shop.db",               "label": "audit log" }
  ],
  "views": ["payment-view", "system-overview"]
}

find + show: Typische Kombination

Ein unbekanntes Modell erkunden:

# 1. Wonach suche ich?
bausteinsicht find auth

# 2. Interessantes Element gefunden — Details anzeigen
bausteinsicht show authservice

# 3. Abhängige Elemente erkunden
bausteinsicht show shop.frontend  # hat authservice als Beziehung

Für LLM-Workflows (→ Teil 10):

# Kontext für LLM aufbauen
bausteinsicht find payment --format json | \
  xargs -I{} bausteinsicht show {} --format json

Unterschied zu bausteinsicht status

findstatus

Freitext-Suche über alle Felder

Liste nach Lifecycle-Status gefiltert

Gut für: unbekannte Modelle erkunden

Gut für: "Welche Elemente sind gerade in Entwicklung?"

Beispiel-Modell

Das Beispiel für diesen Teil (Modell mit aussagekräftigen Beschreibungen für bausteinsicht find) liegt unter teil_22.jsonc.

So sieht das Ergebnis in draw.io aus (bausteinsicht sync):

Das draw.io-File dafür findest du hier: teil_22.drawio

Generierte PNG-Dateien via bausteinsicht export --image-format png:

containers
context

Generierte PlantUML-Diagramme via bausteinsicht export-diagram:

Diagram
Diagram

Was als nächstes kommt

Offizielle Dokumentation: User Manual · Tutorial auf doctoolchain.org