refactor: reorganize project structure for better maintainability

- Move 45 debug/test files from root to organized scripts/ directories
- Secure public/ directory by removing debug files (security improvement)
- Create structured scripts organization:
  • scripts/debug/      (20 files) - Framework debugging tools
  • scripts/test/       (18 files) - Test and validation scripts
  • scripts/maintenance/ (5 files) - Maintenance utilities
  • scripts/dev/         (2 files) - Development tools

Security improvements:
- Removed all debug/test files from public/ directory
- Only production files remain: index.php, health.php

Root directory cleanup:
- Reduced from 47 to 2 PHP files in root
- Only essential production files: console.php, worker.php

This improves:
 Security (no debug code in public/)
 Organization (clear separation of concerns)
 Maintainability (easy to find and manage scripts)
 Professional structure (clean root directory)
This commit is contained in:
2025-10-05 10:59:15 +02:00
parent 03e5188644
commit 887847dde6
77 changed files with 3902 additions and 787 deletions

View File

@@ -0,0 +1,119 @@
<?php
declare(strict_types=1);
echo "=== Framework Agents Status Check ===\n\n";
// Check if our FrameworkAgents class exists and has the correct MCP Tool attributes
$frameworkAgentsFile = __DIR__ . '/src/Framework/Mcp/Tools/FrameworkAgents.php';
if (file_exists($frameworkAgentsFile)) {
echo "✅ FrameworkAgents class file exists\n";
$content = file_get_contents($frameworkAgentsFile);
// Check for each agent method
$agents = [
'framework_core_agent' => 'Framework-Core Architecture Specialist Agent',
'mcp_specialist_agent' => 'MCP-Integration Specialist Agent',
'value_object_agent' => 'Value Object Specialist Agent',
'discovery_expert_agent' => 'Attribute-Discovery Specialist Agent'
];
foreach ($agents as $agentMethod => $description) {
if (strpos($content, "name: '$agentMethod'") !== false) {
echo "$agentMethod MCP tool found\n";
} else {
echo "$agentMethod MCP tool missing\n";
}
}
// Check if class has correct namespace and MCP attributes
if (strpos($content, '#[McpTool(') !== false) {
echo "✅ MCP Tool attributes detected\n";
} else {
echo "❌ No MCP Tool attributes found\n";
}
if (strpos($content, 'namespace App\Framework\Mcp\Tools;') !== false) {
echo "✅ Correct namespace found\n";
} else {
echo "❌ Incorrect namespace\n";
}
} else {
echo "❌ FrameworkAgents class file not found\n";
exit(1);
}
echo "\n=== Integration Status ===\n";
// Check if CLAUDE.md includes framework-personas.md
$claudeFile = __DIR__ . '/CLAUDE.md';
if (file_exists($claudeFile)) {
$claudeContent = file_get_contents($claudeFile);
if (strpos($claudeContent, '@docs/claude/framework-personas.md') !== false) {
echo "✅ Framework personas integrated in CLAUDE.md\n";
} else {
echo "❌ Framework personas not integrated in CLAUDE.md\n";
}
} else {
echo "❌ CLAUDE.md not found\n";
}
// Check if framework-personas.md exists
$personasFile = __DIR__ . '/docs/claude/framework-personas.md';
if (file_exists($personasFile)) {
echo "✅ Framework personas documentation exists\n";
$personasContent = file_get_contents($personasFile);
$expectedPersonas = [
'--persona-framework-core',
'--persona-mcp-specialist',
'--persona-value-object-architect',
'--persona-discovery-expert'
];
foreach ($expectedPersonas as $persona) {
if (strpos($personasContent, $persona) !== false) {
echo "$persona documented\n";
} else {
echo "$persona missing from documentation\n";
}
}
} else {
echo "❌ Framework personas documentation missing\n";
}
// Check global .claude reference
$globalReferenceFile = '/home/michael/.claude/FRAMEWORK-PERSONAS.md';
if (file_exists($globalReferenceFile)) {
echo "✅ Global Claude reference file exists\n";
$referenceContent = file_get_contents($globalReferenceFile);
if (strpos($referenceContent, '@/home/michael/dev/michaelschiemer/docs/claude/framework-personas.md') !== false) {
echo "✅ Correct reference path in global file\n";
} else {
echo "❌ Incorrect reference path in global file\n";
}
} else {
echo "❌ Global Claude reference file missing\n";
}
echo "\n=== Summary ===\n";
echo "🎉 Framework-specific agents have been successfully implemented!\n\n";
echo "📋 Available Framework Agents (as MCP Tools):\n";
foreach ($agents as $agentMethod => $description) {
echo " - $agentMethod: $description\n";
}
echo "\n💡 How to use:\n";
echo "1. The agents are automatically available when using the framework's MCP server\n";
echo "2. They will appear in Claude Code's /agents list when MCP server is properly configured\n";
echo "3. Each agent provides specialized expertise for framework-specific tasks\n";
echo "\n🔧 Next Steps:\n";
echo "1. Configure Claude Desktop to use the framework's MCP server\n";
echo "2. Test the agents via: echo '{\"jsonrpc\":\"2.0\",\"method\":\"tools/list\",\"id\":1}' | docker exec -i php php console.php mcp:server\n";
echo "3. Use the agents for framework-specific development tasks\n";