<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Demo Suite · RavenClaws Docs</title>
<meta name="description" content="Watch five focused asciinema terminal demos of RavenClaws v1.2.0 — quickstart, architecture, server & MCP, resilience, and deployment.">
<link rel="canonical" href="https://ravenclaws.io/docs/demo">
<meta name="theme-color" content="#070a10">
<meta property="og:title" content="RavenClaws Demo Suite">
<meta property="og:description" content="Five focused asciinema recordings showcasing RavenClaws v1.2.0 — from quickstart through deployment.">
<meta property="og:image" content="https://ravenclaws.io/assets/og-image.png">
<meta name="twitter:card" content="summary_large_image">
<link rel="icon" href="/assets/favicon.ico" sizes="any">
<link rel="icon" type="image/png" href="/assets/favicon-32.png" sizes="32x32">
<link rel="apple-touch-icon" href="/assets/apple-touch-icon.png">
<link rel="stylesheet" href="/assets/styles.css">
</head>
<body>
<a class="skip" href="#main">Skip to content</a>
<header class="site-header">
<div class="wrap">
<nav class="nav" aria-label="Primary">
<a class="brand" href="/"><img src="/assets/favicon-512.png" alt="" width="30" height="30"><span>Raven<b>Claws</b></span></a>
<div class="nav-links">
<a href="/#features">Features</a><a href="/#providers">Providers</a><a href="/#security">Security</a><a href="/docs/">Docs</a><a href="/#license">License</a>
</div>
<span class="nav-spacer"></span>
<div class="nav-cta">
<a class="ghost-pill" href="https://crates.io/crates/ravenclaws" rel="noopener">crates.io</a>
<a class="btn btn--primary btn--sm" href="https://github.com/egkristi/RavenClaws" rel="noopener">GitHub</a>
</div>
<button class="nav-toggle" aria-label="Menu" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M3 12h18M3 18h18"/></svg></button>
</nav>
</div>
</header>
<main id="main">
<div class="wrap">
<div class="docs">
<aside class="docs-side">
<h5>Documentation</h5>
<a href="/docs/">Overview</a>
<a href="/docs/getting-started">Getting started</a>
<a href="/docs/configuration">Configuration</a>
<a href="/docs/interaction-modes">Interaction modes</a>
<a href="/docs/swarm-mode">Swarm mode</a>
<a href="/docs/mcp-integration">MCP integration</a>
<a href="/docs/heartbeat-mode">Heartbeat mode</a>
<a href="/docs/server-mode">Server mode</a>
<a href="/docs/vllm">vLLM</a>
<a href="/docs/llamacpp">llama.cpp</a>
<a href="/docs/demo" class="active">Demo</a>
<a href="/docs/migration">Migration guide</a>
<h5>On this page</h5>
<a href="#demos" data-spy>The five demos</a>
<a href="#quickstart" data-spy>Quickstart</a>
<a href="#architecture" data-spy>Architecture</a>
<a href="#server-mcp" data-spy>Server & MCP</a>
<a href="#resilience" data-spy>Resilience</a>
<a href="#deployment" data-spy>Deployment</a>
<a href="#run-locally" data-spy>Run locally</a>
<a href="#record" data-spy>Record your own</a>
</aside>
<article class="doc-body">
<p class="breadcrumb"><a href="/docs/">Docs</a> / Demo</p>
<h1>RavenClaws demo suite</h1>
<p class="lead-box">Five focused asciinema recordings, each showcasing a different aspect of RavenClaws v1.2.0 — from a 30-second quickstart to a full deployment walkthrough.</p>
<h2 id="demos">The five demos</h2>
<p>Instead of one long recording, we split the walkthrough into five focused demos. Each targets a specific audience and can be watched independently.</p>
<h3 id="quickstart">1. Quickstart <span class="tag" style="font-size:.75rem;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle">~30s</span></h3>
<p><strong>Audience:</strong> New users. Shows version info, binary profile, configuration file, and one-shot <code>--exec</code> mode.</p>
<div class="demo-embed">
<script id="asciicast-GTnaQAo2EBfohVRJ" src="https://asciinema.org/a/GTnaQAo2EBfohVRJ.js" async></script>
<noscript>
<p><a href="https://asciinema.org/a/GTnaQAo2EBfohVRJ" rel="noopener">View on asciinema.org</a></p>
</noscript>
</div>
<h3 id="architecture">2. Architecture <span class="tag" style="font-size:.75rem;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle">~45s</span></h3>
<p><strong>Audience:</strong> Developers. Shows source modules, unit test suite, multi-agent patterns, self-healing engine, and graceful degradation.</p>
<div class="demo-embed">
<script id="asciicast-S0AuroDlPXrQiysy" src="https://asciinema.org/a/S0AuroDlPXrQiysy.js" async></script>
<noscript>
<p><a href="https://asciinema.org/a/S0AuroDlPXrQiysy" rel="noopener">View on asciinema.org</a></p>
</noscript>
</div>
<h3 id="server-mcp">3. Server & MCP <span class="tag" style="font-size:.75rem;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle">~40s</span></h3>
<p><strong>Audience:</strong> Operators. Shows HTTP server mode (<code>/health</code>, <code>/ready</code>, <code>/metrics</code>), MCP stdio server, and MCP SSE server.</p>
<div class="demo-embed">
<script id="asciicast-WT48ceUWYHMI9pTZ" src="https://asciinema.org/a/WT48ceUWYHMI9pTZ.js" async></script>
<noscript>
<p><a href="https://asciinema.org/a/WT48ceUWYHMI9pTZ" rel="noopener">View on asciinema.org</a></p>
</noscript>
</div>
<h3 id="resilience">4. Resilience <span class="tag" style="font-size:.75rem;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle">~35s</span></h3>
<p><strong>Audience:</strong> SREs / platform engineers. Shows the self-healing engine, circuit breaker states (Closed → Open → Half-Open), exponential backoff with jitter, and failure tracking.</p>
<div class="demo-embed">
<script id="asciicast-B3CYpEPzfCt1Aadb" src="https://asciinema.org/a/B3CYpEPzfCt1Aadb.js" async></script>
<noscript>
<p><a href="https://asciinema.org/a/B3CYpEPzfCt1Aadb" rel="noopener">View on asciinema.org</a></p>
</noscript>
</div>
<h3 id="deployment">5. Deployment <span class="tag" style="font-size:.75rem;background:var(--accent);color:#fff;padding:2px 8px;border-radius:4px;vertical-align:middle">~40s</span></h3>
<p><strong>Audience:</strong> DevOps. Shows Docker multi-stage build, distroless container, Kubernetes manifests, Helm chart, website, and verification suite.</p>
<div class="demo-embed">
<script id="asciicast-UWMnW9N4as1kFayD" src="https://asciinema.org/a/UWMnW9N4as1kFayD.js" async></script>
<noscript>
<p><a href="https://asciinema.org/a/UWMnW9N4as1kFayD" rel="noopener">View on asciinema.org</a></p>
</noscript>
</div>
<h2 id="run-locally">Run the demos locally</h2>
<p>Each demo is a standalone shell script in <code>scripts/demos/</code>. You can run them without recording:</p>
<div class="code">
<div class="code__bar"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="label">terminal</span><button class="code__copy" type="button">Copy</button></div>
<pre><code><span class="tok-c"># Prerequisites: Rust 1.86+, a built binary</span>
<span class="tok-d">cargo</span> build --release
<span class="tok-c"># Run any demo (no recording)</span>
<span class="tok-d">./scripts/demos/demo-quickstart.sh</span>
<span class="tok-d">./scripts/demos/demo-architecture.sh</span>
<span class="tok-d">./scripts/demos/demo-server-mcp.sh</span>
<span class="tok-d">./scripts/demos/demo-resilience.sh</span>
<span class="tok-d">./scripts/demos/demo-deployment.sh</span>
<span class="tok-c"># Or run all demos sequentially</span>
<span class="tok-d">for d in scripts/demos/demo-*.sh; do "$d"; done</span></code></pre>
</div>
<p>For the <strong>quickstart</strong> demo's <code>--exec</code> section, you'll need an LLM provider running. The script auto-detects LiteLLM on <code>localhost:4000</code>. If no provider is available, it falls back to showing config validation.</p>
<h2 id="record">Record your own demos</h2>
<p>To record a new asciinema demo:</p>
<div class="code">
<div class="code__bar"><span class="dot"></span><span class="dot"></span><span class="dot"></span><span class="label">terminal</span><button class="code__copy" type="button">Copy</button></div>
<pre><code><span class="tok-c"># Install asciinema</span>
<span class="tok-d">pip3</span> install asciinema
<span class="tok-c"># Record a single demo</span>
<span class="tok-d">asciinema</span> rec \
--title <span class="tok-s">"RavenClaws v1.2.0 — Quickstart"</span> \
--command <span class="tok-s">"./scripts/demos/demo-quickstart.sh"</span> \
--overwrite demo-quickstart.cast
<span class="tok-c"># Upload to asciinema.org</span>
<span class="tok-d">asciinema</span> upload demo-quickstart.cast</code></pre>
</div>
<p>Unauthenticated uploads are automatically deleted after 7 days. To preserve recordings permanently, link the CLI to an asciinema.org account by following the authentication URL printed after upload.</p>
<h2 id="scripts">The demo scripts</h2>
<p>Each demo is driven by a standalone shell script in <code>scripts/demos/</code>. They use simple helpers:</p>
<ul>
<li><code>section "TITLE"</code> — prints a section header</li>
<li><code>type_cmd command args...</code> — prints the command then runs it</li>
<li><code>sleep N</code> — pauses for readability in the recording</li>
</ul>
<p>The scripts are designed to be both live demos and recording sources — they work identically in both modes. See <code>scripts/demos/README.md</code> for full documentation.</p>
</article>
</div>
</div>
</main>
<footer class="site-footer">
<div class="wrap">
<div class="foot-grid">
<div class="foot-brand">
<a class="brand" href="/"><img src="/assets/favicon-512.png" alt="" width="30" height="30"><span>Raven<b>Claws</b></span></a>
<p>The ultimate AI agentic worker. Secure · Small · Efficient · Robust · Simple. Built in Rust.</p>
</div>
<div class="foot-col">
<h4>Product</h4>
<a href="/#features">Features</a>
<a href="/#providers">Providers</a>
<a href="/#security">Security</a>
<a href="/#license">License</a>
</div>
<div class="foot-col">
<h4>Docs</h4>
<a href="/docs/">Overview</a>
<a href="/docs/getting-started">Getting started</a>
<a href="/docs/interaction-modes">Interaction modes</a>
<a href="/docs/swarm-mode">Swarm mode</a>
<a href="/docs/mcp-integration">MCP integration</a>
<a href="/docs/heartbeat-mode">Heartbeat mode</a>
</div>
<div class="foot-col">
<h4>Project</h4>
<a href="https://github.com/egkristi/RavenClaws" rel="noopener">GitHub</a>
<a href="https://crates.io/crates/ravenclaws" rel="noopener">crates.io</a>
<a href="https://docs.rs/ravenclaws" rel="noopener">API docs</a>
<a href="https://github.com/egkristi/RavenClaws/releases" rel="noopener">Releases</a>
</div>
</div>
<div class="foot-bottom">
<span>© <span data-year>2026</span> RavenClaws · Erling G M Kristiansen · AGPL-3.0-or-later + Commercial</span>
<span class="made">Built in <b>Rust</b> 🦀 · Deployed on Cloudflare</span>
</div>
</div>
</footer>
<script src="/assets/main.js" defer></script>
</body>
</html>