ramble/index.html

46 lines
26 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-overview" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Ramble Overview | Ramble</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pages.brrd.tech/rob/ramble/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Ramble Overview | Ramble"><meta data-rh="true" name="description" content="AI-powered structured field extraction from unstructured text. A configurable GUI tool that lets users &quot;ramble&quot; about an idea and extracts structured fields using AI."><meta data-rh="true" property="og:description" content="AI-powered structured field extraction from unstructured text. A configurable GUI tool that lets users &quot;ramble&quot; about an idea and extracts structured fields using AI."><link data-rh="true" rel="icon" href="/rob/ramble/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pages.brrd.tech/rob/ramble/"><link data-rh="true" rel="alternate" href="https://pages.brrd.tech/rob/ramble/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pages.brrd.tech/rob/ramble/" hreflang="x-default"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/rob/ramble/</span> </p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",function(){void 0===window.docusaurus&&insertBanner()})</script><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Ramble Overview","item":"https://pages.brrd.tech/rob/ramble/"}]}</script><link rel="stylesheet" href="/rob/ramble/assets/css/styles.6095798e.css">
<script src="/rob/ramble/assets/js/runtime~main.51caa61d.js" defer="defer"></script>
<script src="/rob/ramble/assets/js/main.a7f56210.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/rob/ramble/"><b class="navbar__title text--truncate">Ramble</b></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://gitea.brrd.tech/rob/ramble" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Source Code<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/rob/ramble/"><span title="Ramble Overview" class="linkLabel_WmDU">Ramble Overview</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/rob/ramble/configuration"><span title="Ramble Configuration" class="linkLabel_WmDU">Ramble Configuration</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/rob/ramble/todos"><span title="Ramble TODOs" class="linkLabel_WmDU">Ramble TODOs</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/rob/ramble/goals"><span title="Goals" class="linkLabel_WmDU">Goals</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/rob/ramble/milestones"><span title="Milestones" class="linkLabel_WmDU">Milestones</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/rob/ramble/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Ramble Overview</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Ramble Overview</h1></header>
<p>AI-powered structured field extraction from unstructured text. A configurable GUI tool that lets users &quot;ramble&quot; about an idea and extracts structured fields using AI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="project-links">Project Links<a href="#project-links" class="hash-link" aria-label="Direct link to Project Links" title="Direct link to Project Links" translate="no"></a></h2>
<table><thead><tr><th>Resource</th><th>URL</th></tr></thead><tbody><tr><td><strong>Git Repository</strong></td><td><a href="https://gitea.brrd.tech/rob/ramble" target="_blank" rel="noopener noreferrer" class="">https://gitea.brrd.tech/rob/ramble</a></td></tr><tr><td><strong>Docker Image</strong></td><td><code>gitea.brrd.tech/rob/ramble:latest</code></td></tr><tr><td><strong>Local Path</strong></td><td><code>~/PycharmProjects/ramble</code></td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="core-concept">Core Concept<a href="#core-concept" class="hash-link" aria-label="Direct link to Core Concept" title="Direct link to Core Concept" translate="no"></a></h2>
<p>Ramble solves the problem of capturing ideas in a structured format. Instead of filling out rigid forms, you describe what you want in natural language, and AI extracts the structured data.</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">┌─────────────────────────────────────────────────────────────────┐</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ Ramble │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">├─────────────────────────────────────────────────────────────────┤</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ┌─────────────────────────────────────────────────────────┐ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;I want a feature that lets users export their data │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ to CSV format. It should support filtering by date │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ and include all fields. Maybe add PDF export too.&quot; │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ └─────────────────────────────────────────────────────────┘ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ▼ AI Extraction │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ┌─────────────────────────────────────────────────────────┐ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ { │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;title&quot;: &quot;Data Export Feature&quot;, │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;type&quot;: &quot;feature&quot;, │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;formats&quot;: [&quot;CSV&quot;, &quot;PDF&quot;], │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;filters&quot;: [&quot;date&quot;], │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ &quot;scope&quot;: &quot;all fields&quot; │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │ } │ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ └─────────────────────────────────────────────────────────┘ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ │</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">└─────────────────────────────────────────────────────────────────┘</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-features">Key Features<a href="#key-features" class="hash-link" aria-label="Direct link to Key Features" title="Direct link to Key Features" translate="no"></a></h2>
<table><thead><tr><th>Feature</th><th>Description</th></tr></thead><tbody><tr><td><strong>Free-form Input</strong></td><td>Type naturally without structure constraints</td></tr><tr><td><strong>AI Extraction</strong></td><td>Multiple providers (Claude, Codex, Gemini)</td></tr><tr><td><strong>Configurable Fields</strong></td><td>Define what fields to extract with custom criteria</td></tr><tr><td><strong>Field Locking</strong></td><td>Lock fields you&#x27;ve refined for re-extraction</td></tr><tr><td><strong>PlantUML Diagrams</strong></td><td>Auto-generate diagrams from descriptions</td></tr><tr><td><strong>Headless Mode</strong></td><td>CLI usage without GUI</td></tr><tr><td><strong>Programmatic API</strong></td><td>Import and use in Python scripts</td></tr><tr><td><strong>Docker Support</strong></td><td>Pre-built container for easy deployment</td></tr><tr><td><strong>Image Generation</strong></td><td>Stability AI and Pexels integration</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tech-stack">Tech Stack<a href="#tech-stack" class="hash-link" aria-label="Direct link to Tech Stack" title="Direct link to Tech Stack" translate="no"></a></h2>
<ul>
<li class=""><strong>Python 3.10+</strong></li>
<li class=""><strong>PySide6</strong> - Cross-platform GUI</li>
<li class=""><strong>Multiple AI Providers</strong> - Claude, Codex, Gemini, mock</li>
<li class=""><strong>PlantUML</strong> - Diagram generation</li>
<li class=""><strong>Docker</strong> - Containerized deployment</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="use-cases">Use Cases<a href="#use-cases" class="hash-link" aria-label="Direct link to Use Cases" title="Direct link to Use Cases" translate="no"></a></h2>
<ol>
<li class=""><strong>Feature Requests</strong>: Ramble about a feature, get structured spec</li>
<li class=""><strong>Bug Reports</strong>: Describe issue, extract steps/expected/actual</li>
<li class=""><strong>Meeting Notes</strong>: Ramble about discussion, extract action items</li>
<li class=""><strong>Documentation</strong>: Describe concept, get structured outline</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="integration">Integration<a href="#integration" class="hash-link" aria-label="Direct link to Integration" title="Direct link to Integration" translate="no"></a></h2>
<p>Ramble integrates with Development Hub to provide a user-friendly way to create new projects and feature requests through natural language input.</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"><span class="token-line" style="color:#F8F8F2"><span class="token plain"># Standalone usage</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ramble</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># With Docker</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">docker run -it --rm \</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -e DISPLAY=$DISPLAY \</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v /tmp/.X11-unix:/tmp/.X11-unix \</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> gitea.brrd.tech/rob/ramble --provider mock</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="quick-start">Quick Start<a href="#quick-start" class="hash-link" aria-label="Direct link to Quick Start" title="Direct link to Quick Start" 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"><span class="token-line" style="color:#F8F8F2"><span class="token plain"># Install</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">cd ~/PycharmProjects/ramble</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">pip install -e .</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># Run GUI with mock provider</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ramble --provider mock</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># Run with Claude</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ramble --provider claude</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># Headless mode</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ramble --field-values &#x27;{&quot;Title&quot;:&quot;My Feature&quot;,&quot;Summary&quot;:&quot;A cool feature&quot;}&#x27;</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture" translate="no"></a></h2>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ramble/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">├── src/ramble/</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ├── __init__.py # Public API (open_ramble_dialog, providers)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ├── cli.py # CLI entry point with argument parsing</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ ├── dialog.py # PySide6/PyQt5 GUI implementation</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">│ └── providers.py # AI provider implementations</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">├── Dockerfile</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">├── docker-compose.yml</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">└── pyproject.toml</span><br></span></code></pre></div></div></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/rob/ramble/configuration"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Ramble Configuration</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#project-links" class="table-of-contents__link toc-highlight">Project Links</a></li><li><a href="#core-concept" class="table-of-contents__link toc-highlight">Core Concept</a></li><li><a href="#key-features" class="table-of-contents__link toc-highlight">Key Features</a></li><li><a href="#tech-stack" class="table-of-contents__link toc-highlight">Tech Stack</a></li><li><a href="#use-cases" class="table-of-contents__link toc-highlight">Use Cases</a></li><li><a href="#integration" class="table-of-contents__link toc-highlight">Integration</a></li><li><a href="#quick-start" class="table-of-contents__link toc-highlight">Quick Start</a></li><li><a href="#architecture" class="table-of-contents__link toc-highlight">Architecture</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/rob/ramble/">Overview</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://gitea.brrd.tech/rob/ramble" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitea<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Ramble Documentation</div></div></div></footer></div>
</body>
</html>