Context
User reported projman and contract-validator plugins not working with no error messages. Multiple debugging sessions required to identify root cause.
Problem
-
Venvs existed but packages weren't installed - The
.venvdirectories existed inmcp-servers/*/but the actual Python packages weren't installed in editable mode (pip install -e .) -
setup.sh created venvs but didn't always install packages - Race conditions or incomplete runs left venvs without the required packages
-
No clear error messages - Plugins just showed "failed to load · 1 error" without details
-
Gitignored venvs disappear on updates -
.venvis in.gitignore, so marketplace updates wipe the venvs since they're never committed
Solution Applied
- Manually ran
pip install -e .in each affected MCP server directory - Removed
rm -rf .venvfromsetup-venvs.sh- now skips existing venv directories instead of deleting them - Added SACRED RULE to both CLAUDE.md files: NEVER DELETE .venv without explicit user approval
Prevention
- NEVER delete .venv directories automatically - This rule is now in CLAUDE.md
- After marketplace updates: Always run
./scripts/setup.shfrom installed marketplace - Verify packages installed: Check with
python -c "from mcp_server import server"in each MCP server dir - setup.sh must be idempotent: Should safely re-run without destroying existing work
Times User Was Made to Debug This: Multiple times in one session
Tags
venv, mcp-servers, setup, installation, gitignore, packages
Tags: venv, mcp-servers, setup, installation, debugging, painful-lesson