<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cli | The .NET Blog</title><link>https://thedotnetblog.com/de/tags/cli/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>de</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Wed, 27 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/de/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>dotnet new WinUI: Windows-Apps erstellen ohne Visual Studio anzufassen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/dotnet-new-winui-templates-cli-vscode/</link><pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/dotnet-new-winui-templates-cli-vscode/</guid><description>WinUI-Projektvorlagen funktionieren jetzt mit dotnet new — leere Apps, NavigationView-Muster und mehr. VS Code-Unterstützung, kein Visual Studio erforderlich, mit integrierten Fluent-Design-Standardeinstellungen.</description><content:encoded>&lt;p&gt;WinUI-Entwicklung erforderte früher Visual Studio. Das ändert sich: Microsoft hat Open-Source-Projekt- und Elementvorlagen für WinUI veröffentlicht, die mit &lt;code&gt;dotnet new&lt;/code&gt; funktionieren und die Windows-App-Entwicklung in den Standard-CLI-Workflow bringen.&lt;/p&gt;
&lt;h2 id="in-drei-befehlen-loslegen"&gt;In drei Befehlen loslegen&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Vorlagen installieren&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Eine NavigationView-App erstellen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet new winui-navview -n MyApp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Ausführen&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; MyApp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kein Visual Studio, keine manuelle Projekteinrichtung. Die App läuft mit &lt;code&gt;dotnet run&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="was-enthalten-ist"&gt;Was enthalten ist&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Leere Vorlage&lt;/strong&gt; (&lt;code&gt;dotnet new winui&lt;/code&gt;) — ein moderner Ausgangspunkt mit einer bereits konfigurierten Fluent-Titelleiste, aktualisiertem Standard-App-Symbol mit &lt;code&gt;.ico&lt;/code&gt;-Asset und korrekten Hell-/Dunkel-Modus-Standardwerten. Besser als die alte leere Vorlage, bei der man die Grundlagen selbst konfigurieren musste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NavigationView-Vorlage&lt;/strong&gt; (&lt;code&gt;dotnet new winui-navview&lt;/code&gt;) — das Master-Detail-Navigationsmuster, vollständig eingerichtet mit einer NavigationView, moderner Titelleiste und mehrseitiger Navigationsstruktur. Folgt der standardmäßigen Windows-App-Silhouette für navigationsbasierte Apps. Wenn Sie etwas mit Seitennavigation bauen, fangen Sie hier an.&lt;/p&gt;
&lt;p&gt;Beide Vorlagen folgen den &lt;a href="https://learn.microsoft.com/windows/apps/design/basics/app-silhouette"&gt;Windows-App-Silhouetten&lt;/a&gt; — moderne Fluent-Design-Muster für Layout, Navigation und visuelle Struktur — direkt aus der Box.&lt;/p&gt;
&lt;h2 id="warum-das-für-entwickler-außerhalb-von-visual-studio-wichtig-ist"&gt;Warum das für Entwickler außerhalb von Visual Studio wichtig ist&lt;/h2&gt;
&lt;p&gt;WinUI-Entwickler, die VS Code, Rider oder Befehlszeilenwerkzeuge verwenden, wurden bisher benachteiligt. Die vorhandenen Visual Studio-Vorlagen waren außerhalb von VS nicht nutzbar — man musste die Projektstruktur manuell nachbilden und die Grundlagen selbst einrichten.&lt;/p&gt;
&lt;p&gt;Diese Vorlagen sind Open Source (siehe &lt;a href="https://github.com/microsoft/WindowsAppSDK/pull/6407"&gt;WindowsAppSDK PR #6407&lt;/a&gt;), aus &lt;a href="https://github.com/microsoft/microsoft-ui-xaml/issues/10388"&gt;Community-Feedback&lt;/a&gt; entwickelt und jetzt verfügbar. Die Visual Studio-Unterstützung befindet sich in Arbeit — diese Vorlagen werden irgendwann auch dort funktionieren.&lt;/p&gt;
&lt;p&gt;Für Teams, die ihr WinUI-Projekt-Setup automatisieren, in CI integrieren oder einfach einen anderen Editor als Visual Studio verwenden möchten, ist das eine bedeutsame Verbesserung.&lt;/p&gt;
&lt;p&gt;Original-Post: &lt;a href="https://devblogs.microsoft.com/ifdef-windows/introducing-dotnet-new-templates-for-winui/"&gt;Introducing dotnet new WinUI templates&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Cosmos DB Shell Ist in der Öffentlichen Vorschau — Und Es Hat einen Integrierten MCP-Server</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/cosmosdb-shell-public-preview-mcp-server-cli/</link><pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/cosmosdb-shell-public-preview-mcp-server-cli/</guid><description>Azure Cosmos DB Shell ist ein neues Open-Source-CLI, das Datenbankbefehle als MCP-Tools bereitstellt. Ihre KI-Agenten können Container navigieren, Abfragen ausführen und Daten verwalten, indem sie dieselbe Schnittstelle verwenden, die Sie benutzen.</description><content:encoded>&lt;p&gt;Wenn Sie jemals zwischen einem Portal-Tab, einem SDK-Beispiel und einem halbfertigen Skript hin- und herspringen mussten, nur um eine Cosmos DB-Frage zu beantworten, kennen Sie bereits die Reibung, die dieses Projekt zu beseitigen versucht.&lt;/p&gt;
&lt;p&gt;Azure Cosmos DB Shell ist gerade in die öffentliche Vorschau gestartet. Es ist ein Open-Source-CLI mit bash-ähnlicher Syntax und — der Teil, der es interessant macht — einem integrierten MCP-Server.&lt;/p&gt;
&lt;h2 id="was-es-von-anderen-datenbank-clis-unterscheidet"&gt;Was Es von Anderen Datenbank-CLIs Unterscheidet&lt;/h2&gt;
&lt;p&gt;Das CLI selbst ist nützlich: vertraute Befehle, Skript-Unterstützung, CI/CD-Integration. Dieser Teil ist das Mindestmaß für ein entwicklerorientiertes Datenbank-Tool.&lt;/p&gt;
&lt;p&gt;Der interessante Teil ist die MCP-Server-Integration. Jeder Befehl, den das CLI bereitstellt, wird als MCP-Tool verfügbar, das Ihre KI-Agenten aufrufen können. Es gibt keine benutzerdefinierte API-Schicht, keinen Integrationscode zu schreiben. Ihr Agent kann:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Datenbankhierarchien mit &lt;code&gt;cd&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;pwd&lt;/code&gt; navigieren&lt;/li&gt;
&lt;li&gt;SQL-Abfragen mit &lt;code&gt;query&lt;/code&gt; ausführen und strukturierte Ergebnisse zurückbekommen&lt;/li&gt;
&lt;li&gt;Elemente mit &lt;code&gt;create item&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt; erstellen und ändern&lt;/li&gt;
&lt;li&gt;Datenbanken und Container mit &lt;code&gt;mkdb&lt;/code&gt;, &lt;code&gt;mkcon&lt;/code&gt;, &lt;code&gt;rmdb&lt;/code&gt;, &lt;code&gt;rmcon&lt;/code&gt; verwalten&lt;/li&gt;
&lt;li&gt;Den aktuellen Kontext mit &lt;code&gt;endpoint&lt;/code&gt;, &lt;code&gt;pwd&lt;/code&gt; inspizieren&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Die wichtigste Verschiebung: Ihr Agent spricht nicht mit einer Cosmos DB-API — er spricht mit derselben Shell-Schnittstelle, die Sie verwenden. Die Befehle sind deterministisch, prüfbar und Open Source, sodass Sie genau sehen können, was passiert.&lt;/p&gt;
&lt;h2 id="die-open-source-grundlage-ist-wichtig"&gt;Die Open-Source-Grundlage Ist Wichtig&lt;/h2&gt;
&lt;p&gt;Dies ist kein verwalteter Black-Box-Dienst. Die Shell ist Open Source, was bedeutet:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sicherheitsteams können die Implementierung prüfen&lt;/li&gt;
&lt;li&gt;Plattformteams können sie forken und für ihre spezifischen Standards erweitern&lt;/li&gt;
&lt;li&gt;Entwickler können Verbesserungen beitragen, die allen zugutekommen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Für Unternehmens-Teams, die KI-Tools einsetzen, ist &amp;ldquo;können wir genau sehen, wie es funktioniert&amp;rdquo; zunehmend keine optionale Anforderung. Open Source ist hier ein bedeutsames Unterscheidungsmerkmal.&lt;/p&gt;
&lt;h2 id="drei-szenarien-die-einfacher-werden"&gt;Drei Szenarien, Die Einfacher Werden&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Intelligente Datenanalyse&lt;/strong&gt; — verbinden Sie einen Agenten mit der Shell, stellen Sie Fragen in natürlicher Sprache, erhalten Sie strukturierte Abfrageergebnisse. Der Agent übernimmt die Abfragekonstruktion; die Shell übernimmt die Ausführung.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Autonomes Datenmanagement&lt;/strong&gt; — Workflows, die Daten in Cosmos DB erstellen, aktualisieren oder entfernen müssen, können dies über die MCP-Tools tun, ohne eine benutzerdefinierte Integration zu benötigen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Echtzeit-Überwachung und Warnungen&lt;/strong&gt; — ein Agent kann Container periodisch abfragen, Ergebnisse vergleichen und Anomalien über den passenden Benachrichtigungskanal melden.&lt;/p&gt;
&lt;p&gt;Die MCP-Schnittstelle macht diese Szenarien mit jeder KI-Plattform, die MCP spricht, kombinierbar — nicht nur mit Microsofts Tools.&lt;/p&gt;
&lt;h2 id="erste-schritte"&gt;Erste Schritte&lt;/h2&gt;
&lt;p&gt;Die Shell ist in der öffentlichen Vorschau. Installieren Sie sie, konfigurieren Sie Ihre Cosmos DB-Verbindung und aktivieren Sie den MCP-Server. Von dort aus kann jeder MCP-kompatible Agent-Host die Tools entdecken und verwenden.&lt;/p&gt;
&lt;p&gt;Originalbeitrag: &lt;a href="https://devblogs.microsoft.com/cosmosdb/azure-cosmos-db-shell-public-preview-ai-mcp-cli/"&gt;Announcing the Public Preview of Azure Cosmos DB Shell: Open-Source Power Meets AI-Driven Database Automation&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Windows App Dev CLI v0.3: F5 aus dem Terminal und UI-Automatisierung für Agenten</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/</guid><description>Windows App Development CLI v0.3 bringt winapp run für Terminal-basierte Debug-Starts, winapp ui für UI-Automatisierung und ein neues NuGet-Paket, das dotnet run mit gepackten Apps funktioniert.</description><content:encoded>&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/windows-app-dev-cli-v03-run-ui-automation/"&gt;hier klicken&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Die F5-Erfahrung von Visual Studio ist großartig. Aber VS nur zum Starten und Debuggen einer gepackten Windows-App öffnen zu müssen, ist zu viel — egal ob man in einer CI-Pipeline ist, einen automatisierten Workflow ausführt oder ein KI-Agent die Tests durchführt.&lt;/p&gt;
&lt;p&gt;Windows App Development CLI v0.3 wurde &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;veröffentlicht&lt;/a&gt; und adressiert das direkt mit zwei Hauptfunktionen: &lt;code&gt;winapp run&lt;/code&gt; und &lt;code&gt;winapp ui&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-run-f5-von-überall"&gt;winapp run: F5 von überall&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;winapp run&lt;/code&gt; nimmt einen ungepackten App-Ordner und ein Manifest und erledigt alles, was VS beim Debug-Start tut: registriert ein Loose-Paket, startet die App und bewahrt den &lt;code&gt;LocalState&lt;/code&gt; zwischen Re-Deploys.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# App bauen, dann als gepackte App starten&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winapp run ./bin/Debug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Funktioniert für WinUI, WPF, WinForms, Console, Avalonia und mehr. Die Modi sind für Entwickler und automatisierte Workflows ausgelegt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--detach&lt;/code&gt;&lt;/strong&gt;: Startet und gibt die Kontrolle sofort an das Terminal zurück. Ideal für CI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--unregister-on-exit&lt;/code&gt;&lt;/strong&gt;: Räumt das registrierte Paket beim App-Schließen auf.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;--debug-output&lt;/code&gt;&lt;/strong&gt;: Erfasst &lt;code&gt;OutputDebugString&lt;/code&gt;-Meldungen und Ausnahmen in Echtzeit. Mit &lt;code&gt;--symbols&lt;/code&gt; werden PDBs vom Microsoft Symbol Server geladen.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="neues-nuget-paket-dotnet-run-für-gepackte-apps"&gt;Neues NuGet-Paket: dotnet run für gepackte Apps&lt;/h2&gt;
&lt;p&gt;Für .NET-Entwickler gibt es ein neues NuGet-Paket: &lt;code&gt;Microsoft.Windows.SDK.BuildTools.WinApp&lt;/code&gt;. Nach der Installation handhabt &lt;code&gt;dotnet run&lt;/code&gt; den gesamten Inner Loop: Build, Loose-Layout-Paket vorbereiten, bei Windows registrieren und starten — alles in einem Schritt.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# winapp init erledigt die Einrichtung&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winapp init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Oder direkt installieren&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Microsoft.Windows.SDK.BuildTools.WinApp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Funktioniert mit WinUI, WPF, WinForms, Console, Avalonia. Keine manuellen Schritte, nur &lt;code&gt;dotnet run&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="winapp-ui-ui-automatisierung-aus-der-kommandozeile"&gt;winapp ui: UI-Automatisierung aus der Kommandozeile&lt;/h2&gt;
&lt;p&gt;Das ist der Feature, der agentische Szenarien ermöglicht. &lt;code&gt;winapp ui&lt;/code&gt; bietet vollständigen UI-Automatisierungszugriff auf jede laufende Windows-App — WPF, WinForms, Win32, Electron, WinUI3 — direkt aus dem Terminal.&lt;/p&gt;
&lt;p&gt;Was möglich ist:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alle Fenster der obersten Ebene auflisten&lt;/li&gt;
&lt;li&gt;Den vollständigen UI-Automatisierungsbaum eines Fensters traversieren&lt;/li&gt;
&lt;li&gt;Elemente nach Name, Typ oder Automatisierungs-ID suchen&lt;/li&gt;
&lt;li&gt;Klicken, aufrufen und Werte setzen&lt;/li&gt;
&lt;li&gt;Screenshots aufnehmen&lt;/li&gt;
&lt;li&gt;Auf das Erscheinen von Elementen warten — ideal für Testsynchronisierung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;winapp ui&lt;/code&gt; und &lt;code&gt;winapp run&lt;/code&gt; kombiniert ergeben einen vollständigen Build → Start → Verifikation-Workflow aus dem Terminal. Ein Agent kann die App ausführen, den UI-Zustand prüfen, programmatisch interagieren und das Ergebnis validieren.&lt;/p&gt;
&lt;h2 id="weitere-neuerungen"&gt;Weitere Neuerungen&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp unregister&lt;/code&gt;&lt;/strong&gt;: Entfernt ein sidegeladenes Dev-Paket nach dem Test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;winapp manifest add-alias&lt;/code&gt;&lt;/strong&gt;: Fügt einen &lt;code&gt;uap5:AppExecutionAlias&lt;/code&gt; hinzu, damit die App per Name aus dem Terminal gestartet werden kann.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab-Vervollständigung&lt;/strong&gt;: Ein Befehl für die vollständige PowerShell-Vervollständigung.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;Package.appxmanifest&lt;/code&gt; als Standard&lt;/strong&gt;: &lt;code&gt;winapp init&lt;/code&gt; erzeugt jetzt &lt;code&gt;Package.appxmanifest&lt;/code&gt; (VS-Konvention) statt &lt;code&gt;appxmanifest.xml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winget install Microsoft.WinAppCli
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# oder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;npm install -g @microsoft/winappcli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die CLI ist in Public Preview. Das &lt;a href="https://github.com/microsoft/WinAppCli"&gt;GitHub-Repository&lt;/a&gt; enthält vollständige Dokumentation, und die &lt;a href="https://devblogs.microsoft.com/ifdef-windows/windows-app-development-cli-v0-3-new-run-and-ui-commands-plus-dotnet-run-support-for-packaged-apps/"&gt;ursprüngliche Ankündigung&lt;/a&gt; hat alle Details.&lt;/p&gt;</content:encoded></item><item><title>Hör auf, dein Terminal zu babysitzen: Aspires Detached Mode verändert den Workflow</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/</guid><description>Aspire 13.2 lässt dich deinen AppHost im Hintergrund ausführen und gibt dir dein Terminal zurück. Kombiniert mit neuen CLI-Befehlen und Agent-Unterstützung ist das wichtiger als es klingt.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-detached-mode-free-your-terminal/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Jedes Mal, wenn du einen Aspire AppHost startest, ist dein Terminal weg. Gesperrt. Belegt, bis du Ctrl+C drückst. Musst du schnell einen Befehl ausführen? Öffne einen neuen Tab. Willst du Logs prüfen? Noch ein Tab. Es ist eine kleine Reibung, die sich schnell summiert.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 behebt das. James Newton-King hat &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;alle Details aufgeschrieben&lt;/a&gt;, und ehrlich gesagt ist das eines dieser Features, das sofort verändert, wie man arbeitet.&lt;/p&gt;
&lt;h2 id="detached-mode-ein-befehl-terminal-zurück"&gt;Detached Mode: ein Befehl, Terminal zurück&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das ist die Kurzform für &lt;code&gt;aspire run --detach&lt;/code&gt;. Dein AppHost startet im Hintergrund und du bekommst dein Terminal sofort zurück. Keine Extra-Tabs. Kein Terminal-Multiplexer. Einfach dein Prompt, bereit loszulegen.&lt;/p&gt;
&lt;h2 id="laufende-prozesse-verwalten"&gt;Laufende Prozesse verwalten&lt;/h2&gt;
&lt;p&gt;Die Sache ist — im Hintergrund laufen lassen ist nur nützlich, wenn man auch verwalten kann, was da draußen läuft. Aspire 13.2 liefert einen vollständigen Satz an CLI-Befehlen genau dafür:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# List all running AppHosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire ps
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Inspect the state of a specific AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire describe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stream logs from a running AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire logs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Stop a specific AppHost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire stop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das macht die Aspire CLI zu einem echten Prozessmanager. Du kannst mehrere AppHosts starten, ihren Status prüfen, ihre Logs verfolgen und sie herunterfahren — alles aus einer einzigen Terminal-Sitzung.&lt;/p&gt;
&lt;h2 id="kombiniere-es-mit-dem-isolierten-modus"&gt;Kombiniere es mit dem isolierten Modus&lt;/h2&gt;
&lt;p&gt;Der Detached Mode passt natürlich zum isolierten Modus. Willst du zwei Instanzen desselben Projekts im Hintergrund ohne Port-Konflikte laufen lassen?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire start --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jede bekommt zufällige Ports, separate Secrets und ihren eigenen Lebenszyklus. Verwende &lt;code&gt;aspire ps&lt;/code&gt;, um beide zu sehen, &lt;code&gt;aspire stop&lt;/code&gt;, um den zu beenden, den du nicht mehr brauchst.&lt;/p&gt;
&lt;h2 id="warum-das-für-coding-agents-riesig-ist"&gt;Warum das für Coding-Agents riesig ist&lt;/h2&gt;
&lt;p&gt;Hier wird es richtig interessant. Ein Coding-Agent, der in deinem Terminal arbeitet, kann jetzt:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Die App mit &lt;code&gt;aspire start&lt;/code&gt; starten&lt;/li&gt;
&lt;li&gt;Ihren Zustand mit &lt;code&gt;aspire describe&lt;/code&gt; abfragen&lt;/li&gt;
&lt;li&gt;Logs mit &lt;code&gt;aspire logs&lt;/code&gt; prüfen, um Probleme zu diagnostizieren&lt;/li&gt;
&lt;li&gt;Sie mit &lt;code&gt;aspire stop&lt;/code&gt; beenden, wenn er fertig ist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alles ohne die Terminal-Sitzung zu verlieren. Vor dem Detached Mode hätte sich ein Agent, der deinen AppHost ausführt, aus seinem eigenen Terminal ausgesperrt. Jetzt kann er starten, beobachten, iterieren und aufräumen — genau so, wie man es von einem autonomen Agenten erwartet.&lt;/p&gt;
&lt;p&gt;Das Aspire-Team hat hier bewusst investiert. &lt;code&gt;aspire agent init&lt;/code&gt; richtet eine Aspire-Skill-Datei ein, die Agents diese Befehle beibringt. So können Tools wie Copilots Coding-Agent deine Aspire-Workloads direkt verwalten.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit&lt;/h2&gt;
&lt;p&gt;Der Detached Mode ist ein Workflow-Upgrade, das sich als einfaches Flag tarnt. Du hörst auf, zwischen Terminals zu wechseln, Agents blockieren sich nicht mehr selbst, und die neuen CLI-Befehle geben dir echte Sichtbarkeit über das, was läuft. Es ist praktisch, es ist sauber, und es macht den täglichen Entwicklungszyklus spürbar flüssiger.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/aspire-detached-mode-and-process-management/"&gt;vollständigen Beitrag&lt;/a&gt; für alle Details und hole dir Aspire 13.2 mit &lt;code&gt;aspire update --self&lt;/code&gt;.&lt;/p&gt;</content:encoded></item><item><title>azd update — Ein Befehl für alle deine Paketmanager</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/</guid><description>Die Azure Developer CLI hat jetzt einen universellen Update-Befehl, der unabhängig von der Installationsmethode funktioniert — winget, Homebrew, Chocolatey oder Installationsskript.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/azd-update-universal-upgrade-command/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du diese Meldung „Eine neue Version von azd ist verfügbar&amp;quot;, die alle paar Wochen auftaucht? Die, die du wegklickst, weil du dich nicht mehr erinnerst, ob du &lt;code&gt;azd&lt;/code&gt; über winget, Homebrew oder dieses curl-Skript installiert hast, das du vor sechs Monaten ausgeführt hast? Ja, das ist jetzt endlich gelöst.&lt;/p&gt;
&lt;p&gt;Microsoft hat &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;&lt;code&gt;azd update&lt;/code&gt;&lt;/a&gt; veröffentlicht — ein einziger Befehl, der die Azure Developer CLI auf die neueste Version aktualisiert, unabhängig davon, wie du sie ursprünglich installiert hast. Windows, macOS, Linux — egal. Ein Befehl.&lt;/p&gt;
&lt;h2 id="so-funktionierts"&gt;So funktioniert&amp;rsquo;s&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Wenn du frühen Zugang zu neuen Features möchtest, kannst du auf den täglichen Insiders-Build wechseln:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel daily
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel stable
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Der Befehl erkennt deine aktuelle Installationsmethode und nutzt im Hintergrund den passenden Update-Mechanismus. Kein „Moment, habe ich auf diesem Rechner winget oder choco benutzt?&amp;quot; mehr.&lt;/p&gt;
&lt;h2 id="der-kleine-haken"&gt;Der kleine Haken&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt; ist ab Version 1.23.x verfügbar. Wenn du eine ältere Version hast, musst du ein letztes manuelles Update mit deiner ursprünglichen Installationsmethode durchführen. Danach übernimmt &lt;code&gt;azd update&lt;/code&gt; alles Weitere.&lt;/p&gt;
&lt;p&gt;Prüfe deine aktuelle Version mit &lt;code&gt;azd version&lt;/code&gt;. Falls du eine Neuinstallation brauchst, hilft dir die &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;Installationsdokumentation&lt;/a&gt; weiter.&lt;/p&gt;
&lt;h2 id="warum-das-wichtig-ist"&gt;Warum das wichtig ist&lt;/h2&gt;
&lt;p&gt;Es ist eine kleine Verbesserung der Lebensqualität, aber für diejenigen von uns, die &lt;code&gt;azd&lt;/code&gt; täglich zum Deployen von KI-Agenten und Aspire-Apps auf Azure nutzen, bedeutet auf dem neuesten Stand zu sein weniger „dieser Bug war schon in der letzten Version behoben&amp;quot;-Momente. Eine Sache weniger, über die man nachdenken muss.&lt;/p&gt;
&lt;p&gt;Lies die &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;vollständige Ankündigung&lt;/a&gt; und Jon Gallants &lt;a href="https://blog.jongallant.com/2026/04/azd-update"&gt;tiefergehende Analyse&lt;/a&gt; für mehr Kontext.&lt;/p&gt;</content:encoded></item><item><title>.NET Aspire 13.2 Will der Beste Freund Deines KI-Agenten Sein</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/</guid><description>Aspire 13.2 setzt voll auf agentische Entwicklung — strukturierte CLI-Ausgabe, isolierte Ausführungen, selbstheilende Umgebungen und vollständige OpenTelemetry-Daten, damit deine KI-Agenten deine Apps tatsächlich bauen, ausführen und beobachten können.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-agentic-development-build-run-observe/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du den Moment, wenn dein KI-Agent soliden Code schreibt, du begeistert bist, und dann alles zusammenbricht, wenn er versucht, das Ding tatsächlich &lt;em&gt;auszuführen&lt;/em&gt;? Port-Konflikte, Geister-Prozesse, falsche Umgebungsvariablen — plötzlich verbrennt dein Agent Tokens beim Troubleshooting von Startproblemen statt Features zu bauen.&lt;/p&gt;
&lt;p&gt;Das Aspire-Team hat gerade einen &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;wirklich durchdachten Post&lt;/a&gt; über genau dieses Problem veröffentlicht, und ihre Antwort ist überzeugend: Aspire 13.2 ist nicht nur für Menschen konzipiert, sondern auch für KI-Agenten.&lt;/p&gt;
&lt;h2 id="das-problem-ist-real"&gt;Das Problem ist real&lt;/h2&gt;
&lt;p&gt;KI-Agenten sind unglaublich gut im Code schreiben. Aber eine funktionierende Full-Stack-App zu liefern, erfordert viel mehr als nur Dateien zu generieren. Du musst Services in der richtigen Reihenfolge starten, Ports verwalten, Umgebungsvariablen setzen, Datenbanken verbinden und Feedback bekommen, wenn etwas kaputt geht. Im Moment handhaben die meisten Agenten all das durch Trial-and-Error — Befehle ausführen, Fehlerausgaben lesen, es nochmal versuchen.&lt;/p&gt;
&lt;p&gt;Wir packen Markdown-Anleitungen, Custom Skills und Prompts drauf, um sie zu leiten, aber die sind unvorhersehbar, können nicht kompiliert werden und kosten Tokens allein zum Parsen. Das Aspire-Team hat den Kern erkannt: Agenten brauchen &lt;strong&gt;Compiler und strukturierte APIs&lt;/strong&gt;, nicht mehr Markdown.&lt;/p&gt;
&lt;h2 id="aspire-als-agenten-infrastruktur"&gt;Aspire als Agenten-Infrastruktur&lt;/h2&gt;
&lt;p&gt;Das bringt Aspire 13.2 für die agentische Entwicklung mit:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dein gesamter Stack in typisiertem Code.&lt;/strong&gt; Der AppHost definiert deine komplette Topologie — API, Frontend, Datenbank, Cache — in kompilierbarem TypeScript oder C#:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="kr"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;./.modules/aspire.js&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;createBuilder&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;postgres&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addPostgres&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;pg&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;addDatabase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;catalog&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cache&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addRedis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;cache&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;api&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addNodeApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;src/index.ts&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withHttpEndpoint&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PORT&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;postgres&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;addViteApp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;./frontend&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;withReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;waitFor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;build&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ein Agent kann das lesen, um die App-Topologie zu verstehen, Ressourcen hinzuzufügen, Verbindungen zu verkabeln und &lt;em&gt;zum Verifizieren zu kompilieren&lt;/em&gt;. Der Compiler sagt ihm sofort, wenn etwas falsch ist. Kein Raten, kein Trial-and-Error mit Konfigurationsdateien.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ein Befehl um sie alle zu starten.&lt;/strong&gt; Statt dass Agenten &lt;code&gt;docker compose up&lt;/code&gt;, &lt;code&gt;npm run dev&lt;/code&gt; und Datenbank-Startskripte jonglieren, ist alles einfach &lt;code&gt;aspire start&lt;/code&gt;. Alle Ressourcen starten in der richtigen Reihenfolge, auf den richtigen Ports, mit der richtigen Konfiguration. Langlebige Prozesse blockieren den Agenten auch nicht — Aspire verwaltet sie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Isolierter Modus für parallele Agenten.&lt;/strong&gt; Mit &lt;code&gt;--isolated&lt;/code&gt; bekommt jeder Aspire-Lauf eigene zufällige Ports und separate User Secrets. Mehrere Agenten arbeiten über Git Worktrees hinweg? Sie kollidieren nicht. Das ist riesig für Tools wie VS Codes Background-Agenten, die parallele Umgebungen aufspannen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenten-Augen durch Telemetrie.&lt;/strong&gt; Hier wird es richtig mächtig. Die Aspire CLI stellt während der Entwicklung volle OpenTelemetry-Daten bereit — Traces, Metriken, strukturierte Logs. Dein Agent liest nicht einfach Konsolenausgaben und hofft das Beste. Er kann eine fehlgeschlagene Anfrage über Services hinweg tracen, langsame Endpunkte profilen und genau identifizieren, wo Dinge kaputtgehen. Das ist Observability auf Produktionsniveau in der Entwicklungsschleife.&lt;/p&gt;
&lt;h2 id="die-bowlingbahn-bumper-analogie"&gt;Die Bowlingbahn-Bumper-Analogie&lt;/h2&gt;
&lt;p&gt;Das Aspire-Team nutzt eine großartige Analogie: Denk an Aspire als Bowlingbahn-Bumper für KI-Agenten. Wenn der Agent nicht perfekt ist (und das wird er nicht sein), verhindern die Bumper, dass er Rinnenschüsse wirft. Die Stack-Definition verhindert Fehlkonfiguration, der Compiler fängt Fehler, die CLI übernimmt das Prozessmanagement, und die Telemetrie liefert die Feedback-Schleife.&lt;/p&gt;
&lt;p&gt;Kombiniere das mit etwas wie Playwright CLI, und dein Agent kann deine App tatsächlich &lt;em&gt;benutzen&lt;/em&gt; — durch Flows klicken, das DOM prüfen, kaputte Dinge in der Telemetrie sehen, den Code fixen, neustarten und erneut testen. Bauen, ausführen, beobachten, fixen. Das ist die autonome Entwicklungsschleife, die wir verfolgt haben.&lt;/p&gt;
&lt;h2 id="erste-schritte"&gt;Erste Schritte&lt;/h2&gt;
&lt;p&gt;Neu bei Aspire? Installiere die CLI von &lt;a href="https://get.aspire.dev"&gt;get.aspire.dev&lt;/a&gt; und folge dem &lt;a href="https://aspire.dev/get-started/first-app"&gt;Getting-Started-Guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nutzt du Aspire bereits? Führe &lt;code&gt;aspire update --self&lt;/code&gt; aus, um Version 13.2 zu bekommen, und zeige dann deinem Lieblings-Coding-Agenten dein Repo. Du wirst überrascht sein, wie viel weiter er mit Aspires Leitplanken kommt.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 ist nicht mehr nur ein Framework für verteilte Apps — es wird zur essentiellen Agenten-Infrastruktur. Strukturierte Stack-Definitionen, Ein-Befehl-Start, isolierte parallele Ausführungen und Echtzeit-Telemetrie geben KI-Agenten genau das, was sie brauchen, um vom Code-Schreiben zum App-Liefern zu kommen.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/agentic-dev-aspirations/"&gt;vollständigen Post&lt;/a&gt; vom Aspire-Team für alle Details und Demo-Videos.&lt;/p&gt;</content:encoded></item><item><title>Aspires Isolierter Modus Behebt den Port-Konflikt-Albtraum für Parallele Entwicklung</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/</guid><description>Aspire 13.2 führt den --isolated Modus ein: zufällige Ports, getrennte Secrets und null Kollisionen beim gleichzeitigen Ausführen mehrerer Instanzen desselben AppHosts. Perfekt für KI-Agenten, Worktrees und parallele Workflows.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Die Originalversion finden Sie &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-isolated-mode-parallel-instances/"&gt;hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn du jemals versucht hast, zwei Instanzen desselben Projekts gleichzeitig zu starten, kennst du den Schmerz. Port 8080 wird bereits verwendet. Port 17370 ist belegt. Etwas killen, neustarten, Umgebungsvariablen jonglieren — ein echter Produktivitätskiller.&lt;/p&gt;
&lt;p&gt;Dieses Problem wird schlimmer, nicht besser. KI-Agenten erstellen Git Worktrees um unabhängig zu arbeiten. Hintergrund-Agenten starten separate Umgebungen. Entwickler checken dasselbe Repo zweimal für Feature-Branches aus. Jedes dieser Szenarien läuft gegen dieselbe Wand: Zwei Instanzen derselben App kämpfen um dieselben Ports.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 behebt das mit einem einzigen Flag. James Newton-King vom Aspire-Team hat &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;alle Details aufgeschrieben&lt;/a&gt;, und es ist eines dieser „warum hatten wir das nicht schon früher&amp;quot;-Features.&lt;/p&gt;
&lt;h2 id="die-lösung---isolated"&gt;Die Lösung: &lt;code&gt;--isolated&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das war&amp;rsquo;s. Jeder Lauf bekommt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zufällige Ports&lt;/strong&gt; — keine Kollisionen mehr zwischen Instanzen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isolierte User Secrets&lt;/strong&gt; — Connection Strings und API Keys bleiben pro Instanz getrennt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Keine manuelle Port-Neuzuweisung. Kein Umgebungsvariablen-Jonglieren. Jeder Lauf bekommt automatisch eine frische, kollisionsfreie Umgebung.&lt;/p&gt;
&lt;h2 id="reale-szenarien-in-denen-das-glänzt"&gt;Reale Szenarien, in denen das glänzt&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mehrere Checkouts.&lt;/strong&gt; Du hast einen Feature-Branch in einem Verzeichnis und einen Bugfix in einem anderen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Terminal 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/my-app-feature
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Terminal 2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/my-app-bugfix
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire run --isolated
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Beide laufen ohne Konflikte. Das Dashboard zeigt, was wo läuft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hintergrund-Agenten in VS Code.&lt;/strong&gt; Wenn der Hintergrund-Agent von Copilot Chat einen Git Worktree erstellt um unabhängig an deinem Code zu arbeiten, muss er möglicherweise deinen Aspire AppHost starten. Ohne &lt;code&gt;--isolated&lt;/code&gt; ist das ein Port-Konflikt mit deinem primären Worktree. Mit ihm funktionieren einfach beide Instanzen.&lt;/p&gt;
&lt;p&gt;Der Aspire-Skill, der mit &lt;code&gt;aspire agent init&lt;/code&gt; mitkommt, weist Agenten automatisch an, &lt;code&gt;--isolated&lt;/code&gt; zu verwenden, wenn sie in Worktrees arbeiten. So sollte Copilots Hintergrund-Agent das von Haus aus richtig handhaben.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Integrationstests parallel zur Entwicklung.&lt;/strong&gt; Tests gegen einen laufenden AppHost ausführen während du weiter Features baust? Der isolierte Modus gibt jedem Kontext eigene Ports und Konfiguration.&lt;/p&gt;
&lt;h2 id="wie-es-unter-der-haube-funktioniert"&gt;Wie es unter der Haube funktioniert&lt;/h2&gt;
&lt;p&gt;Wenn du &lt;code&gt;--isolated&lt;/code&gt; übergibst, generiert die CLI eine eindeutige Instanz-ID für den Lauf. Das treibt zwei Verhaltensweisen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Port-Randomisierung&lt;/strong&gt; — statt sich an vorhersagbare Ports aus deiner AppHost-Konfiguration zu binden, wählt der isolierte Modus zufällige verfügbare Ports für alles — das Dashboard, Service-Endpoints, alles. Service Discovery passt sich automatisch an, sodass sich Services gegenseitig finden, unabhängig davon, auf welchen Ports sie landen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Secret-Isolation&lt;/strong&gt; — jeder isolierte Lauf bekommt seinen eigenen User-Secrets-Speicher, der durch die Instanz-ID identifiziert wird. Connection Strings und API Keys eines Laufs lecken nicht in einen anderen.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Dein Code braucht keine Änderungen. Aspires Service Discovery löst Endpoints zur Laufzeit auf, sodass alles korrekt verbunden wird, unabhängig von der Port-Zuweisung.&lt;/p&gt;
&lt;h2 id="wann-man-es-verwenden-sollte"&gt;Wann man es verwenden sollte&lt;/h2&gt;
&lt;p&gt;Verwende &lt;code&gt;--isolated&lt;/code&gt;, wenn du mehrere Instanzen desselben AppHosts gleichzeitig betreibst — sei es für parallele Entwicklung, automatisierte Tests, KI-Agenten oder Git Worktrees. Für Einzelinstanz-Entwicklung, bei der du vorhersagbare Ports bevorzugst, funktioniert das reguläre &lt;code&gt;aspire run&lt;/code&gt; weiterhin bestens.&lt;/p&gt;
&lt;h2 id="zusammenfassung"&gt;Zusammenfassung&lt;/h2&gt;
&lt;p&gt;Der isolierte Modus ist ein kleines Feature, das ein reales, zunehmend häufiges Problem löst. Da KI-gestützte Entwicklung uns in Richtung mehr paralleler Workflows drängt — mehrere Agenten, mehrere Worktrees, mehrere Kontexte — ist die Fähigkeit, einfach eine weitere Instanz hochzufahren ohne um Ports zu kämpfen, essentiell.&lt;/p&gt;
&lt;p&gt;Lies den &lt;a href="https://devblogs.microsoft.com/aspire/aspire-isolated-mode-parallel-development/"&gt;vollständigen Post&lt;/a&gt; für alle technischen Details und probiere es aus mit &lt;code&gt;aspire update --self&lt;/code&gt; um Version 13.2 zu bekommen.&lt;/p&gt;</content:encoded></item><item><title>Aspire 13.2 liefert eine Docs-CLI — und dein KI-Agent kann sie auch nutzen</title><link>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</guid><description>.NET Aspire 13.2 fügt aspire docs hinzu — eine CLI zum Suchen, Durchstöbern und Lesen offizieller Dokumentation, ohne das Terminal zu verlassen. Sie funktioniert auch als Werkzeug für KI-Agenten. Hier erfährst du, warum das wichtig ist.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dieser Beitrag wurde automatisch übersetzt. Für die Originalversion &lt;a href="https://thedotnetblog.com/de/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/"&gt;klicke hier&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kennst du diesen Moment, wenn du tief in einem Aspire AppHost steckst, Integrationen verdrahtest, und du genau nachschauen musst, welche Parameter die Redis-Integration erwartet? Du wechselst mit Alt-Tab zum Browser, suchst auf aspire.dev, kneifst die Augen zusammen bei den API-Docs, und kommst zurück zu deinem Editor. Kontext verloren. Flow unterbrochen.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 hat gerade &lt;a href="https://devblogs.microsoft.com/aspire/aspire-docs-in-your-terminal/"&gt;eine Lösung dafür geliefert&lt;/a&gt;. Die &lt;code&gt;aspire docs&lt;/code&gt;-CLI ermöglicht es dir, offizielle Aspire-Dokumentation direkt aus deinem Terminal zu suchen, durchstöbern und lesen. Und weil sie auf wiederverwendbaren Services basiert, können KI-Agenten und Skills dieselben Befehle nutzen, um Docs nachzuschlagen, statt APIs zu halluzinieren, die gar nicht existieren.&lt;/p&gt;
&lt;h2 id="das-problem-das-hier-wirklich-gelöst-wird"&gt;Das Problem, das hier wirklich gelöst wird&lt;/h2&gt;
&lt;p&gt;David Pine bringt es im Originalbeitrag auf den Punkt: KI-Agenten waren &lt;em&gt;furchtbar&lt;/em&gt; darin, Entwicklern beim Bauen von Aspire-Apps zu helfen. Sie empfahlen &lt;code&gt;dotnet run&lt;/code&gt; statt &lt;code&gt;aspire run&lt;/code&gt;, verwiesen auf learn.microsoft.com für Docs, die auf aspire.dev leben, schlugen veraltete NuGet-Pakete vor, und — mein persönlicher Favorit — halluzinierten APIs, die nicht existieren.&lt;/p&gt;
&lt;p&gt;Warum? Weil Aspire viel länger .NET-spezifisch war, als es polyglott ist, und LLMs mit Trainingsdaten arbeiten, die älter sind als die neuesten Features. Wenn du einem KI-Agenten die Möglichkeit gibst, tatsächlich die aktuellen Docs nachzuschlagen, hört er auf zu raten und wird nützlich.&lt;/p&gt;
&lt;h2 id="drei-befehle-null-browser-tabs"&gt;Drei Befehle, null Browser-Tabs&lt;/h2&gt;
&lt;p&gt;Die CLI ist erfrischend einfach:&lt;/p&gt;
&lt;h3 id="alle-docs-auflisten"&gt;Alle Docs auflisten&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Gibt jede verfügbare Dokumentationsseite auf aspire.dev zurück. Brauchst du maschinenlesbare Ausgabe? Füge &lt;code&gt;--format Json&lt;/code&gt; hinzu.&lt;/p&gt;
&lt;h3 id="nach-einem-thema-suchen"&gt;Nach einem Thema suchen&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;redis&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Durchsucht sowohl Titel als auch Inhalte mit gewichteter Relevanzbewertung. Dieselbe Suchmaschine, die intern die Dokumentationswerkzeuge antreibt. Du bekommst gerankte Ergebnisse mit Titeln, Slugs und Relevanzwerten.&lt;/p&gt;
&lt;h3 id="eine-vollständige-seite-lesen-oder-nur-einen-abschnitt"&gt;Eine vollständige Seite lesen (oder nur einen Abschnitt)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Streamt die vollständige Seite als Markdown in dein Terminal. Brauchst du nur einen Abschnitt?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration --section &lt;span class="s2"&gt;&amp;#34;Add Redis resource&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Chirurgische Präzision. Kein Scrollen durch 500 Zeilen. Nur der Teil, den du brauchst.&lt;/p&gt;
&lt;h2 id="der-ki-agent-aspekt"&gt;Der KI-Agent-Aspekt&lt;/h2&gt;
&lt;p&gt;Hier wird es interessant für uns Entwickler, die mit KI-Werkzeugen arbeiten. Dieselben &lt;code&gt;aspire docs&lt;/code&gt;-Befehle funktionieren als Tools für KI-Agenten — über Skills, MCP-Server oder einfache CLI-Wrapper.&lt;/p&gt;
&lt;p&gt;Statt dass dein KI-Assistent Aspire-APIs auf Basis veralteter Trainingsdaten erfindet, kann er &lt;code&gt;aspire docs search &amp;quot;postgres&amp;quot;&lt;/code&gt; aufrufen, die offiziellen Integrations-Docs finden, die richtige Seite lesen und dir den dokumentierten Ansatz liefern. Echtzeit-aktuelle Dokumentation — nicht das, was das Modell vor sechs Monaten auswendig gelernt hat.&lt;/p&gt;
&lt;p&gt;Die Architektur dahinter ist bewusst so gestaltet. Das Aspire-Team hat wiederverwendbare Services gebaut (&lt;code&gt;IDocsIndexService&lt;/code&gt;, &lt;code&gt;IDocsSearchService&lt;/code&gt;, &lt;code&gt;IDocsFetcher&lt;/code&gt;, &lt;code&gt;IDocsCache&lt;/code&gt;) anstelle einer einmaligen Integration. Das bedeutet, dieselbe Suchmaschine funktioniert für Menschen im Terminal, KI-Agenten in deinem Editor und Automatisierung in deiner CI-Pipeline.&lt;/p&gt;
&lt;h2 id="praxisszenarien"&gt;Praxisszenarien&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Schnelle Terminal-Nachschlagen:&lt;/strong&gt; Du steckst drei Dateien tief und brauchst Redis-Konfigurationsparameter. Zwei Befehle, neunzig Sekunden, zurück an die Arbeit:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;redis&amp;#34;&lt;/span&gt; --limit &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs get redis-integration --section &lt;span class="s2"&gt;&amp;#34;Configuration&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;KI-gestützte Entwicklung:&lt;/strong&gt; Dein VS Code Skill wrapt die CLI-Befehle. Du fragst „Füge eine PostgreSQL-Datenbank zu meinem AppHost hinzu&amp;quot; und der Agent schlägt die echten Docs nach, bevor er antwortet. Keine Halluzinationen.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CI/CD-Validierung:&lt;/strong&gt; Deine Pipeline validiert AppHost-Konfigurationen programmatisch gegen offizielle Dokumentation. Die &lt;code&gt;--format Json&lt;/code&gt;-Ausgabe lässt sich sauber mit &lt;code&gt;jq&lt;/code&gt; und anderen Tools weiterverarbeiten.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eigene Wissensdatenbanken:&lt;/strong&gt; Baust du deine eigenen KI-Tools? Leite strukturierte JSON-Ausgabe direkt in deine Wissensdatenbank:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aspire docs search &lt;span class="s2"&gt;&amp;#34;monitoring&amp;#34;&lt;/span&gt; --format Json &lt;span class="p"&gt;|&lt;/span&gt; jq &lt;span class="s1"&gt;&amp;#39;[.[] | {slug, title, summary}]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Kein Web Scraping. Keine API-Keys. Dieselben strukturierten Daten, die intern von den Dokumentationswerkzeugen genutzt werden.&lt;/p&gt;
&lt;h2 id="die-dokumentation-ist-immer-aktuell"&gt;Die Dokumentation ist immer aktuell&lt;/h2&gt;
&lt;p&gt;Das ist der Teil, den ich am meisten schätze. Die CLI lädt keinen Snapshot herunter — sie fragt aspire.dev mit ETag-basiertem Caching ab. In dem Moment, in dem die Docs aktualisiert werden, spiegelt deine CLI und jeder darauf aufbauende Skill das wider. Keine veralteten Kopien, keine „aber im Wiki stand doch&amp;hellip;&amp;quot;-Momente.&lt;/p&gt;
&lt;h2 id="zum-abschluss"&gt;Zum Abschluss&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;aspire docs&lt;/code&gt; ist eines dieser kleinen Features, das ein echtes Problem sauber löst. Menschen bekommen terminal-nativen Dokumentationszugriff. KI-Agenten bekommen eine Möglichkeit, aufzuhören zu raten und stattdessen echte Docs zu referenzieren. Und alles wird von derselben Wahrheitsquelle gespeist.&lt;/p&gt;
&lt;p&gt;Wenn du mit .NET Aspire baust und die CLI noch nicht ausprobiert hast, führe &lt;code&gt;aspire docs search &amp;quot;dein-thema-hier&amp;quot;&lt;/code&gt; aus und schau, wie es sich anfühlt. Dann überleg dir, diese Befehle in dein KI-Skill- oder Automatisierungs-Setup einzubauen — deine Agenten werden es dir danken.&lt;/p&gt;
&lt;p&gt;Schau dir &lt;a href="https://davidpine.dev/posts/aspire-docs-mcp-tools/"&gt;David Pines Deep Dive&lt;/a&gt; an, wie die Dokumentationswerkzeuge entstanden sind, und die &lt;a href="https://aspire.dev/reference/cli/commands/aspire-docs/"&gt;offizielle CLI-Referenz&lt;/a&gt; für alle Details.&lt;/p&gt;</content:encoded></item></channel></rss>