<?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: Nikhil tiwari</title>
    <description>The latest articles on DEV Community by Nikhil tiwari (@nikhil102).</description>
    <link>https://dev.to/nikhil102</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3922500%2Ffba6bd7d-a48c-44af-9f05-df50db196d43.JPG</url>
      <title>DEV Community: Nikhil tiwari</title>
      <link>https://dev.to/nikhil102</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nikhil102"/>
    <language>en</language>
    <item>
      <title>Building a Website with Anthropic's Generator-Evaluator Loop (Harness Engineering)</title>
      <dc:creator>Nikhil tiwari</dc:creator>
      <pubDate>Sun, 17 May 2026 08:18:22 +0000</pubDate>
      <link>https://dev.to/nikhil102/building-a-website-with-anthropics-generator-evaluator-loop-harness-engineering-4olb</link>
      <guid>https://dev.to/nikhil102/building-a-website-with-anthropics-generator-evaluator-loop-harness-engineering-4olb</guid>
      <description>&lt;h2&gt;
  
  
  Building a Website with Anthropic's Generator-Evaluator Loop
&lt;/h2&gt;

&lt;p&gt;Anthropic recently published their &lt;a href="https://www.anthropic.com/engineering/harness-design-long-running-apps" rel="noopener noreferrer"&gt;harness design for long-running apps&lt;/a&gt; — a GAN-inspired architecture where a Generator builds and an Evaluator critiques in a loop. I replicated it with Kiro CLI to build a marketing website autonomously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; 12 iterations, 3.5 hours, zero manual coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Planner (1x) → Generator ↔ Evaluator (12x)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each agent is a &lt;strong&gt;separate CLI process&lt;/strong&gt; — clean slate, no shared context:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;
&lt;span class="c"&gt;# orchestrator.sh — spawns fresh sessions per agent&lt;/span&gt;

&lt;span class="nv"&gt;KIRO&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"/Users/me/.local/bin/kiro-cli"&lt;/span&gt;

invoke_kiro&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$KIRO&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; chat &lt;span class="nt"&gt;--no-interactive&lt;/span&gt; &lt;span class="nt"&gt;--trust-all-tools&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="s2"&gt;"Read &lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt; and execute all instructions."&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;# Planner (once)&lt;/span&gt;
invoke_kiro &lt;span class="s2"&gt;"prompts/planner.md"&lt;/span&gt;

&lt;span class="c"&gt;# Generator ↔ Evaluator loop&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;&lt;span class="o"&gt;=&lt;/span&gt;12&lt;span class="p"&gt;;&lt;/span&gt; i++&lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
  &lt;/span&gt;pkill &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"next dev"&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nb"&gt;sleep &lt;/span&gt;2
  invoke_kiro &lt;span class="s2"&gt;"prompts/generator.md"&lt;/span&gt;
  invoke_kiro &lt;span class="s2"&gt;"prompts/evaluator.md"&lt;/span&gt;
&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Communication is &lt;strong&gt;only through files&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Planner writes &lt;code&gt;.harness/spec.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Evaluator writes &lt;code&gt;.harness/eval-report.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Generator reads both&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Evaluator Uses Playwright
&lt;/h2&gt;

&lt;p&gt;This is the key differentiator. The evaluator doesn't just read code — it &lt;strong&gt;browses the live site&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# evaluator.md (excerpt)&lt;/span&gt;

&lt;span class="gu"&gt;### Start Server&lt;/span&gt;
nohup npx next dev --port 3000 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp; disown; sleep 8

&lt;span class="gu"&gt;### Test with Playwright MCP&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; browser_navigate to http://localhost:3000
&lt;span class="p"&gt;2.&lt;/span&gt; browser_snapshot at 1440x900, 768x1024, 375x812
&lt;span class="p"&gt;3.&lt;/span&gt; browser_click all interactive elements
&lt;span class="p"&gt;4.&lt;/span&gt; Score: Design Quality, Originality, Craft, Functionality

&lt;span class="gu"&gt;### Always provide feedback — never just "PASS"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Design Skill (Anti-AI-Slop)
&lt;/h2&gt;

