Fix Issue #8: Add bulletproof setup and prerequisites
Addresses community feedback about missing setup steps. New Documentation: + BULLETPROOF_QUICKSTART.md - Complete beginner guide - Step-by-step Python/Git installation - Every step with expected output - Troubleshooting for each step - Test example (5-page scrape) - 15-30 minute complete setup + TROUBLESHOOTING.md - Comprehensive troubleshooting - Installation issues (Python, pip, permissions) - Runtime issues (file not found, configs) - MCP setup issues (placeholder paths!) - Scraping issues (slow, empty content) - Platform-specific (macOS/Linux/Windows) - Verification commands Setup Script Improvements: ✅ Fixed setup_mcp.sh path expansion - Now shows ACTUAL paths (not $REPO_PATH placeholder) - Verifies paths exist after writing config - Shows config contents for verification - Tests MCP server path validity - Clear warning about placeholders README Updates: ✅ Added Prerequisites section - Python 3.10+ requirement clear - Git requirement clear - Links to bulletproof guide ✅ Added git clone step to Quick Start ✅ Reorganized Documentation section - Getting Started (new, beginner, troubleshooting) - Guides (advanced topics) - Technical (architecture) Fixes: - Issue #8 - Prereqs to Getting Started - Issue #114 on project board (H1.1) - Placeholder path problem in MCP setup - Missing beginner-friendly docs Impact: New users can now get started without confusion!
This commit is contained in:
478
BULLETPROOF_QUICKSTART.md
Normal file
478
BULLETPROOF_QUICKSTART.md
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
# Bulletproof Quick Start Guide
|
||||||
|
|
||||||
|
**Target Audience:** Complete beginners | Never used Python/git before? Start here!
|
||||||
|
|
||||||
|
**Time:** 15-30 minutes total (including all installations)
|
||||||
|
|
||||||
|
**Result:** Working Skill Seeker installation + your first Claude skill created
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 What You'll Need
|
||||||
|
|
||||||
|
Before starting, you need:
|
||||||
|
- A computer (macOS, Linux, or Windows with WSL)
|
||||||
|
- Internet connection
|
||||||
|
- 30 minutes of time
|
||||||
|
|
||||||
|
That's it! We'll install everything else together.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 1: Install Python (5 minutes)
|
||||||
|
|
||||||
|
### Check if You Already Have Python
|
||||||
|
|
||||||
|
Open Terminal (macOS/Linux) or Command Prompt (Windows) and type:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 --version
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ If you see:** `Python 3.10.x` or `Python 3.11.x` or higher → **Skip to Step 2!**
|
||||||
|
|
||||||
|
**❌ If you see:** `command not found` or version less than 3.10 → **Continue below**
|
||||||
|
|
||||||
|
### Install Python
|
||||||
|
|
||||||
|
#### macOS:
|
||||||
|
```bash
|
||||||
|
# Install Homebrew (if not installed)
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
|
||||||
|
# Install Python
|
||||||
|
brew install python3
|
||||||
|
```
|
||||||
|
|
||||||
|
**Verify:**
|
||||||
|
```bash
|
||||||
|
python3 --version
|
||||||
|
# Should show: Python 3.11.x or similar
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Linux (Ubuntu/Debian):
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install python3 python3-pip
|
||||||
|
```
|
||||||
|
|
||||||
|
**Verify:**
|
||||||
|
```bash
|
||||||
|
python3 --version
|
||||||
|
pip3 --version
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Windows:
|
||||||
|
1. Download Python from: https://www.python.org/downloads/
|
||||||
|
2. Run installer
|
||||||
|
3. **IMPORTANT:** Check "Add Python to PATH" during installation
|
||||||
|
4. Open Command Prompt and verify:
|
||||||
|
```bash
|
||||||
|
python --version
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
Python 3.11.5
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 2: Install Git (3 minutes)
|
||||||
|
|
||||||
|
### Check if You Have Git
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git --version
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ If you see:** `git version 2.x.x` → **Skip to Step 3!**
|
||||||
|
|
||||||
|
**❌ If not installed:**
|
||||||
|
|
||||||
|
#### macOS:
|
||||||
|
```bash
|
||||||
|
brew install git
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Linux:
|
||||||
|
```bash
|
||||||
|
sudo apt install git
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Windows:
|
||||||
|
Download from: https://git-scm.com/download/win
|
||||||
|
|
||||||
|
**Verify:**
|
||||||
|
```bash
|
||||||
|
git --version
|
||||||
|
# Should show: git version 2.x.x
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 3: Get Skill Seeker (2 minutes)
|
||||||
|
|
||||||
|
### Choose Where to Put It
|
||||||
|
|
||||||
|
Pick a location for the project. Good choices:
|
||||||
|
- macOS/Linux: `~/Projects/` or `~/Documents/`
|
||||||
|
- Windows: `C:\Users\YourName\Projects\`
|
||||||
|
|
||||||
|
### Clone the Repository
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create Projects directory (if it doesn't exist)
|
||||||
|
mkdir -p ~/Projects
|
||||||
|
cd ~/Projects
|
||||||
|
|
||||||
|
# Clone Skill Seeker
|
||||||
|
git clone https://github.com/yusufkaraaslan/Skill_Seekers.git
|
||||||
|
|
||||||
|
# Enter the directory
|
||||||
|
cd Skill_Seekers
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
Cloning into 'Skill_Seekers'...
|
||||||
|
remote: Enumerating objects: 245, done.
|
||||||
|
remote: Counting objects: 100% (245/245), done.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Verify you're in the right place:**
|
||||||
|
```bash
|
||||||
|
pwd
|
||||||
|
# Should show: /Users/yourname/Projects/Skill_Seekers (or similar)
|
||||||
|
|
||||||
|
ls
|
||||||
|
# Should show: README.md, cli/, mcp/, configs/, etc.
|
||||||
|
```
|
||||||
|
|
||||||
|
**❌ If `git clone` fails:**
|
||||||
|
```bash
|
||||||
|
# Check internet connection
|
||||||
|
ping google.com
|
||||||
|
|
||||||
|
# Or download ZIP manually:
|
||||||
|
# https://github.com/yusufkaraaslan/Skill_Seekers/archive/refs/heads/main.zip
|
||||||
|
# Then unzip and cd into it
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 4: Install Dependencies (2 minutes)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Make sure you're in the Skill_Seekers directory
|
||||||
|
cd ~/Projects/Skill_Seekers # Adjust path if you chose different location
|
||||||
|
|
||||||
|
# Install required packages
|
||||||
|
pip3 install requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
Successfully installed requests-2.31.0 beautifulsoup4-4.12.3
|
||||||
|
```
|
||||||
|
|
||||||
|
**❌ If pip3 not found:**
|
||||||
|
```bash
|
||||||
|
# Try without the 3
|
||||||
|
pip install requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
**❌ If permission denied:**
|
||||||
|
```bash
|
||||||
|
# Add --user flag
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 5: Test Your Installation (1 minute)
|
||||||
|
|
||||||
|
Let's make sure everything works:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Test the main script can run
|
||||||
|
python3 cli/doc_scraper.py --help
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
usage: doc_scraper.py [-h] [--config CONFIG] [--interactive] ...
|
||||||
|
```
|
||||||
|
|
||||||
|
**❌ If you see "No such file or directory":**
|
||||||
|
```bash
|
||||||
|
# Check you're in the right directory
|
||||||
|
pwd
|
||||||
|
# Should show path ending in /Skill_Seekers
|
||||||
|
|
||||||
|
# List files
|
||||||
|
ls cli/
|
||||||
|
# Should show: doc_scraper.py, estimate_pages.py, etc.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 6: Create Your First Skill! (5-10 minutes)
|
||||||
|
|
||||||
|
Let's create a simple skill using a preset configuration.
|
||||||
|
|
||||||
|
### Option A: Small Test (Recommended First Time)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create a config for a small site first
|
||||||
|
cat > configs/test.json << 'EOF'
|
||||||
|
{
|
||||||
|
"name": "test-skill",
|
||||||
|
"description": "Test skill creation",
|
||||||
|
"base_url": "https://tailwindcss.com/docs/installation",
|
||||||
|
"max_pages": 5,
|
||||||
|
"rate_limit": 0.5
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Run the scraper
|
||||||
|
python3 cli/doc_scraper.py --config configs/test.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**What happens:**
|
||||||
|
1. Scrapes 5 pages from Tailwind CSS docs
|
||||||
|
2. Creates `output/test-skill/` directory
|
||||||
|
3. Generates SKILL.md and reference files
|
||||||
|
|
||||||
|
**⏱️ Time:** ~30 seconds
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
Scraping: https://tailwindcss.com/docs/installation
|
||||||
|
Page 1/5: Installation
|
||||||
|
Page 2/5: Editor Setup
|
||||||
|
...
|
||||||
|
✅ Skill created at: output/test-skill/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option B: Full Example (React Docs)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Use the React preset
|
||||||
|
python3 cli/doc_scraper.py --config configs/react.json --max-pages 50
|
||||||
|
```
|
||||||
|
|
||||||
|
**⏱️ Time:** ~5 minutes
|
||||||
|
|
||||||
|
**What you get:**
|
||||||
|
- `output/react/SKILL.md` - Main skill file
|
||||||
|
- `output/react/references/` - Organized documentation
|
||||||
|
|
||||||
|
### Verify It Worked
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check the output
|
||||||
|
ls output/test-skill/
|
||||||
|
# Should show: SKILL.md, references/, scripts/, assets/
|
||||||
|
|
||||||
|
# Look at the generated skill
|
||||||
|
head output/test-skill/SKILL.md
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 7: Package for Claude (30 seconds)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Package the skill
|
||||||
|
python3 cli/package_skill.py output/test-skill/
|
||||||
|
```
|
||||||
|
|
||||||
|
**✅ Success looks like:**
|
||||||
|
```
|
||||||
|
✅ Skill packaged successfully!
|
||||||
|
📦 Created: output/test-skill.zip
|
||||||
|
📏 Size: 45.2 KB
|
||||||
|
|
||||||
|
Ready to upload to Claude AI!
|
||||||
|
```
|
||||||
|
|
||||||
|
**Now you have:** `output/test-skill.zip` ready to upload to Claude!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Step 8: Upload to Claude (2 minutes)
|
||||||
|
|
||||||
|
1. Go to https://claude.ai
|
||||||
|
2. Click your profile → Settings
|
||||||
|
3. Click "Knowledge" or "Skills"
|
||||||
|
4. Click "Upload Skill"
|
||||||
|
5. Select `output/test-skill.zip`
|
||||||
|
6. Done! Claude can now use this skill
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 Success! What's Next?
|
||||||
|
|
||||||
|
You now have a working Skill Seeker installation! Here's what you can do:
|
||||||
|
|
||||||
|
### Try Other Presets
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# See all available presets
|
||||||
|
ls configs/
|
||||||
|
|
||||||
|
# Try Vue.js
|
||||||
|
python3 cli/doc_scraper.py --config configs/vue.json --max-pages 50
|
||||||
|
|
||||||
|
# Try Django
|
||||||
|
python3 cli/doc_scraper.py --config configs/django.json --max-pages 50
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create Custom Skills
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Interactive mode - answer questions
|
||||||
|
python3 cli/doc_scraper.py --interactive
|
||||||
|
|
||||||
|
# Or create config for any website
|
||||||
|
python3 cli/doc_scraper.py \
|
||||||
|
--name myframework \
|
||||||
|
--url https://docs.myframework.com/ \
|
||||||
|
--description "My favorite framework"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Use with Claude Code (Advanced)
|
||||||
|
|
||||||
|
If you have Claude Code installed:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# One-time setup
|
||||||
|
./setup_mcp.sh
|
||||||
|
|
||||||
|
# Then use natural language in Claude Code:
|
||||||
|
# "Generate a skill for Svelte docs"
|
||||||
|
# "Package the skill at output/svelte/"
|
||||||
|
```
|
||||||
|
|
||||||
|
**See:** [docs/MCP_SETUP.md](docs/MCP_SETUP.md) for full MCP setup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Troubleshooting
|
||||||
|
|
||||||
|
### "Command not found" errors
|
||||||
|
|
||||||
|
**Problem:** `python3: command not found`
|
||||||
|
|
||||||
|
**Solution:** Python not installed or not in PATH
|
||||||
|
- macOS/Linux: Reinstall Python with brew/apt
|
||||||
|
- Windows: Reinstall Python, check "Add to PATH"
|
||||||
|
- Try `python` instead of `python3`
|
||||||
|
|
||||||
|
### "Permission denied" errors
|
||||||
|
|
||||||
|
**Problem:** Can't install packages or run scripts
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
# Use --user flag
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
|
||||||
|
# Or make script executable
|
||||||
|
chmod +x cli/doc_scraper.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### "No such file or directory"
|
||||||
|
|
||||||
|
**Problem:** Can't find cli/doc_scraper.py
|
||||||
|
|
||||||
|
**Solution:** You're not in the right directory
|
||||||
|
```bash
|
||||||
|
# Go to the Skill_Seekers directory
|
||||||
|
cd ~/Projects/Skill_Seekers # Adjust your path
|
||||||
|
|
||||||
|
# Verify
|
||||||
|
ls cli/
|
||||||
|
# Should show doc_scraper.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### "ModuleNotFoundError"
|
||||||
|
|
||||||
|
**Problem:** Missing Python packages
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
# Install dependencies again
|
||||||
|
pip3 install requests beautifulsoup4
|
||||||
|
|
||||||
|
# If that fails, try:
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
### Scraping is slow or fails
|
||||||
|
|
||||||
|
**Problem:** Takes forever or gets errors
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
# Use smaller max_pages for testing
|
||||||
|
python3 cli/doc_scraper.py --config configs/react.json --max-pages 10
|
||||||
|
|
||||||
|
# Check internet connection
|
||||||
|
ping google.com
|
||||||
|
|
||||||
|
# Check the website is accessible
|
||||||
|
curl -I https://docs.yoursite.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Still stuck?
|
||||||
|
|
||||||
|
1. **Check our detailed troubleshooting guide:** [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
||||||
|
2. **Open an issue:** https://github.com/yusufkaraaslan/Skill_Seekers/issues
|
||||||
|
3. **Include this info:**
|
||||||
|
- Operating system (macOS 13, Ubuntu 22.04, Windows 11, etc.)
|
||||||
|
- Python version (`python3 --version`)
|
||||||
|
- Full error message
|
||||||
|
- What command you ran
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Next Steps
|
||||||
|
|
||||||
|
- **Read the full README:** [README.md](README.md)
|
||||||
|
- **Learn about presets:** [configs/](configs/)
|
||||||
|
- **Try MCP integration:** [docs/MCP_SETUP.md](docs/MCP_SETUP.md)
|
||||||
|
- **Advanced usage:** [docs/](docs/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Quick Reference
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Your typical workflow:
|
||||||
|
|
||||||
|
# 1. Create/use a config
|
||||||
|
python3 cli/doc_scraper.py --config configs/react.json --max-pages 50
|
||||||
|
|
||||||
|
# 2. Package it
|
||||||
|
python3 cli/package_skill.py output/react/
|
||||||
|
|
||||||
|
# 3. Upload output/react.zip to Claude
|
||||||
|
|
||||||
|
# Done! 🎉
|
||||||
|
```
|
||||||
|
|
||||||
|
**Common locations:**
|
||||||
|
- **Configs:** `configs/*.json`
|
||||||
|
- **Output:** `output/skill-name/`
|
||||||
|
- **Packaged skills:** `output/skill-name.zip`
|
||||||
|
|
||||||
|
**Time estimates:**
|
||||||
|
- Small skill (5-10 pages): 30 seconds
|
||||||
|
- Medium skill (50-100 pages): 3-5 minutes
|
||||||
|
- Large skill (500+ pages): 15-30 minutes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Still confused?** That's okay! Open an issue and we'll help you get started: https://github.com/yusufkaraaslan/Skill_Seekers/issues/new
|
||||||
27
README.md
27
README.md
@@ -95,6 +95,20 @@ graph LR
|
|||||||
3. **Enhance**: AI analyzes docs and creates comprehensive SKILL.md with examples
|
3. **Enhance**: AI analyzes docs and creates comprehensive SKILL.md with examples
|
||||||
4. **Package**: Bundles everything into a Claude-ready `.zip` file
|
4. **Package**: Bundles everything into a Claude-ready `.zip` file
|
||||||
|
|
||||||
|
## 📋 Prerequisites
|
||||||
|
|
||||||
|
**Before you start, make sure you have:**
|
||||||
|
|
||||||
|
1. **Python 3.10 or higher** - [Download](https://www.python.org/downloads/) | Check: `python3 --version`
|
||||||
|
2. **Git** - [Download](https://git-scm.com/) | Check: `git --version`
|
||||||
|
3. **15-30 minutes** for first-time setup
|
||||||
|
|
||||||
|
**First time user?** → **[Start Here: Bulletproof Quick Start Guide](BULLETPROOF_QUICKSTART.md)** 🎯
|
||||||
|
|
||||||
|
This guide walks you through EVERYTHING step-by-step (Python install, git clone, first skill creation).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🚀 Quick Start
|
## 🚀 Quick Start
|
||||||
|
|
||||||
### Method 1: MCP Server for Claude Code (Easiest)
|
### Method 1: MCP Server for Claude Code (Easiest)
|
||||||
@@ -102,6 +116,10 @@ graph LR
|
|||||||
Use Skill Seeker directly from Claude Code with natural language!
|
Use Skill Seeker directly from Claude Code with natural language!
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Clone repository
|
||||||
|
git clone https://github.com/yusufkaraaslan/Skill_Seekers.git
|
||||||
|
cd Skill_Seekers
|
||||||
|
|
||||||
# One-time setup (5 minutes)
|
# One-time setup (5 minutes)
|
||||||
./setup_mcp.sh
|
./setup_mcp.sh
|
||||||
|
|
||||||
@@ -737,11 +755,18 @@ python3 doc_scraper.py --config configs/godot.json
|
|||||||
|
|
||||||
## 📚 Documentation
|
## 📚 Documentation
|
||||||
|
|
||||||
- **[QUICKSTART.md](QUICKSTART.md)** - Get started in 3 steps
|
### Getting Started
|
||||||
|
- **[BULLETPROOF_QUICKSTART.md](BULLETPROOF_QUICKSTART.md)** - 🎯 **START HERE** if you're new!
|
||||||
|
- **[QUICKSTART.md](QUICKSTART.md)** - Quick start for experienced users
|
||||||
|
- **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Common issues and solutions
|
||||||
|
|
||||||
|
### Guides
|
||||||
- **[docs/LARGE_DOCUMENTATION.md](docs/LARGE_DOCUMENTATION.md)** - Handle 10K-40K+ page docs
|
- **[docs/LARGE_DOCUMENTATION.md](docs/LARGE_DOCUMENTATION.md)** - Handle 10K-40K+ page docs
|
||||||
- **[docs/ENHANCEMENT.md](docs/ENHANCEMENT.md)** - AI enhancement guide
|
- **[docs/ENHANCEMENT.md](docs/ENHANCEMENT.md)** - AI enhancement guide
|
||||||
- **[docs/UPLOAD_GUIDE.md](docs/UPLOAD_GUIDE.md)** - How to upload skills to Claude
|
- **[docs/UPLOAD_GUIDE.md](docs/UPLOAD_GUIDE.md)** - How to upload skills to Claude
|
||||||
- **[docs/MCP_SETUP.md](docs/MCP_SETUP.md)** - MCP integration setup
|
- **[docs/MCP_SETUP.md](docs/MCP_SETUP.md)** - MCP integration setup
|
||||||
|
|
||||||
|
### Technical
|
||||||
- **[docs/CLAUDE.md](docs/CLAUDE.md)** - Technical architecture
|
- **[docs/CLAUDE.md](docs/CLAUDE.md)** - Technical architecture
|
||||||
- **[STRUCTURE.md](STRUCTURE.md)** - Repository structure
|
- **[STRUCTURE.md](STRUCTURE.md)** - Repository structure
|
||||||
|
|
||||||
|
|||||||
446
TROUBLESHOOTING.md
Normal file
446
TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,446 @@
|
|||||||
|
# Troubleshooting Guide
|
||||||
|
|
||||||
|
Common issues and solutions when using Skill Seeker.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation Issues
|
||||||
|
|
||||||
|
### Python Not Found
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
python3: command not found
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
1. **Check if Python is installed:**
|
||||||
|
```bash
|
||||||
|
which python3
|
||||||
|
python --version # Try without the 3
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Install Python:**
|
||||||
|
- **macOS:** `brew install python3`
|
||||||
|
- **Linux:** `sudo apt install python3 python3-pip`
|
||||||
|
- **Windows:** Download from python.org, check "Add to PATH"
|
||||||
|
|
||||||
|
3. **Use python instead of python3:**
|
||||||
|
```bash
|
||||||
|
python cli/doc_scraper.py --help
|
||||||
|
```
|
||||||
|
|
||||||
|
### Module Not Found
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
ModuleNotFoundError: No module named 'requests'
|
||||||
|
ModuleNotFoundError: No module named 'bs4'
|
||||||
|
ModuleNotFoundError: No module named 'mcp'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
1. **Install dependencies:**
|
||||||
|
```bash
|
||||||
|
pip3 install requests beautifulsoup4
|
||||||
|
pip3 install -r mcp/requirements.txt # For MCP
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Use --user flag if permission denied:**
|
||||||
|
```bash
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Check pip is working:**
|
||||||
|
```bash
|
||||||
|
pip3 --version
|
||||||
|
```
|
||||||
|
|
||||||
|
### Permission Denied
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
Permission denied: '/usr/local/lib/python3.x/...'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
1. **Use --user flag:**
|
||||||
|
```bash
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Use sudo (not recommended):**
|
||||||
|
```bash
|
||||||
|
sudo pip3 install requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Use virtual environment (best practice):**
|
||||||
|
```bash
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Runtime Issues
|
||||||
|
|
||||||
|
### File Not Found
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
FileNotFoundError: [Errno 2] No such file or directory: 'cli/doc_scraper.py'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
1. **Check you're in the Skill_Seekers directory:**
|
||||||
|
```bash
|
||||||
|
pwd
|
||||||
|
# Should show: .../Skill_Seekers
|
||||||
|
|
||||||
|
ls
|
||||||
|
# Should show: README.md, cli/, mcp/, configs/
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Change to the correct directory:**
|
||||||
|
```bash
|
||||||
|
cd ~/Projects/Skill_Seekers # Adjust path
|
||||||
|
```
|
||||||
|
|
||||||
|
### Config File Not Found
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
FileNotFoundError: configs/react.json
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
1. **Check config exists:**
|
||||||
|
```bash
|
||||||
|
ls configs/
|
||||||
|
# Should show: godot.json, react.json, vue.json, etc.
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Use full path:**
|
||||||
|
```bash
|
||||||
|
python3 cli/doc_scraper.py --config $(pwd)/configs/react.json
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Create missing config:**
|
||||||
|
```bash
|
||||||
|
python3 cli/doc_scraper.py --interactive
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## MCP Setup Issues
|
||||||
|
|
||||||
|
### MCP Server Not Loading
|
||||||
|
|
||||||
|
**Symptoms:**
|
||||||
|
- Tools don't appear in Claude Code
|
||||||
|
- "List all available configs" doesn't work
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
|
||||||
|
1. **Check configuration file:**
|
||||||
|
```bash
|
||||||
|
cat ~/.config/claude-code/mcp.json
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Verify paths are ABSOLUTE (not placeholders):**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"skill-seeker": {
|
||||||
|
"args": [
|
||||||
|
"/Users/yourname/Projects/Skill_Seekers/mcp/server.py"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
❌ **Bad:** `$REPO_PATH` or `/path/to/Skill_Seekers`
|
||||||
|
✅ **Good:** `/Users/john/Projects/Skill_Seekers`
|
||||||
|
|
||||||
|
3. **Test server manually:**
|
||||||
|
```bash
|
||||||
|
cd ~/Projects/Skill_Seekers
|
||||||
|
python3 mcp/server.py
|
||||||
|
# Should start without errors (Ctrl+C to stop)
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Re-run setup script:**
|
||||||
|
```bash
|
||||||
|
./setup_mcp.sh
|
||||||
|
# Select "y" for auto-configure
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **RESTART Claude Code completely:**
|
||||||
|
- Quit (don't just close window)
|
||||||
|
- Reopen
|
||||||
|
|
||||||
|
### Placeholder Paths in Config
|
||||||
|
|
||||||
|
**Problem:** Config has `$REPO_PATH` or `/Users/username/` instead of real paths
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
# Get your actual path
|
||||||
|
cd ~/Projects/Skill_Seekers
|
||||||
|
pwd
|
||||||
|
# Copy this path
|
||||||
|
|
||||||
|
# Edit config
|
||||||
|
nano ~/.config/claude-code/mcp.json
|
||||||
|
|
||||||
|
# Replace ALL instances of placeholders with your actual path
|
||||||
|
# Save (Ctrl+O, Enter, Ctrl+X)
|
||||||
|
|
||||||
|
# Restart Claude Code
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tools Appear But Don't Work
|
||||||
|
|
||||||
|
**Symptoms:**
|
||||||
|
- Tools listed but commands fail
|
||||||
|
- "Error executing tool" messages
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
|
||||||
|
1. **Check working directory:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"cwd": "/FULL/PATH/TO/Skill_Seekers"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Verify files exist:**
|
||||||
|
```bash
|
||||||
|
ls cli/doc_scraper.py
|
||||||
|
ls mcp/server.py
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Test CLI tools directly:**
|
||||||
|
```bash
|
||||||
|
python3 cli/doc_scraper.py --help
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Scraping Issues
|
||||||
|
|
||||||
|
### Slow or Hanging
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
|
||||||
|
1. **Check network connection:**
|
||||||
|
```bash
|
||||||
|
ping google.com
|
||||||
|
curl -I https://docs.yoursite.com
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Use smaller max_pages for testing:**
|
||||||
|
```bash
|
||||||
|
python3 cli/doc_scraper.py --config configs/test.json --max-pages 5
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Increase rate_limit in config:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"rate_limit": 1.0 // Increase from 0.5
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### No Content Extracted
|
||||||
|
|
||||||
|
**Problem:** Pages scraped but content is empty
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
|
||||||
|
1. **Check selector in config:**
|
||||||
|
```bash
|
||||||
|
# Test with browser dev tools
|
||||||
|
# Look for: article, main, div[role="main"], div.content
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Verify website is accessible:**
|
||||||
|
```bash
|
||||||
|
curl https://docs.example.com
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Try different selectors:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"selectors": {
|
||||||
|
"main_content": "article" // Try: main, div.content, etc.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Rate Limiting / 429 Errors
|
||||||
|
|
||||||
|
**Error:**
|
||||||
|
```
|
||||||
|
HTTP Error 429: Too Many Requests
|
||||||
|
```
|
||||||
|
|
||||||
|
**Solutions:**
|
||||||
|
|
||||||
|
1. **Increase rate_limit:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"rate_limit": 2.0 // Wait 2 seconds between requests
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Reduce max_pages:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"max_pages": 50 // Scrape fewer pages
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Try again later:**
|
||||||
|
```bash
|
||||||
|
# Wait an hour and retry
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Platform-Specific Issues
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
**Issue:** Can't run `./setup_mcp.sh`
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
chmod +x setup_mcp.sh
|
||||||
|
./setup_mcp.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Issue:** Homebrew not installed
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
**Issue:** pip3 not found
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install python3-pip
|
||||||
|
```
|
||||||
|
|
||||||
|
**Issue:** Permission errors
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
# Use --user flag
|
||||||
|
pip3 install --user requests beautifulsoup4
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windows (WSL)
|
||||||
|
|
||||||
|
**Issue:** Python not in PATH
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
1. Reinstall Python
|
||||||
|
2. Check "Add Python to PATH"
|
||||||
|
3. Or add manually to PATH
|
||||||
|
|
||||||
|
**Issue:** Line ending errors
|
||||||
|
|
||||||
|
**Solution:**
|
||||||
|
```bash
|
||||||
|
dos2unix setup_mcp.sh
|
||||||
|
./setup_mcp.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verification Commands
|
||||||
|
|
||||||
|
Use these to check your setup:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Check Python
|
||||||
|
python3 --version # Should be 3.10+
|
||||||
|
|
||||||
|
# 2. Check dependencies
|
||||||
|
pip3 list | grep requests
|
||||||
|
pip3 list | grep beautifulsoup4
|
||||||
|
pip3 list | grep mcp
|
||||||
|
|
||||||
|
# 3. Check files exist
|
||||||
|
ls cli/doc_scraper.py
|
||||||
|
ls mcp/server.py
|
||||||
|
ls configs/
|
||||||
|
|
||||||
|
# 4. Check MCP config
|
||||||
|
cat ~/.config/claude-code/mcp.json
|
||||||
|
|
||||||
|
# 5. Test scraper
|
||||||
|
python3 cli/doc_scraper.py --help
|
||||||
|
|
||||||
|
# 6. Test MCP server
|
||||||
|
timeout 3 python3 mcp/server.py || echo "Server OK"
|
||||||
|
|
||||||
|
# 7. Check git repo
|
||||||
|
git status
|
||||||
|
git log --oneline -5
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Getting Help
|
||||||
|
|
||||||
|
If none of these solutions work:
|
||||||
|
|
||||||
|
1. **Check existing issues:**
|
||||||
|
https://github.com/yusufkaraaslan/Skill_Seekers/issues
|
||||||
|
|
||||||
|
2. **Open a new issue with:**
|
||||||
|
- Your OS (macOS 13, Ubuntu 22.04, etc.)
|
||||||
|
- Python version (`python3 --version`)
|
||||||
|
- Full error message
|
||||||
|
- What command you ran
|
||||||
|
- Output of verification commands above
|
||||||
|
|
||||||
|
3. **Include this debug info:**
|
||||||
|
```bash
|
||||||
|
# System info
|
||||||
|
uname -a
|
||||||
|
python3 --version
|
||||||
|
pip3 --version
|
||||||
|
|
||||||
|
# Skill Seeker info
|
||||||
|
cd ~/Projects/Skill_Seekers # Your path
|
||||||
|
pwd
|
||||||
|
git log --oneline -1
|
||||||
|
ls -la cli/ mcp/ configs/
|
||||||
|
|
||||||
|
# MCP config (if using MCP)
|
||||||
|
cat ~/.config/claude-code/mcp.json
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Fixes Checklist
|
||||||
|
|
||||||
|
- [ ] In the Skill_Seekers directory? (`pwd`)
|
||||||
|
- [ ] Python 3.10+ installed? (`python3 --version`)
|
||||||
|
- [ ] Dependencies installed? (`pip3 list | grep requests`)
|
||||||
|
- [ ] Config file exists? (`ls configs/yourconfig.json`)
|
||||||
|
- [ ] Internet connection working? (`ping google.com`)
|
||||||
|
- [ ] For MCP: Config uses absolute paths? (not `$REPO_PATH`)
|
||||||
|
- [ ] For MCP: Claude Code restarted? (quit and reopen)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Still stuck?** Open an issue: https://github.com/yusufkaraaslan/Skill_Seekers/issues/new
|
||||||
63
setup_mcp.sh
63
setup_mcp.sh
@@ -103,7 +103,7 @@ echo "You need to add this configuration to Claude Code:"
|
|||||||
echo ""
|
echo ""
|
||||||
echo -e "${YELLOW}Configuration file:${NC} ~/.config/claude-code/mcp.json"
|
echo -e "${YELLOW}Configuration file:${NC} ~/.config/claude-code/mcp.json"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Add this JSON configuration:"
|
echo "Add this JSON configuration (paths are auto-detected for YOUR system):"
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${GREEN}{"
|
echo -e "${GREEN}{"
|
||||||
echo " \"mcpServers\": {"
|
echo " \"mcpServers\": {"
|
||||||
@@ -117,27 +117,7 @@ echo " }"
|
|||||||
echo " }"
|
echo " }"
|
||||||
echo -e "}${NC}"
|
echo -e "}${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
echo "To configure automatically, run:"
|
echo -e "${YELLOW}Note:${NC} The paths above are YOUR actual paths (not placeholders!)"
|
||||||
echo ""
|
|
||||||
echo -e "${YELLOW} mkdir -p ~/.config/claude-code${NC}"
|
|
||||||
echo ""
|
|
||||||
echo "Then edit ~/.config/claude-code/mcp.json and add the configuration above"
|
|
||||||
echo ""
|
|
||||||
echo "Or use this one-liner (BE CAREFUL - this may overwrite existing config):"
|
|
||||||
echo ""
|
|
||||||
echo -e "${RED}cat > ~/.config/claude-code/mcp.json << 'EOF'
|
|
||||||
{
|
|
||||||
\"mcpServers\": {
|
|
||||||
\"skill-seeker\": {
|
|
||||||
\"command\": \"python3\",
|
|
||||||
\"args\": [
|
|
||||||
\"$REPO_PATH/mcp/server.py\"
|
|
||||||
],
|
|
||||||
\"cwd\": \"$REPO_PATH\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF${NC}"
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Ask if user wants auto-configure
|
# Ask if user wants auto-configure
|
||||||
@@ -164,7 +144,7 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|||||||
# Create config directory
|
# Create config directory
|
||||||
mkdir -p ~/.config/claude-code
|
mkdir -p ~/.config/claude-code
|
||||||
|
|
||||||
# Write configuration
|
# Write configuration with actual expanded path
|
||||||
cat > ~/.config/claude-code/mcp.json << EOF
|
cat > ~/.config/claude-code/mcp.json << EOF
|
||||||
{
|
{
|
||||||
"mcpServers": {
|
"mcpServers": {
|
||||||
@@ -180,13 +160,46 @@ if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo -e "${GREEN}✓${NC} Configuration written to ~/.config/claude-code/mcp.json"
|
echo -e "${GREEN}✓${NC} Configuration written to ~/.config/claude-code/mcp.json"
|
||||||
|
echo ""
|
||||||
|
echo "Configuration contents:"
|
||||||
|
cat ~/.config/claude-code/mcp.json
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Verify the path exists
|
||||||
|
if [ -f "$REPO_PATH/mcp/server.py" ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} Verified: MCP server file exists at $REPO_PATH/mcp/server.py"
|
||||||
|
else
|
||||||
|
echo -e "${RED}❌ Warning: MCP server not found at $REPO_PATH/mcp/server.py${NC}"
|
||||||
|
echo "Please check the path!"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "Skipping auto-configuration"
|
echo "Skipping auto-configuration"
|
||||||
echo "Please manually configure Claude Code using the JSON above"
|
echo "Please manually configure Claude Code using the JSON above"
|
||||||
|
echo ""
|
||||||
|
echo "IMPORTANT: Replace \$REPO_PATH with the actual path: $REPO_PATH"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Step 7: Final instructions
|
# Step 7: Test the configuration
|
||||||
|
if [ -f ~/.config/claude-code/mcp.json ]; then
|
||||||
|
echo "Step 7: Testing MCP configuration..."
|
||||||
|
echo "Checking if paths are correct..."
|
||||||
|
|
||||||
|
# Extract the configured path
|
||||||
|
if command -v jq &> /dev/null; then
|
||||||
|
CONFIGURED_PATH=$(jq -r '.mcpServers["skill-seeker"].args[0]' ~/.config/claude-code/mcp.json 2>/dev/null || echo "")
|
||||||
|
if [ -n "$CONFIGURED_PATH" ] && [ -f "$CONFIGURED_PATH" ]; then
|
||||||
|
echo -e "${GREEN}✓${NC} MCP server path is valid: $CONFIGURED_PATH"
|
||||||
|
elif [ -n "$CONFIGURED_PATH" ]; then
|
||||||
|
echo -e "${YELLOW}⚠${NC} Warning: Configured path doesn't exist: $CONFIGURED_PATH"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Install 'jq' for config validation: brew install jq (macOS) or apt install jq (Linux)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Step 8: Final instructions
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
echo "Setup Complete!"
|
echo "Setup Complete!"
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
@@ -195,7 +208,7 @@ echo "Next steps:"
|
|||||||
echo ""
|
echo ""
|
||||||
echo " 1. ${YELLOW}Restart Claude Code${NC} (quit and reopen, don't just close window)"
|
echo " 1. ${YELLOW}Restart Claude Code${NC} (quit and reopen, don't just close window)"
|
||||||
echo " 2. In Claude Code, test with: ${GREEN}\"List all available configs\"${NC}"
|
echo " 2. In Claude Code, test with: ${GREEN}\"List all available configs\"${NC}"
|
||||||
echo " 3. You should see 6 Skill Seeker tools available"
|
echo " 3. You should see 9 Skill Seeker tools available"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Available MCP Tools:"
|
echo "Available MCP Tools:"
|
||||||
echo " • generate_config - Create new config files"
|
echo " • generate_config - Create new config files"
|
||||||
|
|||||||
Reference in New Issue
Block a user