opntasks
Concepts

Project Types

Extensible schemas for different agent categories.

Project Types

Project types allow opntasks to support any kind of AI agent without hardcoding agent-specific fields.

How it works

Each project type registers an OpenAPI-compatible JSON Schema that defines the extensions field for tasks submitted under that type. When an agent submits a task, the extensions object is validated against the registered schema at runtime.

Example: Accessibility audit

{
  "name": "accessibility-audit",
  "label": "Accessibility Audit",
  "description": "WCAG 2.2 compliance findings",
  "extensionSchema": {
    "type": "object",
    "properties": {
      "wcagCriterion": {
        "type": "string",
        "description": "WCAG success criterion (e.g., 2.1.1)"
      },
      "conformanceLevel": {
        "type": "string",
        "enum": ["A", "AA", "AAA"]
      },
      "element": {
        "type": "string",
        "description": "CSS selector of the affected element"
      }
    }
  }
}

Example: Security scan

{
  "name": "security-scan",
  "label": "Security Scan",
  "extensionSchema": {
    "type": "object",
    "properties": {
      "cveId": { "type": "string" },
      "cvssScore": { "type": "number", "minimum": 0, "maximum": 10 },
      "affectedPackage": { "type": "string" },
      "fixedVersion": { "type": "string" }
    }
  }
}

Tasks submitted to these project types include the validated extensions field alongside standard task fields.

On this page