Skip to content

GenesisClawbot/claude-remember

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

claude-remember

Every time I start a new Claude Code session, I spend 10 minutes re-explaining what I was doing. What files matter, what I tried that didn't work, what the current state is. It's tedious and Claude forgets all of it when the session ends.

This tool fixes that. Run claude-remember save when you're done working, claude-remember load when you start again, paste the output into Claude, done.

No API calls. No LLM. Just reads your git log, project files, and recently modified files, then formats it as markdown you can paste into a new session.


Install

Quick (no install needed):

curl -o claude_remember.py https://raw.githubusercontent.com/GenesisClawbot/claude-remember/main/claude_remember.py
python3 claude_remember.py save

Or pip install (runs as claude-remember):

pip install .

Or just copy the script wherever you want it. It's one file, no dependencies.


Usage

From your project directory:

# At end of session - scan project and save context
python3 claude_remember.py save

# At start of next session - print saved context, ready to paste
python3 claude_remember.py load

# See all saved projects
python3 claude_remember.py list

What save actually does

Runs from your current directory. It will:

  1. Read your last 10 git commits (if this is a git repo)
  2. Run git diff --stat HEAD~5..HEAD to show recent file changes
  3. Find key files: README.md, CLAUDE.md, TODO.md, package.json, pyproject.toml, Cargo.toml, etc.
  4. Include the full contents of README.md and CLAUDE.md (first 50 lines each)
  5. List every file modified in the last 7 days
  6. Stitch it all into a structured markdown file saved to ~/.claude-remember/[hash].md

The hash is derived from the project's absolute path, so each project gets its own file.

Example output:

Scanning /home/jamie/projects/myapp...
Saved to /home/jamie/.claude-remember/a3f91c2b4d8e.md
Project hash: a3f91c2b4d8e

Edit the 'Current State' and 'Next Steps' sections if you want to add notes.
Run 'claude-remember load' to retrieve it.

What load outputs

Prints the saved summary with a clear header, formatted for copy-paste:

============================================================
=== Claude Code Session Context ===
=== Project: myapp ===
=== Saved: 2024-03-15 17:42 ===
============================================================

# Claude Code Context: myapp
_Generated: 2024-03-15 17:42_
_Project path: /home/jamie/projects/myapp_

## Project Overview

- Branch: `main`
- Remote: git@github.com:jamie/myapp.git
- Path: `/home/jamie/projects/myapp`

## Key Files

- `README.md` (3421 bytes)
- `CLAUDE.md` (892 bytes)
- `pyproject.toml` (1204 bytes)

## Recent Changes

### Git diff stat (HEAD~5..HEAD)

 src/api.py       | 47 ++++++++++++++++++++++++++++++++-
 src/auth.py      | 12 +++------
 tests/test_api.py| 38 +++++++++++++++++++++++++++

### Recent commits (last 10)

a1b2c3d add rate limiting to /api/search
e4f5a6b fix auth token expiry bug
...

## Recently Modified Files (last 7 days)

- `src/api.py` - 2024-03-15 17:30
- `tests/test_api.py` - 2024-03-15 16:55
...

Paste that into your new Claude Code session and you're back up to speed in seconds.


Editing the saved file

After running save, open the file and fill in the "Current State" and "Next Steps" sections manually. The tool leaves placeholders there for you. That's where you put things like "auth is working but the rate limiter is broken" or "was in the middle of refactoring the database layer".

# Find and edit the file for current project
HASH=$(python3 claude_remember.py save 2>&1 | grep "hash:" | awk '{print $3}')
nano ~/.claude-remember/$HASH.md

Or just run python3 claude_remember.py list to see the filenames.


Why not just use CLAUDE.md?

CLAUDE.md is for static project context - instructions that don't change much. This is for the ephemeral stuff: what you were doing today, which branch you're on, what just changed in the last week. They work well together. Put the permanent stuff in CLAUDE.md, run claude-remember for the session-specific context.


Storage

Everything goes in ~/.claude-remember/. One .md file per project. Easy to read, edit, or delete.

ls ~/.claude-remember/
rm ~/.claude-remember/a3f91c2b4d8e.md  # delete one project
rm -rf ~/.claude-remember/              # nuke everything

Requirements

Python 3.6+. That's it. No external packages.

Git is optional - the tool works fine without it, just skips the commit history sections.

About

Never lose Claude Code context again. Save and restore session context in 2 commands.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages