mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-08 03:10:26 +00:00
Remove stub pages (bring-your-own-key, costs, monitoring, usage, artifacts, ai-tools, extensions, hooks, llms) and flesh out remaining pages with real content covering advanced setup, security, permissions, MCP, observability, interviews, environments, CLI reference, architecture, and workflow stages. Add permission-flow diagram and tutorials section. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
121 lines
6.8 KiB
XML
121 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 14.1.2 (20260124.0452)
|
|
-->
|
|
<!-- Title: Ensemble Pages: 1 -->
|
|
<svg width="587pt" height="98pt"
|
|
viewBox="0.00 0.00 587.00 98.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<style>
|
|
@media (prefers-color-scheme: dark) {
|
|
[fill="#1a1a1a"] { fill: #e5e5e5; }
|
|
[fill="#666666"] { fill: #aaaaaa; }
|
|
[stroke="#666666"] { stroke: #aaaaaa; }
|
|
[stroke="#999999"] { stroke: #777777; }
|
|
}
|
|
</style>
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 94)">
|
|
<title>Ensemble</title>
|
|
<!-- start -->
|
|
<g id="node1" class="node">
|
|
<title>start</title>
|
|
<polygon fill="none" stroke="#357f9e" points="35.26,-63 0,-45 35.26,-27 70.52,-45 35.26,-63"/>
|
|
<polyline fill="none" stroke="#357f9e" points="10.69,-50.46 10.69,-39.54"/>
|
|
<polyline fill="none" stroke="#357f9e" points="24.57,-32.46 45.95,-32.46"/>
|
|
<polyline fill="none" stroke="#357f9e" points="59.83,-39.54 59.83,-50.46"/>
|
|
<polyline fill="none" stroke="#357f9e" points="45.95,-57.54 24.57,-57.54"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="35.26" y="-39.98" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Start</text>
|
|
</g>
|
|
<!-- fork -->
|
|
<g id="node3" class="node">
|
|
<title>fork</title>
|
|
<polygon fill="none" stroke="#357f9e" points="165.27,-63 106.52,-63 106.52,-59 102.52,-59 102.52,-55 106.52,-55 106.52,-35 102.52,-35 102.52,-31 106.52,-31 106.52,-27 165.27,-27 165.27,-63"/>
|
|
<polyline fill="none" stroke="#357f9e" points="106.52,-59 110.52,-59 110.52,-55 106.52,-55"/>
|
|
<polyline fill="none" stroke="#357f9e" points="106.52,-35 110.52,-35 110.52,-31 106.52,-31"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="135.9" y="-39.98" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Fan Out</text>
|
|
</g>
|
|
<!-- start->fork -->
|
|
<g id="edge1" class="edge">
|
|
<title>start->fork</title>
|
|
<path fill="none" stroke="#666666" d="M71.59,-45C79.15,-45 87.19,-45 94.92,-45"/>
|
|
<polygon fill="#666666" stroke="#666666" points="94.78,-48.5 104.78,-45 94.78,-41.5 94.78,-48.5"/>
|
|
</g>
|
|
<!-- exit -->
|
|
<g id="node2" class="node">
|
|
<title>exit</title>
|
|
<polygon fill="none" stroke="#357f9e" points="578.67,-63.12 542.42,-63.12 542.42,-26.88 578.67,-26.88 578.67,-63.12"/>
|
|
<polyline fill="none" stroke="#357f9e" points="554.42,-63.12 542.42,-51.12"/>
|
|
<polyline fill="none" stroke="#357f9e" points="542.42,-38.88 554.42,-26.88"/>
|
|
<polyline fill="none" stroke="#357f9e" points="566.67,-26.88 578.67,-38.88"/>
|
|
<polyline fill="none" stroke="#357f9e" points="578.67,-51.12 566.67,-63.12"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="560.54" y="-39.98" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Exit</text>
|
|
</g>
|
|
<!-- opus -->
|
|
<g id="node4" class="node">
|
|
<title>opus</title>
|
|
<polygon fill="none" stroke="#357f9e" points="276.52,-90 214.02,-90 214.02,-94 202.02,-94 202.02,-54 276.52,-54 276.52,-90"/>
|
|
<polyline fill="none" stroke="#357f9e" points="202.02,-90 214.02,-90"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="239.27" y="-73.35" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Opus</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="239.27" y="-60.6" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">(Anthropic)</text>
|
|
</g>
|
|
<!-- fork->opus -->
|
|
<g id="edge2" class="edge">
|
|
<title>fork->opus</title>
|
|
<path fill="none" stroke="#666666" d="M165.68,-52.66C173.49,-54.75 182.17,-57.06 190.72,-59.34"/>
|
|
<polygon fill="#666666" stroke="#666666" points="189.79,-62.71 200.35,-61.9 191.59,-55.95 189.79,-62.71"/>
|
|
</g>
|
|
<!-- gemini -->
|
|
<g id="node5" class="node">
|
|
<title>gemini</title>
|
|
<polygon fill="none" stroke="#357f9e" points="277.27,-36 213.27,-36 213.27,-40 201.27,-40 201.27,0 277.27,0 277.27,-36"/>
|
|
<polyline fill="none" stroke="#357f9e" points="201.27,-36 213.27,-36"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="239.27" y="-19.35" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Gemini Pro</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="239.27" y="-6.6" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">(Google)</text>
|
|
</g>
|
|
<!-- fork->gemini -->
|
|
<g id="edge3" class="edge">
|
|
<title>fork->gemini</title>
|
|
<path fill="none" stroke="#666666" d="M165.68,-37.34C173.33,-35.3 181.8,-33.04 190.19,-30.81"/>
|
|
<polygon fill="#666666" stroke="#666666" points="190.85,-34.25 199.61,-28.3 189.05,-27.49 190.85,-34.25"/>
|
|
</g>
|
|
<!-- merge -->
|
|
<g id="node6" class="node">
|
|
<title>merge</title>
|
|
<polygon fill="none" stroke="#357f9e" points="387.17,-37.54 387.17,-52.46 367.87,-63 340.57,-63 321.27,-52.46 321.27,-37.54 340.57,-27 367.87,-27 387.17,-37.54"/>
|
|
<polygon fill="none" stroke="#357f9e" points="391.17,-35.17 391.17,-54.83 368.89,-67 339.55,-67 317.27,-54.83 317.27,-35.17 339.55,-23 368.89,-23 391.17,-35.17"/>
|
|
<polygon fill="none" stroke="#357f9e" points="395.17,-32.8 395.17,-57.2 369.91,-71 338.53,-71 313.27,-57.2 313.27,-32.8 338.53,-19 369.91,-19 395.17,-32.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="354.22" y="-39.98" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Merge</text>
|
|
</g>
|
|
<!-- opus->merge -->
|
|
<g id="edge4" class="edge">
|
|
<title>opus->merge</title>
|
|
<path fill="none" stroke="#666666" d="M276.94,-63.23C284.92,-61.33 293.49,-59.28 301.91,-57.27"/>
|
|
<polygon fill="#666666" stroke="#666666" points="302.44,-60.74 311.36,-55.01 300.82,-53.93 302.44,-60.74"/>
|
|
</g>
|
|
<!-- gemini->merge -->
|
|
<g id="edge5" class="edge">
|
|
<title>gemini->merge</title>
|
|
<path fill="none" stroke="#666666" d="M277.57,-26.92C285.34,-28.77 293.67,-30.76 301.85,-32.72"/>
|
|
<polygon fill="#666666" stroke="#666666" points="300.84,-36.08 311.38,-35 302.47,-29.27 300.84,-36.08"/>
|
|
</g>
|
|
<!-- synth -->
|
|
<g id="node7" class="node">
|
|
<title>synth</title>
|
|
<polygon fill="none" stroke="#357f9e" points="506.42,-63 443.17,-63 443.17,-67 431.17,-67 431.17,-27 506.42,-27 506.42,-63"/>
|
|
<polyline fill="none" stroke="#357f9e" points="431.17,-63 443.17,-63"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="468.79" y="-39.98" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Synthesize</text>
|
|
</g>
|
|
<!-- merge->synth -->
|
|
<g id="edge6" class="edge">
|
|
<title>merge->synth</title>
|
|
<path fill="none" stroke="#666666" d="M395.54,-45C403.26,-45 411.41,-45 419.35,-45"/>
|
|
<polygon fill="#666666" stroke="#666666" points="419.24,-48.5 429.24,-45 419.24,-41.5 419.24,-48.5"/>
|
|
</g>
|
|
<!-- synth->exit -->
|
|
<g id="edge7" class="edge">
|
|
<title>synth->exit</title>
|
|
<path fill="none" stroke="#666666" d="M506.82,-45C514.71,-45 522.93,-45 530.47,-45"/>
|
|
<polygon fill="#666666" stroke="#666666" points="530.46,-48.5 540.46,-45 530.46,-41.5 530.46,-48.5"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|