mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-07 03:00:29 +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>
90 lines
5.1 KiB
XML
90 lines
5.1 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: BranchLoop Pages: 1 -->
|
|
<svg width="626pt" height="79pt"
|
|
viewBox="0.00 0.00 626.00 79.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 75.12)">
|
|
<title>BranchLoop</title>
|
|
<!-- start -->
|
|
<g id="node1" class="node">
|
|
<title>start</title>
|
|
<polygon fill="none" stroke="#357f9e" points="35.26,-36.12 0,-18.13 35.26,-0.13 70.52,-18.12 35.26,-36.12"/>
|
|
<polyline fill="none" stroke="#357f9e" points="10.69,-23.58 10.69,-12.67"/>
|
|
<polyline fill="none" stroke="#357f9e" points="24.57,-5.58 45.95,-5.58"/>
|
|
<polyline fill="none" stroke="#357f9e" points="59.83,-12.67 59.83,-23.58"/>
|
|
<polyline fill="none" stroke="#357f9e" points="45.95,-30.67 24.57,-30.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="35.26" y="-13.1" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Start</text>
|
|
</g>
|
|
<!-- implement -->
|
|
<g id="node3" class="node">
|
|
<title>implement</title>
|
|
<path fill="none" stroke="#357f9e" d="M167.02,-36.12C167.02,-36.12 119.52,-36.12 119.52,-36.12 113.52,-36.12 107.52,-30.12 107.52,-24.12 107.52,-24.12 107.52,-12.12 107.52,-12.12 107.52,-6.12 113.52,-0.12 119.52,-0.12 119.52,-0.12 167.02,-0.12 167.02,-0.12 173.02,-0.12 179.02,-6.12 179.02,-12.12 179.02,-12.12 179.02,-24.13 179.02,-24.13 179.02,-30.12 173.02,-36.12 167.02,-36.12"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="143.27" y="-13.1" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Implement</text>
|
|
</g>
|
|
<!-- start->implement -->
|
|
<g id="edge1" class="edge">
|
|
<title>start->implement</title>
|
|
<path fill="none" stroke="#666666" d="M71.56,-18.12C79.34,-18.12 87.69,-18.12 95.84,-18.12"/>
|
|
<polygon fill="#666666" stroke="#666666" points="95.61,-21.63 105.61,-18.13 95.61,-14.63 95.61,-21.63"/>
|
|
</g>
|
|
<!-- exit -->
|
|
<g id="node2" class="node">
|
|
<title>exit</title>
|
|
<polygon fill="none" stroke="#357f9e" points="618.46,-36.25 582.21,-36.25 582.21,0 618.46,0 618.46,-36.25"/>
|
|
<polyline fill="none" stroke="#357f9e" points="594.21,-36.25 582.21,-24.25"/>
|
|
<polyline fill="none" stroke="#357f9e" points="582.21,-12 594.21,0"/>
|
|
<polyline fill="none" stroke="#357f9e" points="606.46,0 618.46,-12"/>
|
|
<polyline fill="none" stroke="#357f9e" points="618.46,-24.25 606.46,-36.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="600.33" y="-13.1" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Exit</text>
|
|
</g>
|
|
<!-- validate -->
|
|
<g id="node4" class="node">
|
|
<title>validate</title>
|
|
<polygon fill="none" stroke="#357f9e" points="321.43,-71.12 237.59,-71.12 216.02,-35.13 299.86,-35.12 321.43,-71.12"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="268.73" y="-48.1" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Validate</text>
|
|
</g>
|
|
<!-- implement->validate -->
|
|
<g id="edge2" class="edge">
|
|
<title>implement->validate</title>
|
|
<path fill="none" stroke="#666666" d="M179.32,-28.06C187.93,-30.5 197.39,-33.18 206.83,-35.86"/>
|
|
<polygon fill="#666666" stroke="#666666" points="205.82,-39.21 216.39,-38.57 207.72,-32.48 205.82,-39.21"/>
|
|
</g>
|
|
<!-- gate -->
|
|
<g id="node5" class="node">
|
|
<title>gate</title>
|
|
<polygon fill="none" stroke="#357f9e" points="441.07,-36.12 358.43,-18.13 441.07,-0.13 523.71,-18.12 441.07,-36.12"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="441.07" y="-13.1" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#1a1a1a">Tests passing?</text>
|
|
</g>
|
|
<!-- validate->gate -->
|
|
<g id="edge3" class="edge">
|
|
<title>validate->gate</title>
|
|
<path fill="none" stroke="#666666" d="M306.27,-45.62C329.43,-40.86 359.81,-34.62 385.77,-29.28"/>
|
|
<polygon fill="#666666" stroke="#666666" points="386.39,-32.73 395.48,-27.29 384.98,-25.87 386.39,-32.73"/>
|
|
</g>
|
|
<!-- gate->exit -->
|
|
<g id="edge4" class="edge">
|
|
<title>gate->exit</title>
|
|
<path fill="none" stroke="#666666" d="M525.77,-18.12C541.89,-18.12 557.72,-18.12 570.55,-18.12"/>
|
|
<polygon fill="#666666" stroke="#666666" points="570.32,-21.63 580.32,-18.13 570.32,-14.63 570.32,-21.63"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="552.96" y="-19.88" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#666666">Pass</text>
|
|
</g>
|
|
<!-- gate->implement -->
|
|
<g id="edge5" class="edge">
|
|
<title>gate->implement</title>
|
|
<path fill="none" stroke="#666666" d="M367.41,-15.71C323.57,-14.59 266.58,-13.73 216.02,-14.88 207.79,-15.06 199.04,-15.37 190.58,-15.72"/>
|
|
<polygon fill="#666666" stroke="#666666" points="190.64,-12.21 180.81,-16.15 190.95,-19.21 190.64,-12.21"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="268.73" y="-16.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#666666">Fix</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|