Template Analysis Framework

Slot uses a comprehensive ontology to analyze and understand starter templates. This framework helps us categorize features, evaluate quality, and make intelligent recommendations based on your specific needs.

Schema Definition

The complete JSON schema that defines our template analysis framework:

{
  "metadata": {
    "name": "string",
    "source": {
      "type": "enum",
      "values": ["github", "npm"]
    },
    "url": "string",
    "stars": "number",
    "forks": "number",
    "lastUpdate": "date"
  },
  "technologies": {
    "type": "array",
    "description": "Flat list of all technologies, tools, and frameworks used",
    "examples": [
      "react", "typescript", "tailwind", "jest", "vite", "docker",
      "postgres", "prisma", "next-auth", "eslint", "prettier"
    ]
  },
  "purposes": {
    "type": "object",
    "description": "Maps technologies to their roles in the template",
    "examples": {
      "ui": "react",
      "styling": "tailwind",
      "database": "postgres",
      "orm": "prisma",
      "testing": "jest",
      "bundling": "vite"
    }
  },
  "features": {
    "development": {
      "hotReload": "boolean",
      "watchMode": "boolean",
      "debugConfig": "boolean",
      "devContainer": "boolean",
      "typeChecking": "boolean",
      "linting": "boolean",
      "formatting": "boolean"
    },
    "testing": {
      "unitTests": "boolean",
      "integrationTests": "boolean",
      "e2eTests": "boolean",
      "cicd": "boolean"
    },
    "deployment": {
      "envConfig": "boolean",
      "dockerfile": "boolean",
      "infraAsCode": "boolean",
      "productionOptimized": "boolean"
    },
    "security": {
      "dependencyScanning": "boolean",
      "secretManagement": "boolean",
      "authentication": "boolean"
    }
  },
  "quality": {
    "maintenance": {
      "commitFrequency": {
        "type": "scale",
        "range": [1, 5]
      },
      "issueResponseTime": {
        "type": "scale",
        "range": [1, 5]
      }
    },
    "documentation": {
      "readmeCompleteness": {
        "type": "scale",
        "range": [1, 5]
      },
      "setupInstructions": {
        "type": "scale",
        "range": [1, 5]
      },
      "exampleCoverage": {
        "type": "scale",
        "range": [1, 5]
      }
    }
  },
  "other": {
    "type": "object",
    "description": "Important information that doesn't fit elsewhere",
    "examples": {
      "unexpectedProperty": { "unexpected": "datastructure" }
    }
  }
}

Core Categories

Technologies & Purposes

We analyze both the technology stack and how each technology is used:

Common Technologies

  • React, Vue, Angular
  • TypeScript, JavaScript
  • Tailwind, CSS-in-JS
  • Jest, Vitest, Cypress
  • Vite, Webpack

Purpose Mapping

  • UI frameworks
  • Styling solutions
  • Database & ORM
  • Testing tools
  • Build tools

Features

We identify key features across four main categories:

Development

  • Hot reload support
  • Watch mode
  • Debug configuration
  • Dev containers
  • Type checking
  • Linting & formatting

Testing

  • Unit tests
  • Integration tests
  • E2E tests
  • CI/CD setup

Deployment

  • Environment config
  • Dockerfile
  • Infrastructure as code
  • Production optimization

Security

  • Dependency scanning
  • Secret management
  • Authentication

Quality Metrics

We evaluate quality using 1-5 scale metrics across key dimensions:

Maintenance

  • Commit frequency (1-5)
  • Issue response time (1-5)

Documentation

  • README completeness (1-5)
  • Setup instructions (1-5)
  • Example coverage (1-5)

Analysis Output

For each template, our analysis produces:

Core Data

  • Technology list and purposes
  • Feature presence (boolean flags)
  • Quality scores (1-5 scales)
  • Metadata (stars, forks, updates)

Extended Data

  • Additional properties
  • Unexpected data structures
  • Template-specific information
  • Custom metadata

Next Steps

Learn more about how we use this framework to evaluate template quality and provide accurate recommendations.