Skip to content

towelie8/claude_session_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Claude Session Manager

Auto-detecting session management for Claude Code workflows.

Features

  • Zero Configuration: Auto-detects project path and name
  • Multi-Project: One clone, symlink in multiple projects
  • Session Tracking: Maintains todo lists and progress per project
  • Priorities: Project-specific instructions for Claude

Quick Start

# 1. Clone repository
cd ~/workspace
git clone git@github.com:towelie8/claude_session_manager.git

# 2. Add symlink to your project
cd ~/workspace/your-project
ln -s ~/workspace/claude_session_manager mb
echo "mb" >> .gitignore

# 3. Run script in Claude Code
bash ./mb/show-last-session.sh

Done. Script auto-detects project name and path.

Installation Guide

Step 1: Clone Repository

cd ~/workspace
git clone git@github.com:towelie8/claude_session_manager.git

Creates ~/workspace/claude_session_manager/ with:

  • show-last-session.sh - Main script
  • priorities.md - Template for Claude instructions
  • README.md - This file

Step 2: Integrate into Project

cd ~/workspace/your-project
ln -s ~/workspace/claude_session_manager mb

Verify symlink:

ls -la mb
# Output: mb -> /home/user/workspace/claude_session_manager

Step 3: Add to .gitignore

echo "mb" >> .gitignore

Or manually add to .gitignore:

# Claude Session Manager (symlinked)
mb

Step 4: Configure Claude Code

Add to .claude/CLAUDE.md or ~/.claude/CLAUDE.md:

bash ./mb/show-last-session.sh

This runs at every Claude Code session start.

Step 5: Customize Priorities (Optional)

Edit mb/priorities.md:

vi mb/priorities.md

Add project-specific instructions:

  • Code style preferences
  • Commit message format
  • Project guidelines
  • Workflow instructions

Step 6: Test

bash ./mb/show-last-session.sh

Expected output:

=== YOURPROJECT SESSION START ===

📋 PRIORITIES GELADEN:
─────────────────────────────────────────
[Contents of priorities.md]
─────────────────────────────────────────

KEINE VORHERIGE SESSION GEFUNDEN

ANWEISUNG AN CLAUDE:
Erstelle neue Session-Datei und frage User nach Aufgaben.

Session file created at: .claude/sessions/14-10-2025-session.md


Multi-Project Usage

Same repository for all projects:

# One clone
cd ~/workspace
git clone git@github.com:towelie8/claude_session_manager.git

# Symlink in each project
cd ~/workspace/project1
ln -s ~/workspace/claude_session_manager mb

cd ~/workspace/project2
ln -s ~/workspace/claude_session_manager mb

Each project gets:

  • Auto-detected project name (from directory)
  • Separate .claude/sessions/ directory
  • Shared priorities.md (or override per project)

How It Works

Auto-Detection

Script detects:

  • PROJECT_PATH: Resolves symlink, goes up one directory
  • PROJECT_NAME: Uppercase directory name

Example:

/home/user/workspace/projekt1/mb -> SESSION: PROJEKT1
/home/user/workspace/other/app/mb       -> SESSION: APP

Session Files

Located in PROJECT_PATH/.claude/sessions/:

  • Format: DD-MM-YYYY-session.md
  • One per day per project
  • Tracks todos and progress

Priorities File

mb/priorities.md - Instructions for Claude:

  • Code style
  • Commit message format
  • Project guidelines

Files

claude_session_manager/
├── .gitignore              # Ignores .env (legacy)
├── show-last-session.sh    # Main script
├── priorities.md           # Claude instructions template
└── README.md               # This file

Advanced: Per-Project Priorities

Override priorities per project:

# In your project root
cp mb/priorities.md .claude/priorities.md

Modify script to check .claude/priorities.md first:

if [ -f "$CLAUDE_DIR/priorities.md" ]; then
    PRIORITIES_FILE="$CLAUDE_DIR/priorities.md"
else
    PRIORITIES_FILE="$PROJECT_PATH/$MB_DIR_NAME/priorities.md"
fi

Troubleshooting

"No session found": Normal for first run. Script creates session file.

Wrong project name: Script uses directory name. Rename directory or modify PROJECT_NAME logic.

Symlink broken: Check symlink target:

ls -la mb
readlink -f mb/show-last-session.sh

Migration from .env

Old version used .env for configuration. Now auto-detects.

No action needed - .env ignored if present.

About

Manages sessions of Claude LLM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages