system-prompts-and-models-o.../api/README.md
Sahiix@1 13254d7cbf feat: Add metadata system, REST API, examples, and CI/CD pipeline
- 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
2025-10-02 22:23:26 +04:00

7.4 KiB

🔌 API Documentation

RESTful JSON API for AI Coding Tools data


📋 Base URL

https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/

Or locally:

file:///path/to/repo/api/

📊 Endpoints

1. Tools Index

Endpoint: /index.json

Lists all available tools with basic information.

Response:

{
  "version": "1.0",
  "generated": "2025-01-02T00:00:00",
  "count": 32,
  "tools": [
    {
      "slug": "cursor",
      "name": "Cursor",
      "type": "IDE Plugin",
      "description": "AI-powered code editor...",
      "status": "active"
    }
  ]
}

2. Tool Detail

Endpoint: /tools/{slug}.json

Get detailed information about a specific tool.

Example: /tools/cursor.json

Response:

{
  "version": "1.0",
  "generated": "2025-01-02T00:00:00",
  "name": "Cursor",
  "slug": "cursor",
  "type": "IDE Plugin",
  "status": "active",
  "description": "...",
  "pricing": { ... },
  "features": { ... },
  "models": { ... }
}

3. By Type

Endpoint: /by-type.json

Tools grouped by type (IDE Plugin, CLI Tool, etc.).

Response:

{
  "version": "1.0",
  "types": {
    "IDE Plugin": [
      { "slug": "cursor", "name": "Cursor", ... }
    ],
    "CLI Tool": [
      { "slug": "claude-code", "name": "Claude Code", ... }
    ]
  }
}

4. By Pricing

Endpoint: /by-pricing.json

Tools grouped by pricing model.

Response:

{
  "pricing_models": {
    "free": [...],
    "freemium": [...],
    "paid": [...]
  }
}

5. Features Matrix

Endpoint: /features.json

Shows which tools have which features.

Response:

{
  "features": {
    "agentMode": [
      { "slug": "cursor", "name": "Cursor" },
      { "slug": "claude-code", "name": "Claude Code" }
    ],
    "parallelExecution": [...]
  }
}

6. Statistics

Endpoint: /statistics.json

Aggregate statistics about all tools.

Response:

{
  "total_tools": 32,
  "by_type": {
    "IDE Plugin": 11,
    "CLI Tool": 6,
    ...
  },
  "by_pricing": { ... },
  "feature_adoption": {
    "codeGeneration": 28,
    "agentMode": 15,
    ...
  },
  "most_common_features": [
    ["codeGeneration", 28],
    ["gitIntegration", 25],
    ...
  ]
}

7. Search Index

Endpoint: /search.json

Optimized index for search functionality.

Response:

{
  "index": [
    {
      "slug": "cursor",
      "name": "Cursor",
      "type": "IDE Plugin",
      "description": "...",
      "tags": ["IDE", "Agent", "Premium"],
      "keywords": ["cursor", "ide", "agent", "premium"]
    }
  ]
}

🔍 Usage Examples

JavaScript (Fetch API)

// Get all tools
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json')
  .then(res => res.json())
  .then(data => {
    console.log(`Found ${data.count} tools`);
    data.tools.forEach(tool => {
      console.log(`- ${tool.name} (${tool.type})`);
    });
  });

// Get specific tool
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json')
  .then(res => res.json())
  .then(tool => {
    console.log(tool.name);
    console.log(tool.description);
    console.log(tool.features);
  });

// Filter by type
fetch('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/by-type.json')
  .then(res => res.json())
  .then(data => {
    const idePlugins = data.types['IDE Plugin'];
    console.log(`IDE Plugins: ${idePlugins.length}`);
  });

Python (requests)

import requests

# Get all tools
response = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json')
data = response.json()
print(f"Found {data['count']} tools")

# Get specific tool
tool = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json').json()
print(tool['name'])
print(tool['description'])

# Get statistics
stats = requests.get('https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/statistics.json').json()
print(f"Total tools: {stats['total_tools']}")
print(f"By type: {stats['by_type']}")

cURL

# Get all tools
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json

# Get specific tool
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/tools/cursor.json

# Get statistics
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/statistics.json

# Pretty print with jq
curl https://sahiixx.github.io/system-prompts-and-models-of-ai-tools/api/index.json | jq '.'

🔧 Advanced Queries

Filter Tools by Feature

// Get all tools with agent mode
fetch('/api/features.json')
  .then(res => res.json())
  .then(data => {
    const agentTools = data.features.agentMode;
    console.log('Tools with Agent Mode:', agentTools);
  });

Search Tools

// Search for tools
const query = 'ide';
fetch('/api/search.json')
  .then(res => res.json())
  .then(data => {
    const results = data.index.filter(tool => 
      tool.keywords.some(keyword => keyword.includes(query.toLowerCase()))
    );
    console.log(`Found ${results.length} results for "${query}"`);
  });

Get Free Tools

// Get all free tools
fetch('/api/by-pricing.json')
  .then(res => res.json())
  .then(data => {
    const freeTools = data.pricing_models.free || [];
    console.log(`${freeTools.length} free tools available`);
  });

📊 Data Schema

Tool Object

interface Tool {
  name: string;
  slug: string;
  type: "IDE Plugin" | "CLI Tool" | "Web Platform" | "Autonomous Agent";
  status: "active" | "beta" | "deprecated";
  description: string;
  version: {
    current: string;
    lastUpdated: string;
    history: Array<{
      version: string;
      date: string;
      changes: string;
    }>;
  };
  pricing: {
    model: "free" | "freemium" | "paid" | "enterprise";
    tiers: Array<Tier>;
  };
  models: {
    primary: string;
    supported: string[];
    customizable: boolean;
  };
  features: {
    codeGeneration: boolean;
    codeCompletion: boolean;
    chatInterface: boolean;
    agentMode: boolean;
    parallelExecution: boolean;
    memorySystem: boolean;
    todoTracking: boolean;
    // ... more features
  };
  platforms: {
    vscode: boolean;
    jetbrains: boolean;
    web: boolean;
    cli: boolean;
    standalone: boolean;
  };
  patterns: {
    conciseness: "very-high" | "high" | "medium" | "low";
    parallelTools: boolean;
    subAgents: boolean;
    verificationGates: boolean;
    todoSystem: boolean;
  };
  links: {
    website: string | null;
    docs: string | null;
    github: string | null;
    pricing: string | null;
  };
  tags: string[];
  metrics: {
    promptTokens: number;
    toolsCount: number;
    securityRules: number;
    concisenessScore: number;
  };
}

🔄 Updates

API endpoints are regenerated automatically when:

  • New tools are added
  • Tool metadata is updated
  • Features change

Check the generated field in each endpoint for the last update time.


📝 Contributing

See CONTRIBUTING.md for guidelines on:

  • Adding new tools
  • Updating metadata
  • Improving API structure
  • Adding new endpoints

📚 Resources


Last Updated: 2025-10-02
API Version: 1.0