List Starters

GET /api/starters

Returns a paginated list of starter templates. The results can be filtered by technologies, features, and quality scores.

Query Parameters

Pagination

page

Page number (1-based). Defaults to 1.

Example: ?page=2

per_page

Number of items per page. Defaults to 20, maximum 100.

Example: ?per_page=50

Filtering

technologies

Filter by technologies. Can be specified multiple times or as comma-separated values. Returns starters that use ANY of the specified technologies.

Examples:

  • ?technologies=react,typescript
  • ?technologies=react&technologies=typescript
features

Filter by features. Can be specified multiple times or as comma-separated values. Returns starters that have ANY of the specified features.

Examples:

  • ?features=authentication,testing
  • ?features=development.testing&features=security.authentication
min_quality

Filter by minimum quality score (1-5). Returns starters with a quality score greater than or equal to the specified value.

Example: ?min_quality=4

min_matched

Filter by minimum number of matched filters. Only applies when technologies or features are specified. Returns starters that match at least this many of the specified filters.

Example: ?technologies=react,typescript&min_matched=2

Response

Success Response

{
  "items": [
    {
      "metadata": {
        "name": "starter-name",
        "url": "https://github.com/user/repo"
      },
      "technologies": ["react", "typescript"],
      "features": {
        "development": {
          "testing": true
        }
      },
      "quality": {
        "maintenance": {
          "commitFrequency": 4,
          "issueResponseTime": 5
        },
        "documentation": {
          "readmeCompleteness": 4,
          "setupInstructions": 5,
          "exampleCoverage": 4
        }
      },
      "match_score": {
        "matched": 2,
        "total": 3
      }
    }
  ],
  "pagination": {
    "total_items": 100,
    "total_pages": 5,
    "current_page": 1,
    "per_page": 20,
    "has_next": true,
    "has_previous": false
  }
}

Error Response

{
  "error": {
    "status": 400,
    "message": "Invalid parameter value"
  }
}

Example Requests

Basic Pagination

GET /api/starters?page=2&per_page=50

Technology Filter

GET /api/starters?technologies=react,typescript&min_quality=4

Feature Filter

GET /api/starters?features=development.testing,security.authentication&min_matched=2