<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Affan Shaik</title>
    <description>The latest articles on DEV Community by Affan Shaik (@affan_shaik).</description>
    <link>https://dev.to/affan_shaik</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4198266%2F83c2ec24-bdce-4482-bd9f-294dd8bdd9e3.png</url>
      <title>DEV Community: Affan Shaik</title>
      <link>https://dev.to/affan_shaik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/affan_shaik"/>
    <language>en</language>
    <item>
      <title>Where most memory tools help your agent remember more, mnemoa helps it forget what no longer belongs.</title>
      <dc:creator>Affan Shaik</dc:creator>
      <pubDate>Fri, 23 Oct 2026 00:53:02 +0000</pubDate>
      <link>https://dev.to/affan_shaik/where-most-memory-tools-help-your-agent-remember-more-mnemoa-helps-it-forget-what-no-longer-43jc</link>
      <guid>https://dev.to/affan_shaik/where-most-memory-tools-help-your-agent-remember-more-mnemoa-helps-it-forget-what-no-longer-43jc</guid>
      <description>&lt;h1&gt;
  
  
  I built *&lt;em&gt;mnemoa *&lt;/em&gt; to keep AI coding instructions from going stale.
&lt;/h1&gt;

&lt;p&gt;*&lt;em&gt;mnemoa *&lt;/em&gt; is built to make coding agents forget: it finds the stale, redundant and contradictory lines in AGENTS.md, CLAUDE.md and other instruction files, so they can be deleted rather than piled on.&lt;/p&gt;

&lt;p&gt;Coding agents rely on files like &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;, and project plans to understand a codebase. Over time, those files can get long, repeat rules already enforced by tools, and point to paths or commands that no longer exist.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;mnemoa&lt;/strong&gt; to help keep that repo memory small, accurate, and useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;mnemoa *&lt;/em&gt; scans a repository’s agent instruction files and plans. It checks for issues such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instructions that are too long or consume too much always-loaded context&lt;/li&gt;
&lt;li&gt;Broken paths, symbols, and commands&lt;/li&gt;
&lt;li&gt;Plans that have drifted from the code&lt;/li&gt;
&lt;li&gt;Rules that a formatter, linter, or other tool could enforce instead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It can also create a prune plan showing what it would remove or move, along with the estimated token cost before and after. You can review the diff before applying it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea behind “promote, then forget”
&lt;/h2&gt;

&lt;p&gt;Some instructions describe rules that tools can already enforce. *&lt;em&gt;mnemoa *&lt;/em&gt; can help turn those rules into checks, such as EditorConfig settings, Cargo lints, Ruff settings, ast-grep rules, or pre-commit hooks. It records the promotion in a ledger, so the instruction can leave the context file without losing track of why it existed.&lt;/p&gt;

&lt;p&gt;The goal is to keep useful guidance available while reducing repetition and stale instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Offline by default
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;mnemoa *&lt;/em&gt; is written in Rust and runs deterministic checks locally. The optional LLM feature can help draft rules, but it is disabled by default. You can use the CLI, run the optional HTTP API, or connect through the Python SDK.&lt;/p&gt;

&lt;p&gt;It models how seven coding agents load instruction files: Claude Code, Codex, Cursor, Copilot, Kiro, Cline, and Gemini.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Install from the repository and scan a project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--path&lt;/span&gt; crates/mnemoa-cli
mnemoa scan &lt;span class="nb"&gt;.&lt;/span&gt;
mnemoa forget
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;mnemoa forget&lt;/code&gt; shows a dry-run plan. To apply the changes after reviewing them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mnemoa forget &lt;span class="nt"&gt;--apply&lt;/span&gt; &lt;span class="nt"&gt;--yes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The project also includes a GitHub Action for running scans and drift checks in CI.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’d like feedback on
&lt;/h2&gt;

&lt;p&gt;I’d especially like to hear how *&lt;em&gt;mnemoa *&lt;/em&gt; handles real instruction files: which findings are useful, which ones are noisy, and what kinds of repo drift it should catch next.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Flotrpy/mnemoa" rel="noopener noreferrer"&gt;https://github.com/Flotrpy/mnemoa&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>database</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
