mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2025-12-17 05:55:11 +00:00
- Added 32 JSON metadata files for all AI coding tools - Generated 39 REST API endpoints for programmatic access - Created working examples in Python, JavaScript, and PowerShell - Set up GitHub Actions workflow for automated deployment - Enhanced README with comprehensive feature documentation - Added version comparison and automation tools - Updated 20+ documentation files - Ready for GitHub Pages deployment
6.8 KiB
6.8 KiB
🤖 Metadata Generation Script
Purpose: Automatically generate or update metadata JSON files for AI coding tools.
🚀 Quick Start
# Generate metadata for a single tool
python scripts/generate-metadata.py --tool cursor
# Generate metadata for all tools
python scripts/generate-metadata.py --all
# Update existing metadata
python scripts/generate-metadata.py --update cursor
# Validate all metadata
python scripts/generate-metadata.py --validate
📋 Features
- Automatic Detection: Scans tool directories and extracts information
- Smart Analysis: Analyzes prompts for patterns and features
- Version Tracking: Detects multiple versions and tracks changes
- Validation: Ensures all required fields are present
- Bulk Operations: Process all tools at once
🔧 How It Works
1. Directory Scanning
Scans each tool directory for:
- System prompt files (
.txt) - Tool definition files (
.json) - README files
- Multiple versions
2. Content Analysis
Analyzes prompt content for:
- Conciseness patterns
- Security rules
- Tool capabilities
- Parallel execution support
- Memory systems
- TODO tracking
3. Feature Detection
Automatically detects:
- Code generation capabilities
- Agent mode support
- Multi-file editing
- Git integration
- Platform support
4. Metadata Generation
Creates JSON with:
- Basic information
- Version history
- Pricing (requires manual input)
- Feature flags
- Analysis and comparison
📖 Usage Guide
Generate Single Tool
python scripts/generate-metadata.py --tool "Cursor Prompts"
Output: metadata/cursor.json
Generate All Tools
python scripts/generate-metadata.py --all
Output: Creates/updates all metadata files
Update Existing
python scripts/generate-metadata.py --update cursor --field pricing
Validate
python scripts/generate-metadata.py --validate
Checks:
- Required fields present
- Valid JSON format
- Correct data types
- File references exist
🎯 Manual Fields
Some fields require manual input:
Required Manual:
pricing.tiers- Pricing informationlinks.website- Official websitelinks.docs- Documentation URLmarketPosition.userBase- Estimated users
Auto-Generated:
features.*- Detected from promptspatterns.*- Analyzed from contentmetrics.*- Calculated from filesdocumentation.*- Scanned from directory
📊 Output Format
Generated metadata follows the schema in metadata/README.md:
{
"name": "Tool Name",
"slug": "tool-name",
"type": "IDE Plugin | CLI Tool | Web Platform | Autonomous Agent",
"status": "active",
"version": { ... },
"pricing": { ... },
"models": { ... },
"features": { ... },
"platforms": { ... },
"documentation": { ... },
"analysis": { ... }
}
🔍 Analysis Algorithms
Conciseness Detection
def detect_conciseness(prompt_text):
indicators = [
"be concise",
"brief",
"minimal",
"short",
"terse"
]
score = sum(1 for i in indicators if i in prompt_text.lower())
return "very-high" if score >= 3 else "high" if score >= 2 else "medium"
Feature Detection
def detect_features(prompt_text, tools_json):
features = {
"agentMode": "agent" in prompt_text.lower(),
"parallelExecution": "parallel" in prompt_text.lower(),
"todoTracking": "todo" in prompt_text.lower() or "task list" in prompt_text.lower(),
"memorySystem": "memory" in prompt_text.lower() or "context" in prompt_text.lower()
}
return features
Tool Counting
def count_tools(tools_json):
if not tools_json:
return 0
data = json.load(open(tools_json))
return len(data.get("functions", []))
⚙️ Configuration
Config File: scripts/metadata-config.json
{
"autoDetect": true,
"analyzePrompts": true,
"generateMetrics": true,
"validateOutput": true,
"overwriteExisting": false,
"requiredFields": [
"name",
"slug",
"type",
"status",
"description"
],
"optionalFields": [
"pricing",
"links",
"marketPosition"
]
}
🛠️ Advanced Options
Custom Template
python scripts/generate-metadata.py --tool cursor --template custom-template.json
Specific Fields Only
python scripts/generate-metadata.py --tool cursor --fields features,patterns,metrics
Dry Run
python scripts/generate-metadata.py --all --dry-run
Shows what would be generated without writing files.
Debug Mode
python scripts/generate-metadata.py --tool cursor --debug
Shows detailed analysis and detection steps.
📝 Examples
Example 1: New Tool
# Add new tool "NewIDE"
mkdir "NewIDE"
echo "System prompt..." > "NewIDE/prompt.txt"
# Generate metadata
python scripts/generate-metadata.py --tool "NewIDE"
# Review and edit
code metadata/newide.json
# Validate
python scripts/generate-metadata.py --validate metadata/newide.json
Example 2: Update Pricing
# Edit metadata file
code metadata/cursor.json
# Update pricing section manually
# Validate changes
python scripts/generate-metadata.py --validate metadata/cursor.json
Example 3: Bulk Update
# Update all metadata with latest patterns
python scripts/generate-metadata.py --all --refresh-patterns
# Regenerate metrics
python scripts/generate-metadata.py --all --refresh-metrics
✅ Validation Rules
Required Fields:
- ✅
name- Tool name - ✅
slug- URL-friendly identifier - ✅
type- Tool category - ✅
status- Active/beta/deprecated - ✅
description- Brief summary
Recommended Fields:
- ⚠️
pricing- Pricing information - ⚠️
models- Supported AI models - ⚠️
features- Feature flags - ⚠️
links.website- Official website
Optional Fields:
- 💡
marketPosition- Market analysis - 💡
analysis- Strengths/weaknesses - 💡
tags- Search tags
🐛 Troubleshooting
Issue: "Tool directory not found"
Solution: Check directory name matches exactly
ls -la | grep -i "tool-name"
Issue: "Invalid JSON format"
Solution: Validate JSON syntax
python -m json.tool metadata/tool.json
Issue: "Missing required fields"
Solution: Check which fields are missing
python scripts/generate-metadata.py --validate --verbose
🤝 Contributing
When adding metadata:
- Use the generation script
- Manually fill pricing/links
- Validate output
- Test with API queries
- Submit PR
📚 See Also
Last Updated: 2025-01-02
Part of the AI Coding Tools repository