README.md

Path: metadata/README.md
Size: 5,903 bytes
Lines: 276
Type: markdown
markdown
# 📊 Metadata Directory

This directory contains structured JSON metadata for all AI coding tools in the repository.

## 📋 Purpose

Metadata files provide:
- **Structured data** for programmatic access
- **Consistent format** across all tools
- **Search and filtering** capabilities
- **API-friendly** information
- **Version tracking** and history

## 🗂️ File Structure

Each tool has a corresponding JSON file:
```
metadata/
  ├── cursor.json
  ├── github-copilot.json
  ├── claude-code.json
  ├── windsurf.json
  └── ...
```

## 📄 Metadata Schema

```json
{
  "name": "Tool Name",
  "slug": "tool-name",
  "type": "IDE Plugin | CLI Tool | Web Platform | Autonomous Agent",
  "status": "active | beta | deprecated",
  "description": "Brief description of the tool",
  "version": {
    "current": "1.0.0",
    "lastUpdated": "2025-01-02",
    "history": [
      {
        "version": "1.0.0",
        "date": "2025-01-02",
        "changes": "Initial release"
      }
    ]
  },
  "pricing": {
    "model": "free | freemium | paid | enterprise",
    "tiers": [
      {
        "name": "Free",
        "price": "$0/month",
        "features": ["Feature 1", "Feature 2"]
      }
    ]
  },
  "models": {
    "primary": "GPT-4 | Claude 3.5 Sonnet | etc.",
    "supported": ["Model 1", "Model 2"],
    "customizable": true
  },
  "features": {
    "codeGeneration": true,
    "codeCompletion": true,
    "chatInterface": true,
    "agentMode": false,
    "parallelExecution": false,
    "memorySystem": false,
    "todoTracking": false,
    "gitIntegration": true,
    "multiFileEditing": true,
    "testGeneration": false
  },
  "platforms": {
    "vscode": true,
    "jetbrains": false,
    "web": false,
    "cli": false,
    "standalone": false
  },
  "languages": {
    "supported": ["Python", "JavaScript", "TypeScript", "Java", "C++"],
    "optimized": ["Python", "JavaScript"]
  },
  "integrations": {
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "jira": false
  },
  "security": {
    "secretDetection": true,
    "privateMode": false,
    "localModel": false,
    "dataRetention": "30 days"
  },
  "patterns": {
    "conciseness": "high | medium | low",
    "parallelTools": true,
    "subAgents": false,
    "verificationGates": true,
    "todoSystem": false
  },
  "documentation": {
    "folder": "Cursor Prompts",
    "files": {
      "systemPrompt": "Agent Prompt.txt",
      "tools": "Agent Tools.json",
      "readme": "README.md"
    },
    "hasMultipleVersions": true,
    "versions": ["v1.0", "v1.2", "Agent"]
  },
  "links": {
    "website": "https://cursor.com",
    "docs": "https://docs.cursor.com",
    "github": "https://github.com/...",
    "pricing": "https://cursor.com/pricing"
  },
  "tags": [
    "IDE",
    "VS Code",
    "Agent",
    "Multi-file",
    "Premium"
  ],
  "metrics": {
    "promptTokens": 5000,
    "toolsCount": 15,
    "securityRules": 25,
    "concisenesScore": 85
  },
  "analysis": {
    "strengths": ["Feature 1", "Feature 2"],
    "weaknesses": ["Limitation 1"],
    "uniqueFeatures": ["Unique 1"],
    "bestFor": ["Use case 1", "Use case 2"]
  }
}
```

## 🔍 Usage Examples

### Python
```python
import json

# Load metadata
with open('metadata/cursor.json') as f:
    tool = json.load(f)

# Check features
if tool['features']['agentMode']:
    print(f"{tool['name']} has agent mode!")

# Filter by price
free_tools = [
    json.load(open(f'metadata/{f}'))
    for f in os.listdir('metadata')
    if json.load(open(f'metadata/{f}'))['pricing']['model'] == 'free'
]
```

### JavaScript
```javascript
const fs = require('fs');

// Load all metadata
const tools = fs.readdirSync('metadata')
  .filter(f => f.endsWith('.json'))
  .map(f => JSON.parse(fs.readFileSync(`metadata/${f}`)));

// Find IDE plugins
const idePlugins = tools.filter(t => t.type === 'IDE Plugin');

// Sort by pricing
const sorted = tools.sort((a, b) => 
  a.pricing.tiers[0].price.localeCompare(b.pricing.tiers[0].price)
);
```

### PowerShell
```powershell
# Load metadata
$cursor = Get-Content "metadata/cursor.json" | ConvertFrom-Json

# Check features
if ($cursor.features.agentMode) {
    Write-Host "$($cursor.name) has agent mode!"
}

# Get all tools
$tools = Get-ChildItem "metadata/*.json" | ForEach-Object {
    Get-Content $_.FullName | ConvertFrom-Json
}

# Filter by type
$idePlugins = $tools | Where-Object { $_.type -eq "IDE Plugin" }
```

## 📊 Generating Metadata

### Manual Creation
Create JSON files following the schema above.

### Automated Generation
Use the metadata generation script:
```bash
python scripts/generate-metadata.py --tool cursor
```

### Bulk Update
Update all metadata files:
```bash
python scripts/generate-metadata.py --all
```

## ✅ Validation

Validate metadata against schema:
```bash
python scripts/validate-metadata.py
```

Checks:
- [ ] Required fields present
- [ ] Valid JSON format
- [ ] Correct data types
- [ ] Valid enum values
- [ ] Links are accessible
- [ ] Files exist in repository

## 🔄 Keeping Updated

### When to Update Metadata:
- Tool releases new version
- Pricing changes
- New features added
- Prompts updated
- Integration added/removed

### Update Process:
1. Edit JSON file
2. Update `version.lastUpdated`
3. Add entry to `version.history`
4. Run validation
5. Commit changes

## 📈 Statistics

Current metadata files: 31 (to be created)

### Coverage by Type:
- IDE Plugins: 11 tools
- CLI Tools: 6 tools
- Web Platforms: 8 tools
- Autonomous Agents: 5 tools
- Other: 1 tool

## 🤝 Contributing

See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines on:
- Adding new metadata files
- Updating existing metadata
- Schema changes
- Validation requirements

## 📚 Resources

- [JSON Schema](https://json-schema.org/)
- [Metadata Best Practices](../BEST_PRACTICES.md)
- [Tool Documentation](../)

---

*Last Updated: 2025-01-02*
← Back to Index ⬇ Download