<?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: Felipe Marzochi</title>
    <description>The latest articles on DEV Community by Felipe Marzochi (@fmarzochi).</description>
    <link>https://dev.to/fmarzochi</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%2F823812%2F376661b8-3814-4514-810e-cd4134baf095.png</url>
      <title>DEV Community: Felipe Marzochi</title>
      <link>https://dev.to/fmarzochi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fmarzochi"/>
    <language>en</language>
    <item>
      <title>I got tired of re-explaining my project to AI every session, so I built EGC</title>
      <dc:creator>Felipe Marzochi</dc:creator>
      <pubDate>Mon, 22 Jun 2026 21:00:58 +0000</pubDate>
      <link>https://dev.to/fmarzochi/i-got-tired-of-re-explaining-my-project-to-ai-every-session-so-i-built-egc-3k8e</link>
      <guid>https://dev.to/fmarzochi/i-got-tired-of-re-explaining-my-project-to-ai-every-session-so-i-built-egc-3k8e</guid>
      <description>&lt;p&gt;You open your AI coding tool on a project you haven't touched in a week. You type "let's continue." And then it begins.&lt;/p&gt;

&lt;p&gt;"Can you remind me what we're working on?"&lt;/p&gt;

&lt;p&gt;You explain the stack. Again. The decisions you made. Again. What failed last time. Again. By the time you've re-established context, you've burned 15 minutes and half your focus.&lt;/p&gt;

&lt;p&gt;I got tired of this. So I built EGC.&lt;/p&gt;




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

&lt;p&gt;EGC is a local runtime that gives every AI coding tool you use a persistent memory across sessions. At the end of each session, your AI saves what it learned: decisions made, what failed, your preferences, what to pick up next. At the start of the next session, it loads that state back — on its own, without you asking.&lt;/p&gt;

&lt;p&gt;This is what it looks like in practice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;State loaded from egc-memory via ~/.egc/state/Projects-MyApp.md

Context and preferences acknowledged (terse responses).

Ready to pick up the next items:
• Test full install on a clean machine
• Add GEMINI.md with session memory protocol
• Publish v1.0.1 fix to npm after clean install test passes
• Add mcp_server_count to audit.js

=== EGC Stack Briefing ===
Stack: typescript, javascript
Stack agents: typescript-reviewer, javascript-reviewer
Always use: code-reviewer
===
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You didn't type anything. You just started working.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;EGC ships two MCP servers that run locally alongside your AI tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;egc-memory&lt;/code&gt;&lt;/strong&gt; handles persistence. It exposes 14 tools your AI calls automatically during the session:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;get_state&lt;/code&gt; — loads your project memory at session start&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;update_state&lt;/code&gt; — saves decisions, preferences, and next steps&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;store_decision&lt;/code&gt; — persists individual decisions to SQLite&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;search_history&lt;/code&gt; — full-text search with BM25 ranking across all past sessions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lesson_save&lt;/code&gt; / &lt;code&gt;lesson_recall&lt;/code&gt; — cross-session knowledge with confidence decay&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;detect_patterns&lt;/code&gt; — surfaces recurring commands and errors from hook events&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;working_memory_set/get&lt;/code&gt; — transient context with TTL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;State files live at &lt;code&gt;~/.egc/state/&amp;lt;project-slug&amp;gt;.md&lt;/code&gt;. One file per project, plain Markdown, human-readable. No cloud. No subscription. No black box.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;egc-guardian&lt;/code&gt;&lt;/strong&gt; handles safety and context compression:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;validate_command&lt;/code&gt; — checks shell commands against project rules before execution&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;validate_write&lt;/code&gt; — validates file write paths&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reduce_context&lt;/code&gt; — compresses file payloads to save your token budget&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;auto_learn&lt;/code&gt; — mines session failures and writes actionable lessons to all AI tool config files&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  One install, every tool
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @egchq/egc &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; egc &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. EGC detects which AI tools you use and configures itself automatically. It works with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;Gemini CLI&lt;/li&gt;
&lt;li&gt;Windsurf&lt;/li&gt;
&lt;li&gt;Kiro&lt;/li&gt;
&lt;li&gt;Any MCP-compatible tool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it works with any model: Claude, GPT-4o, Gemini, DeepSeek, Qwen3, Llama 4 via OpenRouter.&lt;/p&gt;




