Files
leo-claude-mktplace/.gitignore
lmiranda 1abda1ca0f fix(mcp): persistent venv cache survives marketplace updates
Problem:
- Venvs in marketplace directory got deleted on every update
- Users had to manually run setup.sh and wait for full pip install
- This caused MCP servers to fail until manually fixed

Solution:
- Store venvs in external cache (~/.cache/claude-mcp-venvs/)
- Auto-repair symlinks via SessionStart hook (instant operation)
- Only run pip install on first use or when requirements change

Architecture:
  Cache (runtime) → Marketplaces → External venv cache

  The chain of symlinks ensures all three locations work:
  1. ~/.claude/plugins/cache/.../mcp-servers/* (runtime)
  2. ~/.claude/plugins/marketplaces/.../mcp-servers/* (install)
  3. ~/.cache/claude-mcp-venvs/* (persistent venvs)

Performance:
- First install: ~2-3 min (unchanged)
- After marketplace update: 0.03 sec (was 2-3 min)

Files:
- scripts/venv-repair.sh: Fast symlink restoration for hooks
- scripts/setup-venvs.sh: Full setup with external cache
- plugins/projman/hooks/startup-check.sh: Auto-repair on session start
- .gitignore: Ignore .venv symlinks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 11:48:13 -05:00

129 lines
1.2 KiB
Plaintext

# Scratch directory contents (keep .gitkeep)
.scratch/*
!.scratch/.gitkeep
# Python
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# Virtual Environments
venv/
ENV/
env/
.venv/
.venv
**/.venv
# PyCharm
.idea/
# VS Code
.vscode/
# *.code-workspace
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# Pytest
.pytest_cache/
.coverage
htmlcov/
# Node.js (for MCP servers)
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
.npm
.yarn/
# TypeScript
*.tsbuildinfo
dist/
build/
# Environment variables - NOT ignored (private repo)
# .env
# .env.local
# .env.*.local
# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
*~
# Claude Code
.claude/settings.local.json
.claude/history/
# Logs
logs/
*.log
# Temporary files
tmp/
temp/
*.tmp
*.bak
*.swp
*.swo
# Build artifacts
*.wasm
*.exe
*.dll
*.so
*.dylib
# Testing
.tox/
.coverage
.coverage.*
coverage.xml
*.cover
.hypothesis/
# Documentation builds
docs/_build/
site/
# Database
*.db
*.sqlite
*.sqlite3
# Secrets and credentials
*credentials*
*secret*
*token*
!.gitkeep