<?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: igal</title>
    <description>The latest articles on DEV Community by igal (@igal).</description>
    <link>https://dev.to/igal</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%2F3971265%2Fe92c5344-c4db-413b-a3bc-51bc06478d69.png</url>
      <title>DEV Community: igal</title>
      <link>https://dev.to/igal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/igal"/>
    <language>en</language>
    <item>
      <title>Give Claude Code memory between sessions with three Markdown files</title>
      <dc:creator>igal</dc:creator>
      <pubDate>Sat, 06 Jun 2026 12:49:37 +0000</pubDate>
      <link>https://dev.to/igal/give-claude-code-memory-between-sessions-with-three-markdown-files-2bh3</link>
      <guid>https://dev.to/igal/give-claude-code-memory-between-sessions-with-three-markdown-files-2bh3</guid>
      <description>&lt;p&gt;Claude Code is brilliant &lt;em&gt;inside&lt;/em&gt; a session and completely amnesiac &lt;em&gt;between&lt;/em&gt; them. Close the terminal, come back tomorrow, and it has forgotten your architecture, your preferences, the bug you already solved, and the decision you made last week. So you spend the first ten minutes of every session re-explaining your project — and it still cheerfully suggests something you ruled out yesterday.&lt;/p&gt;

&lt;p&gt;That cold-start tax adds up. Here's the small system I use to kill it. No plugin, no extension, no subscription — just three plain Markdown files and two habits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The key insight
&lt;/h2&gt;

&lt;p&gt;Claude Code automatically reads a file called &lt;code&gt;CLAUDE.md&lt;/code&gt; at the start of every session. That's the whole hook. Instead of treating it as a static config file, treat it as a &lt;strong&gt;doorway&lt;/strong&gt;: have it carry a short protocol that tells Claude to rebuild its own context before doing anything.&lt;/p&gt;

&lt;p&gt;Split the context across three files by how often each changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/strong&gt; — your standing rules + the session protocol. Read every session, so keep it short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;docs/JOURNAL.md&lt;/code&gt;&lt;/strong&gt; — a chronological log of what's happened. Changes every session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;docs/KNOWLEDGE.md&lt;/code&gt;&lt;/strong&gt; — durable facts, decisions, and gotchas. Rarely changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The protocol
&lt;/h2&gt;

&lt;p&gt;The heart of it lives in &lt;code&gt;CLAUDE.md&lt;/code&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;## Session-start protocol (REQUIRED — do this before anything else)&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Read docs/JOURNAL.md — the most recent entry is where we are.
&lt;span class="p"&gt;2.&lt;/span&gt; Read docs/KNOWLEDGE.md — fundamentals, decisions, gotchas.
&lt;span class="p"&gt;3.&lt;/span&gt; Greet me with current phase, last action, and the exact next step. Then wait.

&lt;span class="gu"&gt;## Session-end protocol (REQUIRED before we stop)&lt;/span&gt;
Append a journal entry: what we did / pitfalls hit / phase status / next steps.
Then commit.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With that in place, a session looks like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You open Claude Code.&lt;/strong&gt; It reads the protocol, then the journal and knowledge base, and greets you with &lt;em&gt;"current phase is X, last action was Y, next step is Z."&lt;/em&gt; No re-explaining.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You work.&lt;/strong&gt; It already knows your stack, your style, and the decisions you've locked in — so it doesn't re-pitch the database you rejected last week.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You wrap up.&lt;/strong&gt; It appends a journal entry — what you did, what tripped you up, and the exact next action — then commits. Tomorrow's session starts cold and is productive in under a minute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a journal &lt;em&gt;and&lt;/em&gt; a knowledge base?
&lt;/h2&gt;

&lt;p&gt;Because they answer different questions. The journal is "what happened" (chronological, append-only). The knowledge base is "what's true" (reference, edited in place). The most valuable line in the journal is the &lt;strong&gt;next-steps block&lt;/strong&gt; at the bottom of the latest entry — it's the handoff note to your future self, and it's what makes cold starts instant. The most valuable section in the knowledge base is the &lt;strong&gt;decision log&lt;/strong&gt;, which stops settled questions from being re-litigated three weeks later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup (about five minutes)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Drop &lt;code&gt;CLAUDE.md&lt;/code&gt; into your project root, next to where you run &lt;code&gt;claude&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create &lt;code&gt;docs/JOURNAL.md&lt;/code&gt; and &lt;code&gt;docs/KNOWLEDGE.md&lt;/code&gt; (empty is fine to start).&lt;/li&gt;
&lt;li&gt;Fill in the project-specific blanks in &lt;code&gt;CLAUDE.md&lt;/code&gt;: owner, goal, stack, repo map.&lt;/li&gt;
&lt;li&gt;Start your next session. It reads the protocol and asks what to work on.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The only habit you need is at the end of each session: &lt;em&gt;"wrap up — append the journal entry and commit."&lt;/em&gt; That single habit is what makes every future session start fast.&lt;/p&gt;

&lt;p&gt;It only gets more valuable the longer you run it: the journal deepens, your hard-won pitfalls stop repeating, and the knowledge base becomes the institutional memory of the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Grab the files
&lt;/h2&gt;

&lt;p&gt;I put the core protocol and a ready-to-use &lt;code&gt;CLAUDE.md&lt;/code&gt; up as a free, MIT-licensed repo:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/igal-in/claude-code-memory" rel="noopener noreferrer"&gt;github.com/igal-in/claude-code-memory&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That free file is the engine and works on its own. If you'd rather not build the journal and knowledge-base templates from scratch, I also packaged the complete system — both templates with the proven formats, a fully filled-in example project, and a short guide on adapting it — as the &lt;strong&gt;Claude Code Memory Kit&lt;/strong&gt; (&lt;a href="https://gosdrop.gumroad.com/l/claude-code-memory-kit" rel="noopener noreferrer"&gt;$12 on Gumroad&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;How have you handled the cold-start problem with AI coding tools? Curious what's working for other people.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>productivity</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
