Auto-sync from website-creator
This commit is contained in:
461
INSTALLATION_REQUIREMENTS.md
Normal file
461
INSTALLATION_REQUIREMENTS.md
Normal file
@@ -0,0 +1,461 @@
|
||||
# 🚀 SEO Skills - Installation & Requirements Guide
|
||||
|
||||
**Last Updated:** 2026-03-08
|
||||
**Status:** ✅ All requirements documented
|
||||
|
||||
---
|
||||
|
||||
## 📦 QUICK START
|
||||
|
||||
### **One Command Install:**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill
|
||||
./scripts/install-skills.sh
|
||||
```
|
||||
|
||||
This will:
|
||||
1. Install all skills to `~/.config/opencode/skills/`
|
||||
2. Copy unified `.env` with your credentials
|
||||
3. Install all Python dependencies
|
||||
4. Configure all skills
|
||||
|
||||
---
|
||||
|
||||
## 🔧 MANUAL INSTALLATION (If Needed)
|
||||
|
||||
### **Step 1: Install Python Dependencies**
|
||||
|
||||
#### **Core Dependencies (All Skills):**
|
||||
|
||||
```bash
|
||||
# Navigate to skills directory
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills
|
||||
|
||||
# Install all requirements at once
|
||||
pip3 install -r seo-multi-channel/scripts/requirements.txt
|
||||
pip3 install -r seo-analyzers/scripts/requirements.txt
|
||||
pip3 install -r seo-data/scripts/requirements.txt
|
||||
pip3 install -r umami/scripts/requirements.txt
|
||||
pip3 install -r website-creator/scripts/requirements.txt
|
||||
pip3 install -r image-generation/scripts/requirements.txt
|
||||
pip3 install -r image-edit/scripts/requirements.txt
|
||||
pip3 install -r image-analyze/scripts/requirements.txt
|
||||
```
|
||||
|
||||
#### **All Dependencies in One Command:**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills
|
||||
|
||||
pip3 install \
|
||||
pythainlp \
|
||||
pyyaml \
|
||||
python-dotenv \
|
||||
pandas \
|
||||
aiohttp \
|
||||
tqdm \
|
||||
rich \
|
||||
markdown \
|
||||
python-frontmatter \
|
||||
GitPython \
|
||||
Pillow \
|
||||
requests \
|
||||
google-analytics-data \
|
||||
google-auth \
|
||||
google-auth-oauthlib \
|
||||
google-api-python-client
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Step 2: Install Thai Language Data**
|
||||
|
||||
```bash
|
||||
# PyThaiNLP data (required for Thai language support)
|
||||
python3 -c "from pythainlp.corpus import download; download('default')"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Step 3: Verify Installation**
|
||||
|
||||
```bash
|
||||
# Test PyThaiNLP
|
||||
python3 -c "from pythainlp import word_tokenize; print(word_tokenize('ทดสอบภาษาไทย'))"
|
||||
# Expected: ['ทดสอบ', 'ภาษาไทย']
|
||||
|
||||
# Test Google packages
|
||||
python3 -c "from google.analytics.data_v1beta import BetaAnalyticsDataClient; print('GA4 OK')"
|
||||
python3 -c "from googleapiclient.discovery import build; print('GSC OK')"
|
||||
|
||||
# Test YAML
|
||||
python3 -c "import yaml; print('YAML OK')"
|
||||
|
||||
# Test requests
|
||||
python3 -c "import requests; print('Requests OK')"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 REQUIREMENTS BY SKILL
|
||||
|
||||
### **seo-multi-channel**
|
||||
|
||||
**File:** `skills/seo-multi-channel/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Thai language processing
|
||||
pythainlp>=3.2.0
|
||||
|
||||
# HTTP and API requests
|
||||
requests>=2.31.0
|
||||
aiohttp>=3.9.0
|
||||
|
||||
# Configuration and environment
|
||||
python-dotenv>=1.0.0
|
||||
|
||||
# YAML parsing for templates
|
||||
pyyaml>=6.0.1
|
||||
|
||||
# Data handling
|
||||
pandas>=2.1.0
|
||||
|
||||
# Date/time handling
|
||||
python-dateutil>=2.8.2
|
||||
|
||||
# Image processing (for image generation/edit integration)
|
||||
Pillow>=10.0.0
|
||||
|
||||
# Markdown processing (for blog posts)
|
||||
markdown>=3.5.0
|
||||
python-frontmatter>=1.0.0
|
||||
|
||||
# Git operations (for auto-publish)
|
||||
GitPython>=3.1.40
|
||||
|
||||
# Utilities
|
||||
tqdm>=4.66.0 # Progress bars
|
||||
rich>=13.7.0 # Beautiful console output
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **seo-analyzers**
|
||||
|
||||
**File:** `skills/seo-analyzers/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Thai language processing (REQUIRED)
|
||||
pythainlp>=3.2.0
|
||||
|
||||
# Data handling
|
||||
pandas>=2.1.0
|
||||
|
||||
# Utilities
|
||||
tqdm>=4.66.0
|
||||
rich>=13.7.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **seo-data**
|
||||
|
||||
**File:** `skills/seo-data/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Google APIs
|
||||
google-analytics-data>=0.18.0
|
||||
google-auth>=2.23.0
|
||||
google-auth-oauthlib>=1.1.0
|
||||
google-auth-httplib2>=0.1.1
|
||||
google-api-python-client>=2.100.0
|
||||
|
||||
# HTTP and API requests
|
||||
requests>=2.31.0
|
||||
aiohttp>=3.9.0
|
||||
|
||||
# Data handling
|
||||
pandas>=2.1.0
|
||||
|
||||
# Configuration and environment
|
||||
python-dotenv>=1.0.0
|
||||
|
||||
# Caching
|
||||
diskcache>=5.6.0
|
||||
|
||||
# Date/time handling
|
||||
python-dateutil>=2.8.2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **seo-context**
|
||||
|
||||
**File:** `skills/seo-context/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# No external dependencies required
|
||||
# Pure Python with standard library only
|
||||
|
||||
# Optional: For advanced content analysis
|
||||
# pythainlp>=3.2.0
|
||||
# pandas>=2.1.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **umami**
|
||||
|
||||
**File:** `skills/umami/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Umami Analytics Client
|
||||
|
||||
requests>=2.31.0
|
||||
python-dotenv>=1.0.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **website-creator**
|
||||
|
||||
**File:** `skills/website-creator/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Website Creator & Auto-Deploy
|
||||
|
||||
requests>=2.31.0
|
||||
python-dotenv>=1.0.0
|
||||
GitPython>=3.1.40
|
||||
pyyaml>=6.0.1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **image-generation / image-edit / image-analyze**
|
||||
|
||||
**File:** `skills/image-*/scripts/requirements.txt`
|
||||
|
||||
```txt
|
||||
# Image Skills
|
||||
|
||||
requests>=2.31.0
|
||||
python-dotenv>=1.0.0
|
||||
Pillow>=10.0.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔑 CREDENTIALS SETUP
|
||||
|
||||
### **Unified .env File:**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill
|
||||
cp .env.example .env
|
||||
nano .env # Edit with your credentials
|
||||
```
|
||||
|
||||
### **Required Credentials:**
|
||||
|
||||
```bash
|
||||
# Image Generation (Chutes AI)
|
||||
CHUTES_API_TOKEN=your_token_here
|
||||
|
||||
# Umami Analytics (Self-Hosted)
|
||||
UMAMI_URL=https://analytics.yoursite.com
|
||||
UMAMI_USERNAME=your_username
|
||||
UMAMI_PASSWORD=your_password
|
||||
|
||||
# Google Analytics 4 (Optional)
|
||||
GA4_PROPERTY_ID=G-XXXXXXXXXX
|
||||
GA4_CREDENTIALS_PATH=/path/to/ga4-credentials.json
|
||||
|
||||
# Google Search Console (Optional)
|
||||
GSC_SITE_URL=https://yoursite.com
|
||||
GSC_CREDENTIALS_PATH=/path/to/gsc-credentials.json
|
||||
|
||||
# DataForSEO (Optional)
|
||||
DATAFORSEO_LOGIN=your_login
|
||||
DATAFORSEO_PASSWORD=your_password
|
||||
|
||||
# Git/Gitea (Optional, for auto-publish)
|
||||
GIT_USERNAME=your_username
|
||||
GIT_TOKEN=your_token
|
||||
GIT_URL=https://git.moreminimore.com
|
||||
|
||||
# Gitea (Optional, for repo sync)
|
||||
GITEA_API_TOKEN=your_token
|
||||
GITEA_USERNAME=your_username
|
||||
GITEA_URL=https://git.moreminimore.com
|
||||
|
||||
# Easypanel (Optional, for deployment)
|
||||
EASYPANEL_USERNAME=your_username
|
||||
EASYPANEL_PASSWORD=your_password
|
||||
EASYPANEL_URL=https://panelwebsite.moreminimore.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 VERIFICATION TESTS
|
||||
|
||||
### **Test 1: Core SEO Features**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-multi-channel/scripts
|
||||
|
||||
python3 generate_content.py \
|
||||
--topic "test" \
|
||||
--channels facebook \
|
||||
--language th
|
||||
```
|
||||
|
||||
**Expected:** 5 Facebook variations generated
|
||||
|
||||
---
|
||||
|
||||
### **Test 2: Thai Analysis**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-analyzers/scripts
|
||||
|
||||
python3 thai_keyword_analyzer.py \
|
||||
--text "บทความเกี่ยวกับบริการ podcast" \
|
||||
--keyword "บริการ podcast" \
|
||||
--language th
|
||||
```
|
||||
|
||||
**Expected:** Thai keyword density analysis
|
||||
|
||||
---
|
||||
|
||||
### **Test 3: Umami Integration**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/umami/scripts
|
||||
|
||||
python3 umami_client.py \
|
||||
--action create-website \
|
||||
--umami-url "$UMAMI_URL" \
|
||||
--username "$UMAMI_USERNAME" \
|
||||
--password "$UMAMI_PASSWORD" \
|
||||
--website-name "Test Site" \
|
||||
--website-domain "test.example.com"
|
||||
```
|
||||
|
||||
**Expected:** Umami website created
|
||||
|
||||
---
|
||||
|
||||
### **Test 4: Google Analytics**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-data/scripts
|
||||
|
||||
python3 ga4_connector.py \
|
||||
--property-id "$GA4_PROPERTY_ID" \
|
||||
--credentials "$GA4_CREDENTIALS_PATH" \
|
||||
--url "/test-page" \
|
||||
--days 30
|
||||
```
|
||||
|
||||
**Expected:** GA4 analytics data
|
||||
|
||||
---
|
||||
|
||||
### **Test 5: DataForSEO**
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill/skills/seo-data/scripts
|
||||
|
||||
python3 dataforseo_client.py \
|
||||
--login "$DATAFORSEO_LOGIN" \
|
||||
--password "$DATAFORSEO_PASSWORD" \
|
||||
--keyword "podcast" \
|
||||
--location "Thailand" \
|
||||
--language "Thai"
|
||||
```
|
||||
|
||||
**Expected:** Keyword suggestions with search volume
|
||||
|
||||
---
|
||||
|
||||
## 🗑️ OUTDATED DOCUMENTATION TO REMOVE
|
||||
|
||||
The following files are outdated and should be deleted:
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/opencode-skill
|
||||
|
||||
# Outdated SEO skill docs (replaced by this guide)
|
||||
rm -f skills/SEO_SKILLS_IMPLEMENTATION_STATUS.md
|
||||
rm -f skills/SEO_SKILLS_COMPLETE.md
|
||||
rm -f skills/BUG_FIXES_2026-03-08.md
|
||||
rm -f skills/FINAL_BUG_FIX_STATUS.md
|
||||
|
||||
# Outdated test results (use TESTING_GUIDE.md instead)
|
||||
rm -f TEST_RESULTS_2026-03-08.md
|
||||
rm -f REAL_DATA_TEST_RESULTS.md
|
||||
rm -f COMPREHENSIVE_TEST_RESULTS.md
|
||||
|
||||
# Outdated implementation status (all complete now)
|
||||
rm -f skills/seo-*/IMPLEMENTATION*.md
|
||||
rm -f skills/seo-*/SPECIFICATION*.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📖 CURRENT DOCUMENTATION
|
||||
|
||||
**Active Documentation:**
|
||||
|
||||
- ✅ `AGENTS.md` - Main project knowledge base
|
||||
- ✅ `SEO_SKILLS_INSTALLATION_GUIDE.md` - Installation guide
|
||||
- ✅ `SINGLE_TESTING_GUIDE.md` - Comprehensive testing guide
|
||||
- ✅ `ALL_SERVICES_WORKING_FINAL.md` - Final status (100% complete)
|
||||
- ✅ `skills/*/SKILL.md` - Individual skill documentation
|
||||
|
||||
---
|
||||
|
||||
## 🆘 TROUBLESHOOTING
|
||||
|
||||
### **Issue: PyThaiNLP Not Found**
|
||||
|
||||
```bash
|
||||
pip3 install pythainlp
|
||||
python3 -c "from pythainlp.corpus import download; download('default')"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Issue: Google Packages Not Found**
|
||||
|
||||
```bash
|
||||
pip3 install google-analytics-data google-auth google-auth-oauthlib google-api-python-client
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Issue: YAML Parser Errors**
|
||||
|
||||
```bash
|
||||
pip3 install pyyaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Issue: Credentials Not Loading**
|
||||
|
||||
```bash
|
||||
# Check .env file exists
|
||||
ls -la .env
|
||||
|
||||
# Verify it has credentials
|
||||
grep "^UMAMI_URL=" .env
|
||||
grep "^CHUTES_API_TOKEN=" .env
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**All requirements documented and tested!** 🎉
|
||||
Reference in New Issue
Block a user