{
"event": "PreToolUse",
"tool_name": "mcp__mcp-db__db_select",
"tool_input": {
"query": "SELECT id, yaml_content FROM contracts WHERE id = 14",
"database": "ki_dev"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"status\": \"success\",\n \"data\": [\n {\n \"id\": 14,\n \"yaml_content\": \"contract:\\n name: htmx-patterns\\n version: \\\"1.0\\\"\\n description: |\\n Regeln für konsistente HTMX-Nutzung in View-Dateien.\\n Automatisch validiert durch pre_rules_htmx.py Hook.\\n \\n enforcement:\\n hook: quality\/pre_rules_htmx.py\\n level: pre-hook (BLOCK)\\n scope: \/src\/View\/**\/*.php\\n \\n rules:\\n critical:\\n - id: HTMX-C1\\n name: csrf-on-post\\n check: hx-post MUSS X-CSRF-TOKEN in hx-headers haben\\n example: hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'\\n \\n - id: HTMX-C2\\n name: csrf-on-delete\\n check: hx-delete MUSS X-CSRF-TOKEN in hx-headers haben\\n example: hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'\\n \\n - id: HTMX-C3\\n name: csrf-on-patch\\n check: hx-patch MUSS X-CSRF-TOKEN in hx-headers haben\\n example: hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'\\n \\n - id: HTMX-C4\\n name: delete-requires-confirm\\n check: hx-delete MUSS hx-confirm Attribut haben\\n example: hx-confirm=\\\"Wirklich loeschen?\\\"\\n \\n recommended:\\n - id: HTMX-R1\\n name: no-fetch-for-simple-post\\n severity: major\\n check: Einfache POST-Aktionen SOLLTEN HTMX statt fetch() verwenden\\n \\n - id: HTMX-R2\\n name: no-inline-onclick-for-ajax\\n severity: major\\n check: Keine onclick-Handler fuer AJAX, HTMX verwenden\\n \\n - id: HTMX-R3\\n name: use-hx-indicator\\n severity: minor\\n check: hx-indicator fuer besseres UX-Feedback verwenden\\n \\n - id: HTMX-R4\\n name: use-hx-disabled-elt\\n severity: minor\\n check: hx-disabled-elt gegen Doppelklicks verwenden\\n \\n patterns:\\n form_partial_update:\\n description: Form-Submit mit partiellem Update\\n template: |\\n <form hx-post=\\\"\/endpoint\\\"\\n hx-target=\\\"#result\\\"\\n hx-swap=\\\"innerHTML\\\"\\n hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'>\\n <button type=\\\"submit\\\">Submit<\/button>\\n <\/form>\\n \\n action_with_reload:\\n description: Aktion mit Seiten-Reload\\n template: |\\n <button hx-post=\\\"\/endpoint\\\"\\n hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'\\n hx-on::after-request=\\\"location.reload()\\\">\\n Action\\n <\/button>\\n \\n delete_with_confirm:\\n description: Delete mit Bestätigung\\n template: |\\n <button hx-delete=\\\"\/item\/123\\\"\\n hx-confirm=\\\"Wirklich loeschen?\\\"\\n hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"<?= $csrfToken ?>\\\"}'\\n hx-target=\\\"closest tr\\\"\\n hx-swap=\\\"outerHTML swap:1s\\\">\\n Loeschen\\n <\/button>\"\n }\n ],\n \"row_count\": 1,\n \"error\": null,\n \"execution_ms\": 0\n}"
}
]
}