&lt;h2&gt;
  
  
  The sync daemon
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;egc watch&lt;/code&gt; keeps all your tool configs in sync bidirectionally. Edit context in Cursor and it propagates to Gemini CLI, Copilot, and Windsurf automatically. Edit it in any tool and it syncs back to &lt;code&gt;~/.egc/state/&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;egc watch        &lt;span class="c"&gt;# watch current project&lt;/span&gt;
egc watch &lt;span class="nt"&gt;--quiet&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Why local-first matters
&lt;/h2&gt;

&lt;p&gt;Every session state is a plain Markdown file on your machine. You can read it, edit it, version-control it, and delete it. There's no account, no API key to EGC, no server that can go down and take your memory with it.&lt;/p&gt;

&lt;p&gt;The MCP servers run as local Node.js processes. Nothing leaves your machine unless your AI provider does it (which it would do regardless).&lt;/p&gt;




&lt;h2&gt;
  
  
  Bonus: 479 prompt components
&lt;/h2&gt;

&lt;p&gt;EGC ships with a library of 63 agents, 229 skills, 76 commands, and 111 rules written from real engineering sessions. Install them or ignore them entirely — EGC gives you persistent memory either way.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open source, one developer
&lt;/h2&gt;

&lt;p&gt;EGC is MIT licensed and built by one person. The GitHub repo is at &lt;a href="https://github.com/Fmarzochi/EGC" rel="noopener noreferrer"&gt;github.com/Fmarzochi/EGC&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If EGC changed how you work, a star helps other developers find it.&lt;/p&gt;

&lt;p&gt;If you hit an issue or have a question, open an issue or join the &lt;a href="https://discord.gg/AtazrtxJ" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>mcp</category>
    </item>
    <item>
      <title>EGC: Your AI agents never start from zero again</title>
      <dc:creator>Felipe Marzochi</dc:creator>
      <pubDate>Sat, 20 Jun 2026 21:55:37 +0000</pubDate>
      <link>https://dev.to/fmarzochi/egc-your-ai-agents-never-start-from-zero-again-1o09</link>
      <guid>https://dev.to/fmarzochi/egc-your-ai-agents-never-start-from-zero-again-1o09</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsjfzbsd7ke4draaqrbpz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsjfzbsd7ke4draaqrbpz.png" alt="EGC"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every time you open a new session with an AI coding tool, it starts from zero. It does not know what you decided yesterday, what failed last week, or what comes next. You have to explain the project again. And again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EGC (Extended Global Context)&lt;/strong&gt; fixes this.&lt;/p&gt;

&lt;p&gt;EGC is a local runtime that gives every AI coding tool you use a persistent memory. At the end of each session, the AI saves what it learned: decisions made, what failed, your preferences, what comes next. At the start of the next session, it loads that state back automatically.&lt;/p&gt;

&lt;p&gt;One install. Every tool. Every session.&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://fmarzochi.github.io/EGCSite" rel="noopener noreferrer"&gt;https://fmarzochi.github.io/EGCSite&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What it looks like in practice
&lt;/h2&gt;

&lt;p&gt;You open Claude Code on a project you have not touched in two weeks. Without typing anything:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;State loaded from egc-memory via ~/.egc/state/Projects--MyApp.md
Context and preferences acknowledged.
Ready to pick up:
  - Test full install on a clean machine
  - Add GEMINI.md with session memory protocol
  - Publish v1.0.1 fix after clean install test passes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The AI already knows what you were building, what decisions you made, what failed, and exactly where you stopped. You did not type anything. You just started working.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;EGC ships two MCP servers that run locally during every session.&lt;/p&gt;

&lt;h3&gt;
  
  
  egc-memory: 14 tools for persistent memory
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_state&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Loads project memory at session start&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;update_state&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Saves decisions, preferences, and next steps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;store_decision&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Persists a single decision to SQLite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;query_history&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Returns past decisions by timestamp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;search_history&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full-text search with BM25 ranking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;working_memory_set&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Stores transient context with a TTL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lesson_save&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Records cross-session knowledge with confidence decay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lesson_recall&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Retrieves active lessons above a threshold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;detect_patterns&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Surfaces repeated commands and recurring errors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;compress_observations&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Compresses hook events to save token budget&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;State files live at &lt;code&gt;~/.egc/state/&amp;lt;project-slug&amp;gt;.md&lt;/code&gt;. One file per project. Plain Markdown. Human-readable.&lt;/p&gt;

