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>
101 lines
3.0 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|