&lt;p&gt;Both Generator and Evaluator reference Anthropic's &lt;a href="https://github.com/anthropics/claude-code/blob/main/plugins/frontend-design/skills/frontend-design/SKILL.md" rel="noopener noreferrer"&gt;frontend design skill&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## NEVER&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Inter, Roboto, Arial, Space Grotesk
&lt;span class="p"&gt;-&lt;/span&gt; Purple gradients on white backgrounds
&lt;span class="p"&gt;-&lt;/span&gt; Predictable card layouts

&lt;span class="gu"&gt;## ALWAYS&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Bold, distinctive font choices
&lt;span class="p"&gt;-&lt;/span&gt; Unexpected layouts, asymmetry
&lt;span class="p"&gt;-&lt;/span&gt; Commit fully to a direction
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generic AI patterns score &lt;strong&gt;max 5/10&lt;/strong&gt;. This forces creative risk-taking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Iteration Progression
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Iteration&lt;/th&gt;
&lt;th&gt;What Happened&lt;/th&gt;
&lt;th&gt;Design Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Generic dark site, Inter font&lt;/td&gt;
&lt;td&gt;5/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Amber palette pivot, custom SVGs&lt;/td&gt;
&lt;td&gt;6/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Fixed a11y, responsive, fonts&lt;/td&gt;
&lt;td&gt;6/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Terminal Noir pivot&lt;/strong&gt; — IBM Plex Mono, grain, scanlines&lt;/td&gt;
&lt;td&gt;7/10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5-12&lt;/td&gt;
&lt;td&gt;Refinement — animations, reduced-motion, polish&lt;/td&gt;
&lt;td&gt;7-8/10&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The biggest jumps came from &lt;strong&gt;pivots&lt;/strong&gt;, not refinements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Lessons
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Separate generator from evaluator&lt;/strong&gt; — AI can't judge its own work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean slate per invocation&lt;/strong&gt; — prevents context anxiety&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Playwright &amp;gt; code review&lt;/strong&gt; — catches visual bugs code review misses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Penalize generic patterns&lt;/strong&gt; — or the model converges on AI slop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pivots &amp;gt; polish&lt;/strong&gt; — tell the generator to scrap and restart if scores stagnate&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Two Architectures
&lt;/h2&gt;

&lt;p&gt;I built templates for both use cases:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend (design-focused):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No sprints, single build&lt;/li&gt;
&lt;li&gt;5-15 iterations of generate → evaluate → improve&lt;/li&gt;
&lt;li&gt;Scoring: Design Quality, Originality, Craft, Functionality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Full-stack (correctness-focused):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sprint-based with contracts&lt;/li&gt;
&lt;li&gt;Generator + Evaluator negotiate "done" before coding&lt;/li&gt;
&lt;li&gt;Pass/fail per sprint, max 3 retries&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Mnemo-mcp/Harness
&lt;span class="nb"&gt;cd &lt;/span&gt;Harness
./orchestrator.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Requires: Kiro CLI + Playwright MCP configured in &lt;code&gt;.kiro/settings/mcp.json&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;The model is the engine. The harness is what makes it drive straight.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://mnemo-mcp.github.io/Mnemo" rel="noopener noreferrer"&gt;Live site&lt;/a&gt; | &lt;a href="https://github.com/Mnemo-mcp/Harness" rel="noopener noreferrer"&gt;Harness repo&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>automation</category>
      <category>ai</category>
      <category>claude</category>
    </item>
    <item>
      <title>I Built Persistent Memory for AI Coding Assistants — Here's How It Works</title>
      <dc:creator>Nikhil tiwari</dc:creator>
      <pubDate>Sun, 10 May 2026 21:42:13 +0000</pubDate>
      <link>https://dev.to/nikhil102/i-built-persistent-memory-for-ai-coding-assistants-heres-how-it-works-2i0b</link>
      <guid>https://dev.to/nikhil102/i-built-persistent-memory-for-ai-coding-assistants-heres-how-it-works-2i0b</guid>
      <description>&lt;h2&gt;
  
  
  Every time you open a new AI chat, your assistant forgets everything. I fixed that.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;If you use Cursor, Claude Code, or Amazon Q regularly, you've probably hit this wall:&lt;/p&gt;