&lt;h3&gt;
  
  
  egc-guardian: 5 tools for context and safety
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;validate_command&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Checks shell commands before execution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;validate_write&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Validates file paths to prevent unsafe writes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reduce_context&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Compresses file payloads to save token budget&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;orchestrate_task&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Routes prompts with agent/skill context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auto_learn&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mines session failures and writes lessons to CLAUDE.md&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Every tool. One memory.
&lt;/h2&gt;

&lt;p&gt;EGC installs into whichever tools you already use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;Gemini CLI / Antigravity&lt;/li&gt;
&lt;li&gt;Windsurf&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;Trae&lt;/li&gt;
&lt;li&gt;Zed&lt;/li&gt;
&lt;li&gt;Aider&lt;/li&gt;
&lt;li&gt;OpenCode&lt;/li&gt;
&lt;li&gt;Kiro&lt;/li&gt;
&lt;li&gt;Amp&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of them read from and write to the same &lt;code&gt;~/.egc/state/&lt;/code&gt; directory. What Claude knows, Gemini knows. No copy-paste, no re-explanation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @egchq/egc &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; egc &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or without installing globally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @egchq/egc &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;EGC detects which tools you have installed and sets them up automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prompt library included
&lt;/h2&gt;

&lt;p&gt;EGC ships 479 components as a bonus: 63 agents, 229 skills, and 76 commands written from real engineering sessions. Skip them entirely and EGC still gives you persistent memory. Or use them to extend any AI tool you already have.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add Fmarzochi/EGC
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Open source
&lt;/h2&gt;

&lt;p&gt;EGC is MIT licensed, built by one developer, maintained in the open.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://fmarzochi.github.io/EGCSite" rel="noopener noreferrer"&gt;https://fmarzochi.github.io/EGCSite&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Fmarzochi/EGC" rel="noopener noreferrer"&gt;https://github.com/Fmarzochi/EGC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;code&gt;@egchq/egc&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Discord: &lt;a href="https://discord.gg/AtazrtxJ" rel="noopener noreferrer"&gt;https://discord.gg/AtazrtxJ&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If EGC changed how you work, a star goes a long way.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>claude</category>
    </item>
    <item>
      <title>I built persistent memory for AI coding tools one install, every tool, no more re-explaining context</title>
      <dc:creator>Felipe Marzochi</dc:creator>
      <pubDate>Thu, 11 Jun 2026 20:37:13 +0000</pubDate>
      <link>https://dev.to/fmarzochi/i-built-persistent-memory-for-ai-coding-tools-one-install-every-tool-no-more-re-explaining-context-45om</link>
      <guid>https://dev.to/fmarzochi/i-built-persistent-memory-for-ai-coding-tools-one-install-every-tool-no-more-re-explaining-context-45om</guid>
      <description>&lt;p&gt;Every AI coding session starts from zero.&lt;/p&gt;

&lt;p&gt;Close Claude Code and open it tomorrow. The AI doesn't know your project. You spend the first 10 minutes re-explaining the stack, the architectural decisions from last week, the approach that failed after three attempts.&lt;/p&gt;

&lt;p&gt;It gets worse when you switch tools. Move from Cursor to Codex and you start over again.&lt;/p&gt;

&lt;p&gt;I got tired of this. So I built EGC — Extended Global Context.&lt;/p&gt;

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

&lt;p&gt;One install. Every tool. Permanent memory.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sh install.sh&lt;/code&gt; detects which AI tools you have (Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Windsurf, Kiro, Trae, CodeBuddy) and registers two local MCP servers in all of them. It also writes the memory protocol into each tool's global instruction file, so the AI calls &lt;code&gt;get_state({})&lt;/code&gt; at session start and &lt;code&gt;update_state({})&lt;/code&gt; at session end — automatically.&lt;/p&gt;

&lt;p&gt;The state file lives at &lt;code&gt;~/.egc/state/&lt;/code&gt; on your machine. It follows the project, not the IDE.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it looks in practice
&lt;/h2&gt;

&lt;p&gt;You open Claude Code on a project you haven't touched in two weeks. Without typing anything:&lt;/p&gt;

&lt;p&gt;State loaded from egc-memory&lt;/p&gt;

&lt;p&gt;Context acknowledged.&lt;/p&gt;

