<?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>Documentation | The .NET Blog</title><link>https://thedotnetblog.com/tags/documentation/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>en</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 04 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/tags/documentation/index.xml" rel="self" type="application/rss+xml"/><item><title>Aspire 13.2 Ships a Docs CLI — and Your AI Agent Can Use It Too</title><link>https://thedotnetblog.com/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/news/emiliano-montesdeoca/aspire-docs-cli-ai-skills/</guid><description>.NET Aspire 13.2 adds aspire docs — a CLI for searching, browsing, and reading official documentation without leaving your terminal. It also works as a tool for AI agents. Here's why this matters.</description><content:encoded>&lt;p&gt;You know that moment when you&amp;rsquo;re deep in an Aspire AppHost, wiring up integrations, and you need to check exactly which parameters the Redis integration expects? You alt-tab to your browser, hunt through aspire.dev, squint at the API docs, then come back to your editor. Context lost. Flow broken.&lt;/p&gt;
&lt;p&gt;Aspire 13.2 just &lt;a href="https://devblogs.microsoft.com/aspire/aspire-docs-in-your-terminal/"&gt;shipped a fix for that&lt;/a&gt;. The &lt;code&gt;aspire docs&lt;/code&gt; CLI lets you search, browse, and read official Aspire documentation directly from your terminal. And because it&amp;rsquo;s backed by reusable services, AI agents and skills can use the same commands to look up docs instead of hallucinating APIs that don&amp;rsquo;t exist.&lt;/p&gt;
&lt;h2 id="the-problem-this-actually-solves"&gt;The problem this actually solves&lt;/h2&gt;
&lt;p&gt;David Pine nails it in the original post: AI agents were &lt;em&gt;terrible&lt;/em&gt; at helping developers build Aspire apps. They&amp;rsquo;d recommend &lt;code&gt;dotnet run&lt;/code&gt; instead of &lt;code&gt;aspire run&lt;/code&gt;, reference learn.microsoft.com for docs that live on aspire.dev, suggest outdated NuGet packages, and — my personal favorite — hallucinate APIs that don&amp;rsquo;t exist.&lt;/p&gt;
&lt;p&gt;Why? Because Aspire was .NET-specific far longer than it&amp;rsquo;s been polyglot, and LLMs are working off training data that predates the latest features. When you give an AI agent the ability to actually look up the current docs, it stops guessing and starts being useful.&lt;/p&gt;
&lt;h2 id="three-commands-zero-browser-tabs"&gt;Three commands, zero browser tabs&lt;/h2&gt;
&lt;p&gt;The CLI is refreshingly simple:&lt;/p&gt;
&lt;h3 id="list-all-docs"&gt;List all docs&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;Returns every documentation page available on aspire.dev. Need machine-readable output? Add &lt;code&gt;--format Json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="search-for-a-topic"&gt;Search for a topic&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;Searches both titles and content with weighted relevance scoring. Same search engine that powers the documentation tooling internally. You get ranked results with titles, slugs, and relevance scores.&lt;/p&gt;
&lt;h3 id="read-a-full-page-or-just-one-section"&gt;Read a full page (or just one section)&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;Streams the full page as markdown to your terminal. Need just one section?&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;Surgical precision. No scrolling through 500 lines. Just the part you need.&lt;/p&gt;
&lt;h2 id="the-ai-agent-angle"&gt;The AI agent angle&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s where it gets interesting for us developers building with AI tooling. The same &lt;code&gt;aspire docs&lt;/code&gt; commands work as tools for AI agents — through skills, MCP servers, or simple CLI wrappers.&lt;/p&gt;
&lt;p&gt;Instead of your AI assistant making up Aspire APIs based on stale training data, it can call &lt;code&gt;aspire docs search &amp;quot;postgres&amp;quot;&lt;/code&gt;, find the official integration docs, read the right page, and give you the documented approach. Real-time, current documentation — not what the model memorized six months ago.&lt;/p&gt;
&lt;p&gt;The architecture behind this is intentional. The Aspire team built reusable services (&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;) rather than a one-off integration. That means the same search engine works for humans in the terminal, AI agents in your editor, and automation in your CI pipeline.&lt;/p&gt;
&lt;h2 id="real-world-scenarios"&gt;Real-world scenarios&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Quick terminal lookups:&lt;/strong&gt; You&amp;rsquo;re three files deep and need Redis config parameters. Two commands, ninety seconds, back to work:&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;AI-assisted development:&lt;/strong&gt; Your VS Code skill wraps the CLI commands. You ask &amp;ldquo;Add a PostgreSQL database to my AppHost&amp;rdquo; and the agent looks up the real docs before answering. No hallucinations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CI/CD validation:&lt;/strong&gt; Your pipeline validates AppHost configurations against official documentation programmatically. &lt;code&gt;--format Json&lt;/code&gt; output pipes cleanly to &lt;code&gt;jq&lt;/code&gt; and other tools.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Custom knowledge bases:&lt;/strong&gt; Building your own AI tooling? Pipe structured JSON output directly into your knowledge base:&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;No web scraping. No API keys. Same structured data the docs tooling uses internally.&lt;/p&gt;
&lt;h2 id="the-documentation-is-always-live"&gt;The documentation is always live&lt;/h2&gt;
&lt;p&gt;This is the part I appreciate most. The CLI doesn&amp;rsquo;t download a snapshot — it queries aspire.dev with ETag-based caching. The moment the docs update, your CLI and any skill built on top of it reflects that. No stale copies, no &amp;ldquo;but the wiki said&amp;hellip;&amp;rdquo; moments.&lt;/p&gt;
&lt;h2 id="wrapping-up"&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;aspire docs&lt;/code&gt; is one of those small features that solves a real problem cleanly. Humans get terminal-native documentation access. AI agents get a way to stop guessing and start referencing actual docs. And it&amp;rsquo;s all backed by the same source of truth.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re building with .NET Aspire and haven&amp;rsquo;t tried the CLI yet, run &lt;code&gt;aspire docs search &amp;quot;your-topic-here&amp;quot;&lt;/code&gt; and see how it feels. Then consider wrapping those commands into whatever AI skill or automation setup you&amp;rsquo;re using — your agents will thank you.&lt;/p&gt;
&lt;p&gt;Check out &lt;a href="https://davidpine.dev/posts/aspire-docs-mcp-tools/"&gt;David Pine&amp;rsquo;s deep dive&lt;/a&gt; on how the docs tooling came together, and the &lt;a href="https://aspire.dev/reference/cli/commands/aspire-docs/"&gt;official CLI reference&lt;/a&gt; for all the details.&lt;/p&gt;</content:encoded></item></channel></rss>