generalbots/.github/profile/platform.svg
Rodrigo Rodriguez (Pragmatismo) 037db5c381 feat: Major workspace reorganization and documentation update
- Add comprehensive documentation in botbook/ with 12 chapters
- Add botapp/ Tauri desktop application
- Add botdevice/ IoT device support
- Add botlib/ shared library crate
- Add botmodels/ Python ML models service
- Add botplugin/ browser extension
- Add botserver/ reorganized server code
- Add bottemplates/ bot templates
- Add bottest/ integration tests
- Add botui/ web UI server
- Add CI/CD workflows in .forgejo/workflows/
- Add AGENTS.md and PROD.md documentation
- Add dependency management scripts (DEPENDENCIES.sh/ps1)
- Remove legacy src/ structure and migrations
- Clean up temporary and backup files
2026-04-19 08:14:25 -03:00

117 lines
7.3 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 450">
<defs>
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#0d1117"/>
<stop offset="100%" style="stop-color:#161b22"/>
</linearGradient>
<linearGradient id="appGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#a371f7"/>
<stop offset="100%" style="stop-color:#8957e5"/>
</linearGradient>
<linearGradient id="uiGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#79c0ff"/>
<stop offset="100%" style="stop-color:#58a6ff"/>
</linearGradient>
<linearGradient id="serverGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#238636"/>
<stop offset="100%" style="stop-color:#1a7f37"/>
</linearGradient>
<linearGradient id="libGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#f78166"/>
<stop offset="100%" style="stop-color:#da6d53"/>
</linearGradient>
<linearGradient id="docsGrad" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#7ee787"/>
<stop offset="100%" style="stop-color:#56d364"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="2" dy="3" stdDeviation="4" flood-opacity="0.4"/>
</filter>
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#58a6ff"/>
</marker>
</defs>
<!-- Background -->
<rect width="800" height="450" fill="url(#bgGrad)"/>
<!-- Title -->
<text x="400" y="40" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="bold" fill="#ffffff">General Bots Platform</text>
<text x="400" y="62" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#8b949e">Data Flow Architecture</text>
<!-- Top Layer - Client Apps -->
<!-- botapp -->
<g filter="url(#shadow)">
<rect x="60" y="100" width="160" height="90" rx="10" fill="url(#appGrad)"/>
<text x="140" y="135" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="bold" fill="#ffffff">botapp</text>
<text x="140" y="158" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#e2d5f7">Tauri Desktop</text>
<text x="140" y="178" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#d2a8ff">Native • System Tray</text>
</g>
<!-- botui -->
<g filter="url(#shadow)">
<rect x="260" y="100" width="160" height="90" rx="10" fill="url(#uiGrad)"/>
<text x="340" y="135" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="bold" fill="#ffffff">botui</text>
<text x="340" y="158" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#cae8ff">Pure Web UI</text>
<text x="340" y="178" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#a5d6ff">HTMX • HTML • CSS</text>
</g>
<!-- Arrow from botapp to botui -->
<path d="M 220 145 L 250 145" stroke="#58a6ff" stroke-width="2" fill="none" marker-end="url(#arrowhead)"/>
<text x="235" y="138" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="8" fill="#8b949e">wraps</text>
<!-- Arrow from botui to botserver -->
<path d="M 420 145 L 450 145" stroke="#58a6ff" stroke-width="2" fill="none" marker-end="url(#arrowhead)"/>
<text x="435" y="138" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="8" fill="#8b949e">HTTP</text>
<!-- botserver -->
<g filter="url(#shadow)">
<rect x="460" y="100" width="180" height="90" rx="10" fill="url(#serverGrad)"/>
<text x="550" y="135" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="bold" fill="#ffffff">botserver</text>
<text x="550" y="158" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#d1fae5">Core API Server</text>
<text x="550" y="178" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#7ee787">Rust • LLM • Automation</text>
</g>
<!-- Middle Layer Arrow -->
<path d="M 550 190 L 550 230" stroke="#58a6ff" stroke-width="2" fill="none" marker-end="url(#arrowhead)"/>
<!-- Connection hub -->
<circle cx="550" cy="260" r="25" fill="#21262d" stroke="#30363d" stroke-width="2"/>
<text x="550" y="265" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b949e">uses</text>
<!-- Arrows to bottom layer -->
<path d="M 525 275 L 390 320" stroke="#58a6ff" stroke-width="2" fill="none" marker-end="url(#arrowhead)"/>
<path d="M 575 275 L 650 320" stroke="#58a6ff" stroke-width="2" fill="none" marker-end="url(#arrowhead)"/>
<!-- Bottom Layer -->
<!-- botlib -->
<g filter="url(#shadow)">
<rect x="260" y="320" width="180" height="90" rx="10" fill="url(#libGrad)"/>
<text x="350" y="355" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="bold" fill="#ffffff">botlib</text>
<text x="350" y="378" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#ffddd2">Shared Library</text>
<text x="350" y="398" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#ffa28b">Types • HTTP • Utils</text>
</g>
<!-- botbook -->
<g filter="url(#shadow)">
<rect x="500" y="320" width="180" height="90" rx="10" fill="url(#docsGrad)"/>
<text x="590" y="355" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="bold" fill="#0d1117">botbook</text>
<text x="590" y="378" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#1a4721">Documentation</text>
<text x="590" y="398" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#196c2e">mdBook • Guides</text>
</g>
<!-- External Services Box -->
<g>
<rect x="680" y="100" width="100" height="90" rx="8" fill="none" stroke="#30363d" stroke-width="2" stroke-dasharray="5,3"/>
<text x="730" y="130" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b949e">External</text>
<text x="730" y="148" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="9" fill="#6e7681">OpenAI</text>
<text x="730" y="162" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="9" fill="#6e7681">Anthropic</text>
<text x="730" y="176" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="9" fill="#6e7681">Groq</text>
</g>
<!-- Arrow to External -->
<path d="M 640 145 L 670 145" stroke="#30363d" stroke-width="1.5" fill="none" marker-end="url(#arrowhead)" stroke-dasharray="4,2"/>
<!-- Footer -->
<text x="400" y="435" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="11" fill="#30363d">Code Name: Guaribas • AGPL-3.0</text>
</svg>