Files
dss/.dss/schema/api.schema.json
Digital Production Factory 93e1b452fb Phase 5: Add immutable file headers to all protected files
Added protection headers to 9 critical files:

JSON Files (x-immutable-notice field):
- .dss/schema/api.schema.json
- .dss/schema/tokens.schema.json
- .dss/schema/components.schema.json
- .dss/schema/workflows.schema.json
- .dss/schema/guardrails.schema.json
- dss-claude-plugin/.mcp.json

YAML File (comment header):
- .dss-boundaries.yaml

Markdown File (HTML comment):
- API_SPECIFICATION_IMMUTABLE.md

Python File (docstring header):
- dss-mvp1/dss/validators/schema.py

Each header includes:
- Protection notice
- Reason for immutability
- Last modified date
- Bypass instructions (DSS_IMMUTABLE_BYPASS=1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 19:34:32 -03:00

101 lines
3.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://dss.overbits.luz.uy/schemas/api.schema.json",
"title": "DSS API Schema",
"description": "Machine-readable API specification for Design System Server MCP tools",
"version": "2.0.0",
"x-immutable-notice": {
"protected": true,
"reason": "Core API specification - prevents unauthorized tool signature changes",
"lastModified": "2025-12-09",
"bypassMethod": "Use 'DSS_IMMUTABLE_BYPASS=1 git commit' or commit message '[IMMUTABLE-UPDATE] reason'"
},
"type": "object",
"properties": {
"tools": {
"type": "object",
"description": "MCP tools available in DSS",
"additionalProperties": {
"type": "object",
"required": ["name", "description", "category", "parameters", "returns"],
"properties": {
"name": {
"type": "string",
"description": "Tool name (matches MCP tool identifier)"
},
"description": {
"type": "string",
"description": "What this tool does"
},
"category": {
"type": "string",
"enum": ["token", "figma", "browser", "project", "analysis", "storybook", "core"],
"description": "Tool category for organization"
},
"parameters": {
"type": "object",
"description": "Input parameters schema"
},
"returns": {
"type": "object",
"description": "Return value schema"
},
"examples": {
"type": "array",
"description": "Usage examples",
"items": {
"type": "object",
"properties": {
"input": {"type": "object"},
"output": {"type": "object"},
"description": {"type": "string"}
}
}
},
"boundaries": {
"type": "array",
"description": "Boundary enforcement rules",
"items": {
"type": "string"
}
},
"required_by": {
"type": "array",
"description": "Operations that require this tool",
"items": {
"type": "string"
}
}
}
}
},
"endpoints": {
"type": "object",
"description": "REST API endpoints (if applicable)",
"additionalProperties": {
"type": "object",
"required": ["method", "path", "description"],
"properties": {
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"]
},
"path": {
"type": "string",
"description": "API path pattern"
},
"description": {
"type": "string"
},
"requestSchema": {
"type": "object"
},
"responseSchema": {
"type": "object"
}
}
}
}
}
}