{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "php -r '\nchdir(\"\/var\/www\/dev.campus.systemische-tools.de\");\n\n\/\/ Bootstrap\nrequire_once \"vendor\/autoload.php\";\n\n\/\/ Create PDO connections\n$dbHost = \"localhost\";\n$dbUser = \"ki\";\n$dbPass = file_get_contents(\"\/var\/www\/dev.campus.systemische-tools.de\/.env\");\npreg_match(\"\/MARIADB_ROOT_PASSWORD=(.+)\/\", $dbPass, $m);\n$dbPass = trim($m[1]);\n\n$pdoDev = new PDO(\"mysql:host=$dbHost;dbname=ki_dev;charset=utf8mb4\", \"root\", $dbPass);\n$pdoDev->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n$pdoContent = new PDO(\"mysql:host=$dbHost;dbname=ki_content;charset=utf8mb4\", \"root\", $dbPass);\n$pdoContent->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n\n\/\/ Create repository\n$repo = new \\Infrastructure\\Persistence\\FileAnalysisRepository($pdoDev);\n$depRepo = new \\Infrastructure\\Persistence\\DependencyGraphRepository($pdoDev);\n$scanner = new \\Infrastructure\\CodeAnalysis\\CodeScanner($repo);\n\n$useCase = new \\UseCases\\CodeAnalysis\\GetCodeAnalysisUseCase($repo, $depRepo, $scanner);\n\necho \"Starting scan...\\n\";\n$start = microtime(true);\ntry {\n $result = $useCase->runScan(\"cli-test\");\n $duration = round(microtime(true) - $start, 2);\n echo \"SUCCESS in {$duration}s:\\n\";\n print_r($result);\n} catch (Throwable $e) {\n echo \"ERROR: \" . $e->getMessage() . \"\\n\";\n echo \"File: \" . $e->getFile() . \":\" . $e->getLine() . \"\\n\";\n echo $e->getTraceAsString() . \"\\n\";\n}\n' 2>&1",
"timeout": 180000,
"description": "Run scan manually via CLI"
}
}