<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>FrootAI Docs Blog</title>
        <link>https://docs.frootai.dev/blog</link>
        <description>FrootAI Docs Blog</description>
        <lastBuildDate>Mon, 20 Apr 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Introducing FrootAI — The uniFAIng Glue for the GenAI Ecosystem]]></title>
            <link>https://docs.frootai.dev/blog/introducing-frootai</link>
            <guid>https://docs.frootai.dev/blog/introducing-frootai</guid>
            <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[FrootAI is an open-source platform that unifies AI primitives — agents, skills, instructions, hooks, plugins, and workflows — through the FAI Protocol.]]></description>
            <content:encoded><![CDATA[<p><strong>From the Roots to the Fruits. It's connected. It's simply Frootful.</strong> 🍊</p>
<p>The GenAI ecosystem is fragmented. Thousands of tools, frameworks, and platforms — each solving a piece of the puzzle, none connecting them all. Until now.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-problem">The Problem<a href="https://docs.frootai.dev/blog/introducing-frootai#the-problem" class="hash-link" aria-label="Direct link to The Problem" title="Direct link to The Problem" translate="no">​</a></h2>
<p>Every AI team faces the same challenges:</p>
<ul>
<li class=""><strong>Tool sprawl</strong> — MCP servers, LangChain, Semantic Kernel, AutoGen, CrewAI — each with its own patterns</li>
<li class=""><strong>No standard wiring</strong> — How do you compose an agent with a skill, constrain it with instructions, and guard it with hooks?</li>
<li class=""><strong>Reinventing the wheel</strong> — Every new AI project starts from scratch instead of building on proven architectures</li>
<li class=""><strong>Quality gaps</strong> — No systematic way to ensure AI solutions meet reliability, security, and cost targets</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-solution-frootai">The Solution: FrootAI<a href="https://docs.frootai.dev/blog/introducing-frootai#the-solution-frootai" class="hash-link" aria-label="Direct link to The Solution: FrootAI" title="Direct link to The Solution: FrootAI" translate="no">​</a></h2>
<p>FrootAI is the <strong>uniFAIng glue</strong> — an open-source platform that connects the dots:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-ai-primitives">🧩 AI Primitives<a href="https://docs.frootai.dev/blog/introducing-frootai#-ai-primitives" class="hash-link" aria-label="Direct link to 🧩 AI Primitives" title="Direct link to 🧩 AI Primitives" translate="no">​</a></h3>
<p>Six composable building blocks:</p>
<table><thead><tr><th>Primitive</th><th>Purpose</th><th>File Format</th></tr></thead><tbody><tr><td><strong>Agents</strong></td><td>Specialized AI personas</td><td><code>.agent.md</code></td></tr><tr><td><strong>Instructions</strong></td><td>Always-on domain knowledge</td><td><code>.instructions.md</code></td></tr><tr><td><strong>Skills</strong></td><td>Step-by-step capabilities</td><td><code>SKILL.md</code></td></tr><tr><td><strong>Hooks</strong></td><td>Event-driven automation</td><td><code>hooks.json</code></td></tr><tr><td><strong>Plugins</strong></td><td>Packaged distributions</td><td><code>plugin.json</code></td></tr><tr><td><strong>Workflows</strong></td><td>Multi-step processes</td><td><code>.yml</code></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-fai-protocol">🔗 FAI Protocol<a href="https://docs.frootai.dev/blog/introducing-frootai#-fai-protocol" class="hash-link" aria-label="Direct link to 🔗 FAI Protocol" title="Direct link to 🔗 FAI Protocol" translate="no">​</a></h3>
<p>The open specification (<code>fai-manifest.json</code>) that wires primitives together. Like <code>package.json</code> for npm, but for AI architectures:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token property">"play"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"01-enterprise-rag"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token property">"version"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"1.0.0"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token property">"context"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"knowledge"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string" style="color:rgb(255, 121, 198)">"./docs/rag-patterns.md"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"waf"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string" style="color:rgb(255, 121, 198)">"reliability"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"security"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">"cost-optimization"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token property">"primitives"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"agents"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string" style="color:rgb(255, 121, 198)">"./agents/rag-architect.agent.md"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"skills"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string" style="color:rgb(255, 121, 198)">"./skills/build-rag-pipeline/SKILL.md"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token property">"instructions"</span><span class="token operator">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">[</span><span class="token string" style="color:rgb(255, 121, 198)">"./instructions/azure-search.instructions.md"</span><span class="token punctuation" style="color:rgb(248, 248, 242)">]</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><br></div></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-solution-plays">🏗️ Solution Plays<a href="https://docs.frootai.dev/blog/introducing-frootai#%EF%B8%8F-solution-plays" class="hash-link" aria-label="Direct link to 🏗️ Solution Plays" title="Direct link to 🏗️ Solution Plays" translate="no">​</a></h3>
<p>Pre-built, production-ready AI architectures. Each play includes:</p>
<ul>
<li class=""><strong>DevKit</strong> — Copilot-ready agents, skills, instructions</li>
<li class=""><strong>TuneKit</strong> — Customer-tunable AI parameters</li>
<li class=""><strong>SpecKit</strong> — Documentation and metadata</li>
<li class=""><strong>Infra</strong> — Azure Verified Modules (Bicep)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-distribution-everywhere">📦 Distribution Everywhere<a href="https://docs.frootai.dev/blog/introducing-frootai#-distribution-everywhere" class="hash-link" aria-label="Direct link to 📦 Distribution Everywhere" title="Direct link to 📦 Distribution Everywhere" translate="no">​</a></h3>
<p>Install FrootAI wherever you work:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># MCP Server</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">npx frootai-mcp@latest</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Python</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">pip </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> frootai</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># VS Code</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">ext </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> frootai.frootai</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Docker</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">docker</span><span class="token plain"> pull ghcr.io/frootai/frootai-mcp</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-makes-frootai-different">What Makes FrootAI Different?<a href="https://docs.frootai.dev/blog/introducing-frootai#what-makes-frootai-different" class="hash-link" aria-label="Direct link to What Makes FrootAI Different?" title="Direct link to What Makes FrootAI Different?" translate="no">​</a></h2>
<ol>
<li class=""><strong>Protocol-level composition</strong> — Primitives auto-wire when used inside solution plays</li>
<li class=""><strong>Well-Architected by default</strong> — Every primitive aligns to 6 WAF pillars</li>
<li class=""><strong>Framework-agnostic</strong> — Works with LangChain, Semantic Kernel, AutoGen, and more</li>
<li class=""><strong>Production-ready</strong> — Not demos, but deployable architectures with infrastructure</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-started">Get Started<a href="https://docs.frootai.dev/blog/introducing-frootai#get-started" class="hash-link" aria-label="Direct link to Get Started" title="Direct link to Get Started" translate="no">​</a></h2>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">npx frootai-mcp@latest</span><br></div></code></pre></div></div>
<p>Then explore the <a href="https://docs.frootai.dev/" target="_blank" rel="noopener noreferrer" class="">documentation</a>, browse <a href="https://frootai.dev/solution-plays" target="_blank" rel="noopener noreferrer" class="">solution plays</a>, or dive into the <a href="https://docs.frootai.dev/learning/f1-genai-foundations" target="_blank" rel="noopener noreferrer" class="">FROOT learning path</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next">What's Next<a href="https://docs.frootai.dev/blog/introducing-frootai#whats-next" class="hash-link" aria-label="Direct link to What's Next" title="Direct link to What's Next" translate="no">​</a></h2>
<p>We're building in the open. Star us on <a href="https://github.com/frootai/frootai" target="_blank" rel="noopener noreferrer" class="">GitHub</a>, try a solution play, or contribute a primitive.</p>
<p><em>The uniFAIng glue for the GenAI ecosystem.</em> 🍊</p>]]></content:encoded>
            <category>release</category>
            <category>announcement</category>
        </item>
    </channel>
</rss>