&lt;p&gt;Ready to pick up:&lt;br&gt;
• Fix the auth middleware regression&lt;br&gt;
• Add rate limiting before deploy&lt;br&gt;
• Decision: use Redis, not in-memory (discussed 2 sessions ago)&lt;/p&gt;

&lt;p&gt;The AI already knows. You just start working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Token savings
&lt;/h2&gt;

&lt;p&gt;Rebuilding context from scratch costs ~1,500 tokens per session. EGC delivers the same in ~200 tokens.&lt;/p&gt;

&lt;p&gt;20 sessions/month = ~$0.08 saved. The money is small. The interrupted flow is not.&lt;/p&gt;

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

&lt;p&gt;Requires Node.js 20+.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
npm install -g @egchq/egc
egc install

That's it. Run egc doctor to verify.

The two MCP servers

egc-memory — the one you use every session
- get_state — reads project memory at session start
- update_state — saves decisions, preferences, next steps
- store_decision — persists a decision to SQLite
- query_history — returns past decisions by timestamp

egc-guardian — runs in the background
- validate_command — blocks shell injection
- validate_write — blocks writes to sensitive paths
- reduce_context — deduplicates Markdown payloads

It's open source

GitHub: https://github.com/Fmarzochi/EGC

MIT license. Built by one developer. 13 supported tools. If it saves you time, a star helps other developers find it.

---
If you've been re-explaining context every session, try it and let me know what breaks.
![ ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7y8tf9v3gtaqdwln2wye.png)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I solved the problem no AI company could: persistent memory across every coding assistant</title>
      <dc:creator>Felipe Marzochi</dc:creator>
      <pubDate>Sat, 06 Jun 2026 15:13:14 +0000</pubDate>
      <link>https://dev.to/fmarzochi/i-solved-the-problem-no-ai-company-could-persistent-memory-across-every-coding-assistant-59k4</link>
      <guid>https://dev.to/fmarzochi/i-solved-the-problem-no-ai-company-could-persistent-memory-across-every-coding-assistant-59k4</guid>
      <description>&lt;h2&gt;
  
  
  The silent tax every developer pays
&lt;/h2&gt;

&lt;p&gt;Every session starts from zero. The AI does not know what you decided last week. It does not know what failed. It does not know your stack preferences or the architectural direction you chose three sessions ago.&lt;/p&gt;

&lt;p&gt;Rebuilding that context costs time and tokens -- around 1,500 tokens per session. Multiply by 20 sessions a month and you have lost over 3 hours just re-explaining yourself.&lt;/p&gt;

&lt;p&gt;No company has solved this. Not Anthropic, not OpenAI, not Google. The AI always resets.&lt;/p&gt;

&lt;p&gt;I got tired of it and built &lt;strong&gt;EGC -- Extended Global Context&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The solution: two local MCP servers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  egc-memory
&lt;/h3&gt;

&lt;p&gt;Persistent state across sessions. At the start of every session, the AI calls &lt;code&gt;get_state({})&lt;/code&gt;. It reads a plain Markdown file from &lt;code&gt;~/.egc/state/&lt;/code&gt; and knows exactly where you left off.&lt;/p&gt;

&lt;p&gt;At the end, it calls &lt;code&gt;update_state({...})&lt;/code&gt; with decisions made, what to avoid, and what to pick up next.&lt;/p&gt;

&lt;h3&gt;
  
  
  egc-guardian
&lt;/h3&gt;

&lt;p&gt;Command validation before execution. Blocks shell injection, blocks writes to sensitive paths, enforces trust levels. Runs silently in the background.&lt;/p&gt;

&lt;h2&gt;
  
  
  One install, every tool
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @fmarzochi/egc &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; egc &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Detects Claude Code, Cursor, Codex, Gemini CLI, Kiro, OpenCode, Trae, CodeBuddy and registers both MCP servers in all of them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Token savings
&lt;/h2&gt;

&lt;p&gt;~200 tokens per session vs ~1,500 rebuilding from scratch. No cloud. No subscription. Free and open-source.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Fmarzochi/EGC" rel="noopener noreferrer"&gt;https://github.com/Fmarzochi/EGC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Site: &lt;a href="https://fmarzochi.github.io/EGCSite/" rel="noopener noreferrer"&gt;https://fmarzochi.github.io/EGCSite/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;code&gt;@fmarzochi/egc&lt;/code&gt;Would love feedback from anyone using multiple AI tools.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
