mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-09 02:24:11 +08:00
- Modify install_pycli.sh to add ~/.claude/scripts/ to PATH instead of creating alias - Remove redundant alias configuration, use direct PATH registration - Update documentation to reflect simplified installation process - Delete README.md as requested by user - Now users can call 'pycli' directly after installation without alias setup Installation process: 1. Run install_pycli.sh 2. Reload shell configuration (source ~/.bashrc) 3. Use 'pycli' command directly 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
12 KiB
12 KiB
name, description, type
| name | description | type |
|---|---|---|
| python-tools-strategy | Command reference for Python-based tool invocation | command-reference |
Python Tools Command Reference
⚡ Quick Commands
Smart Analysis: pycli --analyze --query "search term" --tool [gemini/codex]
Direct Tool Invocation: pycli --analyze --tool [gemini/codex] -p "prompt"
Vector Database Setup: pycli --init
Vector Database Update: pycli --update-embeddings
⏰ When to Use What
🔄 Vector Database Timing
# FIRST TIME (run once per project)
pycli --init
# DAILY (when files change)
pycli --update-embeddings
# BEFORE ANALYSIS (check status)
pycli --status
🎯 Tool Selection Timing
- Code Discovery → Use
pycli --analyze --queryto find relevant files - Direct Analysis → Use
pycli --analyze -pwhen you know what to analyze - Development → Use
--tool codexfor implementation tasks - Understanding → Use
--tool geminifor analysis and exploration
🎯 Core Commands
Smart Analysis (Recommended)
# Find similar code patterns and analyze
pycli --analyze --query "authentication patterns" --tool gemini
# Search with development context
pycli --analyze --query "error handling" --tool codex
# Both discovery and analysis
pycli --analyze --query "database connections" --tool both
Direct Tool Invocation
# Direct analysis with known context
pycli --analyze --tool gemini -p "analyze authentication patterns"
# Direct development task
pycli --analyze --tool codex -p "implement user login"
# Status and testing
pycli --status
pycli --test-search
Vector Database Operations
# Initial setup (run once per project)
pycli --init
# Daily updates (run when files change)
pycli --update-embeddings
# Status check
pycli --status
📊 Command Matrix
| What You Want | Command | Use Case |
|---|---|---|
| Smart analysis | pycli --analyze --query "pattern" --tool gemini |
Code discovery & analysis |
| Direct analysis | pycli --analyze --tool gemini -p "prompt" |
Known target analysis |
| Generate code | pycli --analyze --tool codex -p "task" |
Development |
| Setup project | pycli --init |
First time setup |
| Update search index | pycli --update-embeddings |
Maintenance |
| Check status | pycli --status |
System health |
🚀 Usage Examples
Replace Gemini Wrapper
# OLD: ~/.claude/scripts/gemini-wrapper -p "analyze auth patterns"
# NEW: pycli --analyze --tool gemini -p "analyze auth patterns"
Replace Codex Commands
# OLD: codex --full-auto exec "implement login"
# NEW: pycli --analyze --tool codex -p "implement login"
Smart Context Discovery
# Find relevant files first, then analyze
pycli --analyze --query "user authentication" --tool gemini
# Results include:
# - Hierarchical vector database search
# - Semantically similar files from project and parent directories
# - Generated tool command with intelligent context
# - Executed analysis with smart file selection
🔧 Command Options
pycli (Unified Interface)
pycli [command] [options]
Commands:
--init Initialize vector database for current project
--analyze Run analysis with AI tools
--status Show system status and health
--test-search Test vector search functionality
--update-embeddings Update vector embeddings for changed files
Analysis Options:
--tool [gemini|codex|both] Which AI tool to use (default: gemini)
-p, --prompt TEXT Direct prompt for analysis
--query TEXT Semantic search query for context discovery
--top-k INTEGER Number of similar files to find (default: 10)
--similarity-threshold FLOAT Minimum similarity score (0.0-1.0)
Output Options:
--quiet Suppress progress output
--verbose Show detailed analysis information
--output [patterns|json] Output format (default: patterns)
Installation & Setup
# Install pycli system
bash D:/Claude_dms3/.claude/scripts/install_pycli.sh
# The script will automatically add ~/.claude/scripts/ to your PATH
# Reload your shell configuration
source ~/.bashrc # or ~/.zshrc
# Verify installation - now you can use pycli directly
pycli --help
📋 Common Workflows
🚀 First-Time Setup (Vector Database)
# 1. Install pycli system
bash D:/Claude_dms3/.claude/scripts/install_pycli.sh
# 2. Initialize vector database for project
cd /path/to/your/project
pycli --init
# 3. Verify setup works
pycli --status
# 4. Test search functionality
pycli --test-search
🎯 Analysis Workflow (Recommended)
# 1. Update vectors (if files changed)
pycli --update-embeddings
# 2. Smart analysis with context discovery
pycli --analyze --query "what you're looking for" --tool gemini
# 3. Development with context
pycli --analyze --query "related patterns" --tool codex
⏰ When to Run Commands
🔄 Vector Database Maintenance
# WHEN: First time using system
pycli --init
# WHEN: Files have been added/modified (daily/after coding)
pycli --update-embeddings
# WHEN: Before starting analysis (check if system ready)
pycli --status
🎯 Analysis Timing
# WHEN: You need to find relevant code patterns
pycli --analyze --query "search term" --tool gemini
# WHEN: You have specific prompt and know context
pycli --analyze --tool gemini -p "specific prompt"
# WHEN: You want to develop/implement something
pycli --analyze --query "similar implementations" --tool codex
Integration with Existing Tools
# In place of gemini-wrapper
pycli --analyze --tool gemini -p "$YOUR_PROMPT"
# In place of codex commands
pycli --analyze --tool codex -p "$YOUR_TASK"
# Enhanced with hierarchical context discovery
pycli --analyze --query "relevant context" --tool both
🎯 Quick Reference
🚀 Most Common Commands
# 1. Smart analysis (recommended first choice)
pycli --analyze --query "what you're looking for" --tool gemini
# 2. Direct tool call (when you know exactly what to analyze)
pycli --analyze --tool codex -p "what you want to do"
# 3. Keep embeddings updated (run after file changes)
pycli --update-embeddings
⚙️ Configuration (config.yaml)
# Essential settings only
embeddings:
enabled: true
similarity_threshold: 0.3
tools:
default_tool: "gemini"
timeout: 300
🐛 Troubleshooting
# Check if everything works
pycli --status
# Rebuild if issues
pycli --init
# Test search functionality
pycli --test-search
🎪 Integration Decision Tree
Need to analyze code?
├─ Do you know specific files to analyze?
│ ├─ YES → Use: pycli --analyze --tool [gemini/codex] -p "prompt"
│ └─ NO → Use: pycli --analyze --query "search term" --tool [gemini/codex]
└─ Is vector database updated?
├─ UNSURE → Run: pycli --status
├─ NO → Run: pycli --update-embeddings
└─ YES → Proceed with analysis
🏗️ Hierarchical Vector Database
Key Features
- Automatic Parent Discovery: Subdirectories automatically use parent's vector database
- No Redundant Vectorization: Avoids duplicate processing in project subdirectories
- Central Storage: All vector databases stored in
~/.claude/vector_db/ - Path-based Organization: Vector DBs organized by project directory structure
How It Works
# Project structure
/home/user/myproject/
├── src/
│ └── auth/ # Uses parent's vector DB
└── tests/ # Uses parent's vector DB
# Vector database structure
~/.claude/vector_db/
└── home_user_myproject/ # Single DB for entire project
├── embeddings.pkl
└── index.json
Usage Examples
# Initialize at project root
cd /home/user/myproject
pycli --init
# Work in subdirectory (automatically finds parent DB)
cd src/auth
pycli --analyze --query "authentication patterns" # Uses parent's DB
# Work in another subdirectory
cd ../../tests
pycli --analyze --query "test patterns" # Uses same parent DB
🔧 Vector Database Setup & Maintenance
⚡ One-Time System Setup
# 1. Install dependencies (first time only)
cd .claude/python_script && pip install -r requirements.txt
# 2. Initialize vector database (creates embeddings)
python indexer.py --rebuild-index --update-embeddings
# 3. Verify setup works
python cli.py --status
# 4. Test search functionality
python cli.py --test-search
📋 What Happens During Setup
- File Indexing: Scans project files and creates index
- Model Download: Downloads AI model (first time only, ~500MB)
- Embedding Generation: Creates vector representations of code
- Cache Creation: Saves embeddings to
.claude/cache/embeddings/
🎯 Verification Checklist
After setup, verify these work:
python cli.py --statusshows "System ready"python cli.py --test-searchreturns results- Files exist:
.claude/cache/embeddings/embeddings.pkl - Search works:
python analyzer.py --query "test"
🐛 Common Issues & Fixes
Nothing works / Setup failed
# Nuclear option - reset everything
rm -rf .claude/cache/embeddings/*
python indexer.py --rebuild-index --update-embeddings
Slow performance
# In config.yaml - reduce batch size
embeddings:
batch_size: 16
No search results found
# In config.yaml - lower similarity threshold
embeddings:
similarity_threshold: 0.1
Memory errors during setup
# In config.yaml - use smaller batches
embeddings:
batch_size: 8
Model download fails
# Manual model download
python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')"
📋 Usage Rules & Best Practices
🎯 Core Rules
- Always check status first - Run
python cli.py --statusbefore analysis - Update after file changes - Run
indexer.py --update-embeddingswhen files modified - Use vector search for discovery - Use
analyzer.py --querywhen exploring code - Use direct tools for known targets - Use
cli.py --analyzefor specific analysis - Prefer context-aware tools - Enhanced Python tools over legacy shell scripts
⏰ Maintenance Schedule
# DAILY (or after coding sessions)
python .claude/python_script/indexer.py --update-embeddings
# WEEKLY (or when config changes)
python .claude/python_script/cli.py --status # Check system health
# MONTHLY (or after major project changes)
python .claude/python_script/indexer.py --rebuild-index --update-embeddings
🎯 Tool Selection Rules
Use cli.py --analyze --query when:
- ✅ Exploring unfamiliar codebase
- ✅ Looking for similar code patterns
- ✅ Need context discovery for complex tasks
- ✅ Want smart file selection for tool execution
Use cli.py --analyze -p when:
- ✅ You know exactly what files to analyze
- ✅ Direct prompt execution without context search
- ✅ Quick tool invocation with known targets
Use indexer.py when:
- ✅ First time setup
- ✅ Files have been added/modified
- ✅ System performance degraded
- ✅ Configuration changed
🚀 Migration from Legacy Tools
Replace gemini-wrapper
# OLD (shell-based)
~/.claude/scripts/gemini-wrapper -p "analyze authentication"
# NEW (Python-based with hierarchical vector context)
pycli --analyze --query "authentication" --tool gemini
Replace codex commands
# OLD (direct execution)
codex --full-auto exec "implement user login"
# NEW (context-aware development with hierarchical DB)
pycli --analyze --query "login implementation patterns" --tool codex
Integration workflow
- Install pycli - Run installation script once
- Initialize projects - Run
pycli --initin each project root - Replace commands - Update scripts to use
pycliinstead of direct Python calls - Enjoy hierarchical benefits - Automatic parent DB discovery in subdirectories
🎉 Advanced Features
Bash Wrapper Benefits
- Unified Interface: Single
pyclicommand for all operations - Smart Path Detection: Automatically finds project roots and vector databases
- Environment Management: Configurable Python interpreter path
- Hierarchical Support: Intelligent parent directory discovery