<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Open Source on Code Plato</title><link>https://CodePlato3721.github.io/tags/open-source/</link><description>Recent content in Open Source on Code Plato</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 18 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://CodePlato3721.github.io/tags/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>Plato: An AI Coding Framework for Enterprise Teams</title><link>https://CodePlato3721.github.io/post/plato-an-ai-coding-framework-for-enterprise-teams/</link><pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate><guid>https://CodePlato3721.github.io/post/plato-an-ai-coding-framework-for-enterprise-teams/</guid><description>&lt;img src="https://pub-deacd49348914a49b1254b01f351ef0d.r2.dev/2026/08/plato-an-ai-coding-framework-for-enterprise-teams/en/banner.png" alt="Featured image of post Plato: An AI Coding Framework for Enterprise Teams" /&gt;&lt;p&gt;There are already quite a few AI coding frameworks out there. GSD and Superpowers for greenfield projects, grill-with-docs leaning toward brownfield, and OpenSpec, which genuinely targets brownfield projects. So do we really need to invent yet another one?&lt;/p&gt;&#10;&lt;h2 id="the-pain-points-of-ai-coding"&gt;The Pain Points of AI Coding&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Giant PRs&lt;/strong&gt;&#10;Every day you run into a giant PR from a teammate. You ask them about it, and it turns out even they don&amp;rsquo;t fully know what the code is doing. In the end you just click approve and move on.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;False-negative unit tests&lt;/strong&gt;&#10;The codebase slowly becomes unmanageable — nobody quite knows which logic lives in which file anymore. When a bug shows up, nobody knows how to fix it, so you let AI handle it. The AI might rewrite a huge chunk of your code, declare the bug fixed, and all the unit tests pass. Then you discover some other part of the production system just broke.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Context that grows too large&lt;/strong&gt;&#10;After chatting with an agent for a while in one session, it has absorbed a lot of your codebase&amp;rsquo;s conventions and anti-patterns. Then you open a new session, and it has forgotten everything again. Or maybe you&amp;rsquo;ve already written those conventions into the prompt context, but over time the agent still starts making the same mistakes.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;No best practices built for enterprises&lt;/strong&gt;&#10;You think of those well-known frameworks. You search the web and find plenty of great frameworks for building a product from scratch. But what you&amp;rsquo;re actually working with is an old, established project. You can&amp;rsquo;t afford to break it — the consequences would be serious.&#10;OpenSpec looks promising, but it&amp;rsquo;s mostly aimed at individual developers. Over time, it generates a huge pile of specs, and the agent&amp;rsquo;s context keeps running out.&lt;/p&gt;&#10;&lt;p&gt;In short, these frameworks are too far removed from what a real programmer&amp;rsquo;s job actually looks like. Let&amp;rsquo;s take a look at a typical day for a programmer working at an enterprise.&lt;/p&gt;&#10;&lt;h3 id="a-programmers-day"&gt;A Programmer&amp;rsquo;s Day&#10;&lt;/h3&gt;&lt;p&gt;A day for someone who actually works at a company usually looks like this:&#10;A standup meeting every morning.&#10;Pick up a ticket from Jira.&#10;Create a new branch, work on the ticket, test it, commit, and open a PR.&lt;/p&gt;&#10;&lt;h2 id="what-is-plato"&gt;What Is Plato&#10;&lt;/h2&gt;&lt;p&gt;I often see people on forums asking: is there a good best practice for this yet? Honestly, I hadn&amp;rsquo;t found one either. But drawing on years of programming experience combined with context management, I put together my own methodology. So I decided to turn that methodology into an open-source framework, hoping it can help others. This framework is called Plato.&lt;/p&gt;&#10;&lt;h3 id="features"&gt;Features&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Built for brownfield projects:&lt;/strong&gt; designed for projects that already carry a lot of context and have a large existing codebase.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;A fresh session for every task:&lt;/strong&gt; each task starts in a brand-new session, keeping the context clean.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Context loaded by role:&lt;/strong&gt; Plato splits the work for a change into multiple roles, and each role only loads the context it actually needs.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Code review through questioning and refactoring:&lt;/strong&gt; questioning is the core behavior in Plato. During the design phase, the agent asks you questions; during code review, you&amp;rsquo;re expected to question the agent. This builds the habit of reviewing code by asking questions and refactoring, rather than reading it line by line.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Rule-oriented development:&lt;/strong&gt; rule documents accumulate gradually over the course of a task. Common rule documents are CLAUDE.md and AGENTS.md, but neither is well suited to enterprise-scale management. Plato splits documentation within a project into role-specific documents and project architecture documents, among others.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="how-to-use-plato"&gt;How to Use Plato&#10;&lt;/h2&gt;&lt;p&gt;Install Plato:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx skills&lt;span style="color:#f92672"&gt;@&lt;/span&gt;latest &lt;span style="color:#66d9ef"&gt;add&lt;/span&gt; CodePlato3721&lt;span style="color:#f92672"&gt;/&lt;/span&gt;plato &lt;span style="color:#f92672"&gt;-&lt;/span&gt;y &lt;span style="color:#f92672"&gt;-&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;g&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Before using it for the first time, run &lt;code&gt;/plato init&lt;/code&gt; to initialize the project. This creates two folders in your project:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;.plato&lt;/code&gt;: the rule files Plato needs to run&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;plato-workspace&lt;/code&gt;: the project documentation that Plato and you maintain together — this is an asset that belongs to the project&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;When using Plato, you&amp;rsquo;ll need at least two terminal windows open: one for the guide session, and one to actually execute tasks. The guide session uses the &lt;code&gt;/plato&lt;/code&gt; skill to drive the development workflow — it helps you create tickets, tracks task progress, and hands you the actual Claude Code command line to run the task. If you&amp;rsquo;re using VS Code, you can use the Claude Code extension as your guide.&lt;/p&gt;&#10;&lt;p&gt;Here&amp;rsquo;s an example. You pick up a Jira ticket, PRJ-123: &amp;ldquo;Add a shopping cart feature to the system.&amp;rdquo; The steps to execute it:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;In the Claude Code window acting as the guide, run &lt;code&gt;/plato PRJ-123&lt;/code&gt;. It will ask you whether this is a feature or a defect. You choose feature, and it then asks whether it&amp;rsquo;s a simple feature or a complex feature.&lt;/li&gt;&#10;&lt;li&gt;This is a complex feature spanning multiple pages, so you select complex feature. It then creates &lt;code&gt;plato-workspace/tickets/PRJ-123&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;After setting up the workspace for this ticket, it gives you a command to launch the working agent: &lt;code&gt;claude --dangerously-skip-permissions --session-id &amp;quot;96d8647c-6f2d-4452-afcd-3d6eb725a3e5&amp;quot; --append-system-prompt-file &amp;quot;.plato/designer/...&amp;quot; &amp;quot;ticket-number=PRJ-123...&amp;quot;&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;Open a second terminal and run this command. In VS Code, you can open a terminal panel and run it there.&lt;/li&gt;&#10;&lt;li&gt;Once the task is complete, run &lt;code&gt;/exit&lt;/code&gt; to leave the working agent, then run &lt;code&gt;/plato PRJ-123&lt;/code&gt; again to get the command for the next working agent. Repeat this process and you&amp;rsquo;ll move through the design, planning, and coding phases until the task is done.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;The Plato workflow is essentially this: repeatedly run &lt;code&gt;/plato &amp;lt;ticket-number&amp;gt;&lt;/code&gt; in the guide session to get a working-agent command, run that command in a separate terminal to execute the task, and once the task is done, review the agent&amp;rsquo;s work by asking questions and keep adding to the project&amp;rsquo;s rule files. Every rule file you refine gets loaded back into the agent as input for the next task, forming a virtuous cycle.&lt;/p&gt;&#10;&lt;h2 id="framework-philosophy"&gt;Framework Philosophy&#10;&lt;/h2&gt;&lt;p&gt;The philosophy behind this framework is:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Transparency:&lt;/strong&gt; rather than spinning up multiple invisible subagents at once, Plato always has exactly one agent working at a time. It never auto-commits code, and it always asks you to review what it produces. There&amp;rsquo;s no flashy control system — just a plain command line and code.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Looseness:&lt;/strong&gt; the output of every step can be edited by hand. If you&amp;rsquo;re not happy with a step, you can reject the agent&amp;rsquo;s work and start that task over. It&amp;rsquo;s there to assist you, the professional programmer, in your work — not to take it over.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Questioning:&lt;/strong&gt; questioning is the soul of how Plato works. During the design phase, the agent completes the task by asking you questions; during code review, the agent forces you to question it to get the review done. This builds the habit of reviewing code through questioning rather than reading it.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Rules:&lt;/strong&gt; the point Plato emphasizes is that your real output isn&amp;rsquo;t the code — it&amp;rsquo;s the rules you continuously produce while executing tasks. These rules keep getting added to the project&amp;rsquo;s various &lt;code&gt;.md&lt;/code&gt; files. These rules are the true asset belonging to you and your project, and they&amp;rsquo;re what keeps your agent working efficiently.&lt;/p&gt;&#10;&lt;h2 id="conclusion"&gt;Conclusion&#10;&lt;/h2&gt;&lt;p&gt;In this AI era, anyone can get an agent to replicate an existing product with a single sentence. But there&amp;rsquo;s a gap between writing code and writing maintainable code that isn&amp;rsquo;t easy to cross. Bridging that gap doesn&amp;rsquo;t take coding ability — it takes the methodology and big-picture judgment built up over years of project experience, something you might call a &amp;ldquo;sense of design.&amp;rdquo; By using Plato, you can fold that sense of design into your code, producing engineering-grade code that stays maintainable.&lt;/p&gt;&#10;&lt;p&gt;Project homepage: &lt;a class="link" href="https://github.com/CodePlato3721/plato" target="_blank" rel="noopener"&#10; &gt;https://github.com/CodePlato3721/plato&lt;/a&gt;&lt;/p&gt;&#10;</description></item></channel></rss>