Auto-detecting session management for Claude Code workflows.
- 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
# 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.shDone. Script auto-detects project name and path.
cd ~/workspace
git clone git@github.com:towelie8/claude_session_manager.gitCreates ~/workspace/claude_session_manager/ with:
show-last-session.sh- Main scriptpriorities.md- Template for Claude instructionsREADME.md- This file
cd ~/workspace/your-project
ln -s ~/workspace/claude_session_manager mbVerify symlink:
ls -la mb
# Output: mb -> /home/user/workspace/claude_session_managerecho "mb" >> .gitignoreOr manually add to .gitignore:
# Claude Session Manager (symlinked)
mb
Add to .claude/CLAUDE.md or ~/.claude/CLAUDE.md:
bash ./mb/show-last-session.shThis runs at every Claude Code session start.
Edit mb/priorities.md:
vi mb/priorities.mdAdd project-specific instructions:
- Code style preferences
- Commit message format
- Project guidelines
- Workflow instructions
bash ./mb/show-last-session.shExpected 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
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 mbEach project gets:
- Auto-detected project name (from directory)
- Separate
.claude/sessions/directory - Shared
priorities.md(or override per project)
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
Located in PROJECT_PATH/.claude/sessions/:
- Format:
DD-MM-YYYY-session.md - One per day per project
- Tracks todos and progress
mb/priorities.md - Instructions for Claude:
- Code style
- Commit message format
- Project guidelines
claude_session_manager/
├── .gitignore # Ignores .env (legacy)
├── show-last-session.sh # Main script
├── priorities.md # Claude instructions template
└── README.md # This file
Override priorities per project:
# In your project root
cp mb/priorities.md .claude/priorities.mdModify 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"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.shOld version used .env for configuration. Now auto-detects.
No action needed - .env ignored if present.