&lt;p&gt;You explain your project architecture in Monday's chat. On Tuesday, you open a new session and start from scratch. You paste the same context, re-explain the same patterns, and re-describe the same service boundaries — every single time.&lt;/p&gt;

&lt;p&gt;This isn't a minor inconvenience.&lt;/p&gt;

&lt;p&gt;For large codebases, every AI interaction starts with 10 minutes of context-loading before you can ask anything useful. For teams, every developer builds their own mental model of the codebase in isolation, while the AI assistant knows none of it.&lt;/p&gt;

&lt;p&gt;I've been building production systems on Azure for several years — .NET microservices, KEDA autoscaling, Azure Service Bus pipelines. Our codebase has 40+ services, clean architecture patterns, vendor integration handlers, and years of architectural decisions that live entirely in people's heads.&lt;/p&gt;

&lt;p&gt;Every time I opened a new AI chat, I was manually transferring that knowledge into a chat window.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Mnemo&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Mnemo Does
&lt;/h2&gt;

&lt;p&gt;Mnemo is a local MCP (Model Context Protocol) server that gives AI coding assistants persistent, structured knowledge about your codebase.&lt;/p&gt;

&lt;p&gt;One command initializes it.&lt;/p&gt;

&lt;p&gt;After that, every AI chat automatically knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your project's architecture and patterns&lt;/li&gt;
&lt;li&gt;Your API endpoints&lt;/li&gt;
&lt;li&gt;Your engineering decisions&lt;/li&gt;
&lt;li&gt;Who owns which part of the codebase&lt;/li&gt;
&lt;li&gt;Errors you've already debugged and how you fixed them&lt;/li&gt;
&lt;li&gt;Incidents, code reviews, and team knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It works with Cursor, Claude Code, Amazon Q, and any MCP-compatible AI client.&lt;/p&gt;

&lt;p&gt;The moment a new AI chat session starts, Mnemo automatically loads your project context.&lt;/p&gt;

&lt;p&gt;You never paste architecture descriptions again.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It Works Technically
&lt;/h2&gt;

&lt;p&gt;When you run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mnemo init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;inside your project, several things happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. AST-Based Codebase Parsing
&lt;/h2&gt;

&lt;p&gt;Mnemo parses your codebase using real language parsers — not regex or grep.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C#&lt;/strong&gt; → Roslyn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; → &lt;code&gt;ast&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; → TypeScript Compiler API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows Mnemo to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Method signatures&lt;/li&gt;
&lt;li&gt;Class hierarchies&lt;/li&gt;
&lt;li&gt;Interface implementations&lt;/li&gt;
&lt;li&gt;Dependency relationships&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From this, it builds a compact &lt;strong&gt;repo map&lt;/strong&gt; — a structured representation of your codebase shape.&lt;/p&gt;

&lt;p&gt;Not the full source code.&lt;/p&gt;

&lt;p&gt;Just the architecture-level understanding required for AI context.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Architecture Detection
&lt;/h2&gt;

&lt;p&gt;Mnemo scans the codebase for structural signals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Common handler inheritance&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;IRepository&amp;lt;T&amp;gt;&lt;/code&gt; patterns&lt;/li&gt;
&lt;li&gt;Command/query separation&lt;/li&gt;
&lt;li&gt;Event-driven conventions&lt;/li&gt;
&lt;li&gt;DI registration styles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using these signals, it classifies your architecture automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean Architecture&lt;/li&gt;
&lt;li&gt;CQRS&lt;/li&gt;
&lt;li&gt;Event-Driven&lt;/li&gt;
&lt;li&gt;Hexagonal&lt;/li&gt;
&lt;li&gt;Repository Pattern&lt;/li&gt;
&lt;li&gt;Handler Pattern&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This becomes part of the persistent project memory.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. MCP Server Initialization
&lt;/h2&gt;

&lt;p&gt;Mnemo launches a local MCP server process that exposes tools AI assistants can call.&lt;/p&gt;

&lt;p&gt;At the start of each AI chat session, the assistant calls:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mnemo_recall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mnemo then returns a structured context payload containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo map&lt;/li&gt;
&lt;li&gt;Architecture profile&lt;/li&gt;
&lt;li&gt;Recent engineering decisions&lt;/li&gt;
&lt;li&gt;Error/debug history&lt;/li&gt;
&lt;li&gt;Current task context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is stored locally inside:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.mnemo/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Currently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSON files store structured memory&lt;/li&gt;
&lt;li&gt;A vector store powers semantic search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No source code leaves your machine.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why MCP Matters
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) is an open protocol from Anthropic that standardizes how AI assistants connect to tools and external context.&lt;/p&gt;

&lt;p&gt;Think of it like USB for AI tooling.&lt;/p&gt;

&lt;p&gt;Instead of every AI platform building proprietary integrations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any MCP server can provide tools&lt;/li&gt;
&lt;li&gt;Any MCP-compatible AI client can consume them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mnemo implements MCP, meaning it works across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Amazon Q&lt;/li&gt;
&lt;li&gt;Kiro&lt;/li&gt;
&lt;li&gt;Other MCP-compatible tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mnemo isn't tied to a single AI assistant.&lt;/p&gt;

&lt;p&gt;It's an intelligence layer that upgrades all of them.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the AI Actually Sees
&lt;/h2&gt;

&lt;p&gt;When the assistant calls &lt;code&gt;mnemo_recall&lt;/code&gt;, it receives structured project context like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Project Context
Architecture: Clean Architecture + CQRS
Patterns: Repository (9 interfaces), Handler pattern (12 handlers), DI container

## Decisions
- Use handler pattern for vendor-specific logic
- Auth service uses cache-aside with 5min TTL

## Repo Map
PaymentService/Handlers/
  - StripeHandler
  - PayPalHandler
  - SquareHandler

AuthService/Services/
  - TokenService : ITokenService
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this context loaded, the AI understands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How the codebase is structured&lt;/li&gt;
&lt;li&gt;Which patterns are expected&lt;/li&gt;
&lt;li&gt;Existing architectural conventions&lt;/li&gt;
&lt;li&gt;Historical engineering decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when you ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Add a new payment handler"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The generated implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inherits from &lt;code&gt;BasePaymentHandler&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Follows existing conventions&lt;/li&gt;
&lt;li&gt;Registers correctly in DI&lt;/li&gt;
&lt;li&gt;Matches existing architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without Mnemo, most assistants generate generic code that doesn't fit the system design at all.&lt;/p&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Option A: VS Code Extension (Easiest)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Install the Mnemo extension from the VS Code Marketplace&lt;/li&gt;
&lt;li&gt;Open a project&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Initialize Mnemo?"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;The extension automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Downloads the Mnemo binary&lt;/li&gt;
&lt;li&gt;Initializes the repository&lt;/li&gt;
&lt;li&gt;Configures MCP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No Python required.&lt;/p&gt;




&lt;h3&gt;
  
  
  Option B: Homebrew (macOS/Linux)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew tap Mnemo-mcp/tap
brew &lt;span class="nb"&gt;install &lt;/span&gt;mnemo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;your-project
mnemo init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Option C: pip (All Platforms)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;mnemo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or from source:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Mnemo-mcp/Mnemo.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Mnemo
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;your-project
mnemo init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Mnemo started as a solution to a frustrating problem:&lt;/p&gt;

&lt;p&gt;AI assistants forget everything between sessions.&lt;/p&gt;

&lt;p&gt;For small projects, that's annoying.&lt;/p&gt;

&lt;p&gt;For large production systems, it's a major productivity bottleneck.&lt;/p&gt;

&lt;p&gt;Mnemo gives AI coding assistants persistent architectural memory, allowing them to operate with real understanding of your codebase instead of stateless guesses.&lt;/p&gt;

&lt;p&gt;I'd love feedback — especially from teams managing large, distributed systems.&lt;/p&gt;

&lt;p&gt;What project context do you find yourself re-explaining most often?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
