{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_create",
"tool_input": {
"title": "Contract erstellen: Code-Quality-Standards",
"description": "## Kontext\nLese zuerst: `\/var\/www\/CLAUDE.md`\nReferenz: `\/docs\/codequality\/` Reports\n\n## Problem (Root Cause)\nKeine automatische Validierung der Code-Qualitätsstandards.\n\n## Impact\n- Regressionen möglich\n- Keine kontinuierliche Überwachung\n- Standards werden vergessen\n\n## Umsetzung\nErstelle Contract via MCP:\n```\ncontracts_create(\n name=\"code-quality-standards\",\n version=\"1.0\",\n yaml_content='''\nname: Code Quality Standards\nscope: src\/\nrules:\n - id: no-god-class\n description: Controller dürfen max 300 LOC haben\n pattern: \"Controller.php\"\n max_lines: 300\n \n - id: repository-pattern\n description: Controller dürfen keine direkten SQL-Queries enthalten\n forbidden_patterns:\n - \"->query(\"\n - \"->prepare(\"\n in_files: \"Controller\/*.php\"\n \n - id: no-html-in-controller\n description: Controller dürfen kein HTML ausgeben\n forbidden_patterns:\n - \"echo '<\"\n - 'echo \"<'\n in_files: \"Controller\/*.php\"\n \n - id: use-notfound-method\n description: Controller müssen notFound() statt http_response_code(404) nutzen\n forbidden_patterns:\n - \"http_response_code(404)\"\n in_files: \"Controller\/*.php\"\n \n - id: constructor-injection\n description: Repositories müssen per Constructor injiziert werden\n forbidden_patterns:\n - \"new .*Repository()\"\n in_files: \"Controller\/*.php\"\n exclude_pattern: \"__construct\"\n'''\n)\n```\n\n## Prüfung\n- contracts_validate ausführen\n- Violations zeigen offene Refactoring-Tasks\n\n## Dokumentation\n- docs_update: Contract-Referenz in codequality Reports\n\n## MCP-Tools\n- contracts_create\n- contracts_validate",
"type": "ai_task"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 200,\n \"uuid\": \"01defb9e-4c2e-4aeb-9c19-6d69dfc34e64\",\n \"title\": \"Contract erstellen: Code-Quality-Standards\",\n \"description\": \"## Kontext\\nLese zuerst: `\/var\/www\/CLAUDE.md`\\nReferenz: `\/docs\/codequality\/` Reports\\n\\n## Problem (Root Cause)\\nKeine automatische Validierung der Code-Qualitätsstandards.\\n\\n## Impact\\n- Regressionen möglich\\n- Keine kontinuierliche Überwachung\\n- Standards werden vergessen\\n\\n## Umsetzung\\nErstelle Contract via MCP:\\n```\\ncontracts_create(\\n name=\\\"code-quality-standards\\\",\\n version=\\\"1.0\\\",\\n yaml_content='''\\nname: Code Quality Standards\\nscope: src\/\\nrules:\\n - id: no-god-class\\n description: Controller dürfen max 300 LOC haben\\n pattern: \\\"Controller.php\\\"\\n max_lines: 300\\n \\n - id: repository-pattern\\n description: Controller dürfen keine direkten SQL-Queries enthalten\\n forbidden_patterns:\\n - \\\"->query(\\\"\\n - \\\"->prepare(\\\"\\n in_files: \\\"Controller\/*.php\\\"\\n \\n - id: no-html-in-controller\\n description: Controller dürfen kein HTML ausgeben\\n forbidden_patterns:\\n - \\\"echo '<\\\"\\n - 'echo \\\"<'\\n in_files: \\\"Controller\/*.php\\\"\\n \\n - id: use-notfound-method\\n description: Controller müssen notFound() statt http_response_code(404) nutzen\\n forbidden_patterns:\\n - \\\"http_response_code(404)\\\"\\n in_files: \\\"Controller\/*.php\\\"\\n \\n - id: constructor-injection\\n description: Repositories müssen per Constructor injiziert werden\\n forbidden_patterns:\\n - \\\"new .*Repository()\\\"\\n in_files: \\\"Controller\/*.php\\\"\\n exclude_pattern: \\\"__construct\\\"\\n'''\\n)\\n```\\n\\n## Prüfung\\n- contracts_validate ausführen\\n- Violations zeigen offene Refactoring-Tasks\\n\\n## Dokumentation\\n- docs_update: Contract-Referenz in codequality Reports\\n\\n## MCP-Tools\\n- contracts_create\\n- contracts_validate\",\n \"type\": \"ai_task\",\n \"status\": \"pending\",\n \"created_by\": \"mcp-tasks\",\n \"created_by_type\": \"ai\",\n \"parent_task_id\": null,\n \"due_date\": null,\n \"created_at\": \"2025-12-22T01:39:10.689902\",\n \"updated_at\": \"2025-12-22T01:39:10.689905\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #200 created\"\n}"
}
]
}