import{_ as t,c as s,o as a,a0 as n}from"./chunks/framework.FdfEk_gD.js";const o="/workflows/assets/mcp-interaction-pattern.VdvOPuTt.png",g=JSON.parse('{"title":"How It Works","description":"","frontmatter":{},"headers":[],"relativePath":"user/how-it-works.md","filePath":"user/how-it-works.md"}'),i={name:"user/how-it-works.md"};function r(l,e,p,h,c,d){return a(),s("div",null,[...e[0]||(e[0]=[n('<h1 id="how-it-works" tabindex="-1">How It Works <a class="header-anchor" href="#how-it-works" aria-label="Permalink to &quot;How It Works&quot;">​</a></h1><p>Most AI coding tools are like having a really fast intern – they&#39;ll do exactly what you ask, but they won&#39;t question whether you&#39;re asking for the right thing.</p><p>Responsible Vibe flips this around. Instead of your AI waiting for instructions, it actively guides the development process using proven engineering methodologies.</p><p>Want to know more? There is also a recorded session on <a href="https://www.youtube.com/watch?v=qKTdqmlnXMg" target="_blank" rel="noreferrer">&quot;how to tame your stubborn software agent&quot;</a> as part of the video podcast <a href="https://software-architektur.tv/" target="_blank" rel="noreferrer">Software-Architektur.tv</a> (German, auto-translated subtitles are okay-ish) which gives a more detailed insight into the basic ideas and how it&#39;s supposed to work.</p><p>Next, we&#39;ll look into the components that make up Responsible Vibe and how they work together.</p><h2 id="the-mcp-architecture" tabindex="-1">The MCP Architecture <a class="header-anchor" href="#the-mcp-architecture" aria-label="Permalink to &quot;The MCP Architecture&quot;">​</a></h2><p><img src="'+o+`" alt="MCP Interaction Pattern"></p><p>Here&#39;s the actual mechanics: Your AI agent calls <strong>MCP tools</strong> that return <strong>phase-specific instructions</strong>. It&#39;s prompt engineering, but contextual and systematic.</p><h2 id="the-core-mcp-tools" tabindex="-1">The Core MCP Tools <a class="header-anchor" href="#the-core-mcp-tools" aria-label="Permalink to &quot;The Core MCP Tools&quot;">​</a></h2><h3 id="whats-next-the-permanent-nudger" tabindex="-1"><code>whats_next()</code> - The Permanent Nudger <a class="header-anchor" href="#whats-next-the-permanent-nudger" aria-label="Permalink to &quot;\`whats_next()\` - The Permanent Nudger&quot;">​</a></h3><p>Called after every user interaction. Returns detailed instructions for what the AI should do next based on:</p><ul><li>Current development phase (requirements, design, implementation, etc.)</li><li>Project context and conversation history</li><li>Workflow methodology (waterfall, EPCC, TDD, bugfix)</li></ul><p><strong>Example Response:</strong></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&quot;You are in the requirements phase. Ask the user about:</span></span>
<span class="line"><span>- Who will use this system?</span></span>
<span class="line"><span>- What are the key user stories?</span></span>
<span class="line"><span>- Are there any technical constraints?</span></span>
<span class="line"><span>Document findings in the plan file before proceeding.&quot;</span></span></code></pre></div><h3 id="start-development-the-kickoff" tabindex="-1"><code>start_development()</code> - The Kickoff <a class="header-anchor" href="#start-development-the-kickoff" aria-label="Permalink to &quot;\`start_development()\` - The Kickoff&quot;">​</a></h3><p>Initializes a new development workflow. The AI picks the right methodology based on your request:</p><ul><li>&quot;Build a new app&quot; → Greenfield workflow</li><li>&quot;Add a feature&quot; → EPCC workflow</li><li>&quot;Fix this bug&quot; → Bugfix workflow</li><li>&quot;I want to use TDD&quot; → TDD workflow</li></ul><h3 id="proceed-to-phase-the-transitions" tabindex="-1"><code>proceed_to_phase()</code> - The Transitions <a class="header-anchor" href="#proceed-to-phase-the-transitions" aria-label="Permalink to &quot;\`proceed_to_phase()\` - The Transitions&quot;">​</a></h3><p>Moves between development phases when current phase tasks are complete. The AI checks entrance criteria before transitioning:</p><ul><li>Requirements complete? → Move to architecture</li><li>Design approved? → Move to implementation</li><li>Tests passing? → Move to deployment</li></ul><h3 id="setup-project-docs-the-memory" tabindex="-1"><code>setup_project_docs()</code> - The Memory <a class="header-anchor" href="#setup-project-docs-the-memory" aria-label="Permalink to &quot;\`setup_project_docs()\` - The Memory&quot;">​</a></h3><p>Creates persistent project documentation (architecture.md, requirements.md, design.md) that survives across conversations and branches.</p><h2 id="phase-specific-prompt-engineering" tabindex="-1">Phase-Specific Prompt Engineering <a class="header-anchor" href="#phase-specific-prompt-engineering" aria-label="Permalink to &quot;Phase-Specific Prompt Engineering&quot;">​</a></h2><p>Each workflow phase has different instructions. Here&#39;s what your AI gets (simplified example based on the the waterfall-workflow):</p><p><strong>Requirements Phase:</strong></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&quot;Focus on understanding WHAT to build. Ask clarifying questions.</span></span>
<span class="line"><span>Don&#39;t discuss implementation details yet. Document requirements</span></span>
<span class="line"><span>in the plan file before moving forward.&quot;</span></span></code></pre></div><p><strong>Architecture Phase:</strong></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&quot;Design the high-level system structure. Consider scalability,</span></span>
<span class="line"><span>maintainability, and integration points. Document architectural</span></span>
<span class="line"><span>decisions and create component diagrams.&quot;</span></span></code></pre></div><p><strong>Implementation Phase:</strong></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&quot;Follow the design you created. Write clean, testable code.</span></span>
<span class="line"><span>Update the plan file with progress. Don&#39;t change architecture</span></span>
<span class="line"><span>without going back to design phase.&quot;</span></span></code></pre></div><h2 id="self-documenting-tool-system" tabindex="-1">Self-Documenting Tool System <a class="header-anchor" href="#self-documenting-tool-system" aria-label="Permalink to &quot;Self-Documenting Tool System&quot;">​</a></h2><p>MCP tools don&#39;t just return data – they expose <strong>rich parameter descriptions</strong> and <strong>verbose errors</strong> that teach the AI how to use the entire system.</p><p><strong>Real Example - <code>whats_next</code> Tool:</strong></p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;whats_next&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;description&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Get guidance for the current development phase and determine what to work on next. Call this tool after each user message to receive phase-specific instructions and check if you should transition to the next development phase. The tool will reference your plan file for specific tasks and context.&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;parameters&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;context&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Brief description of what you&#39;re currently working on or discussing with the user&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;user_input&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;The user&#39;s most recent message or request&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;conversation_summary&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Summary of the development progress and key decisions made so far&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><strong>What happens when called without starting development:</strong></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Error: &quot;No development conversation has been started for this project.</span></span>
<span class="line"><span>Please use the start_development tool first to initialize development with a workflow.&quot;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Suggestion: start_development({ workflow: &quot;waterfall&quot; })</span></span>
<span class="line"><span>Available workflows: [&quot;waterfall&quot;, &quot;epcc&quot;, &quot;tdd&quot;, &quot;bugfix&quot;, &quot;greenfield&quot;, &quot;minor&quot;]</span></span></code></pre></div><p>The AI learns the entire interaction pattern: <strong>call <code>start_development</code> first</strong>, <strong>pick a workflow</strong>, <strong>then use <code>whats_next</code></strong> for guidance.</p><h2 id="workflow-selection-magic" tabindex="-1">Workflow Selection Magic <a class="header-anchor" href="#workflow-selection-magic" aria-label="Permalink to &quot;Workflow Selection Magic&quot;">​</a></h2><p>The AI automatically picks workflows based on context:</p><p><strong>Your Request</strong>: &quot;Build a todo app&quot;<br><strong>AI Thinks</strong>: New project → Greenfield workflow → Full planning cycle</p><p><strong>Your Request</strong>: &quot;Add user authentication&quot;<br><strong>AI Thinks</strong>: Existing codebase → EPCC workflow → Explore current code first</p><p><strong>Your Request</strong>: &quot;The login is broken&quot;<br><strong>AI Thinks</strong>: Bug report → Bugfix workflow → Reproduce issue first</p><p>No configuration needed. The MCP tools analyze your request and return appropriate instructions.</p><h2 id="long-term-memory-that-actually-works" tabindex="-1">Long-Term Memory That Actually Works <a class="header-anchor" href="#long-term-memory-that-actually-works" aria-label="Permalink to &quot;Long-Term Memory That Actually Works&quot;">​</a></h2><p>Every conversation gets a unique ID based on your project path and git branch. This means:</p><ul><li><strong>Branch-specific development plans</strong>: <code>development-plan-feature-auth.md</code> vs <code>development-plan-main.md</code></li><li><strong>Persistent project documentation</strong>: Architecture decisions don&#39;t get lost</li><li><strong>Context that survives</strong>: Pick up exactly where you left off, even weeks later</li></ul><h2 id="universal-mcp-compatibility" tabindex="-1">Universal MCP Compatibility <a class="header-anchor" href="#universal-mcp-compatibility" aria-label="Permalink to &quot;Universal MCP Compatibility&quot;">​</a></h2><p>Because it&#39;s built on the Model Context Protocol, it works with any compatible agent. Today that&#39;s Amazon Q CLI, Claude Code, Gemini CLI, and OpenCode CLI. Tomorrow it&#39;ll work with whatever new tool launches.</p><p>You&#39;re not locked into a specific IDE or platform. The methodology travels with you.</p><h2 id="the-real-difference" tabindex="-1">The Real Difference <a class="header-anchor" href="#the-real-difference" aria-label="Permalink to &quot;The Real Difference&quot;">​</a></h2><p>Most AI tools make you faster at writing code. Responsible Vibe makes you better at engineering software.</p><p>There&#39;s a difference. And if you&#39;ve ever spent a weekend refactoring something that could have been designed properly from the start, you know exactly what that difference is worth.</p><hr><p><strong>Next</strong>: <a href="./agent-setup.html">Quick Setup</a> – Get your agent configured in 2 minutes</p>`,54)])])}const k=t(i,[["render",r]]);export{g as __pageData,k as default};
