Skip to main content
Glama
orneryd

M.I.M.I.R - Multi-agent Intelligent Memory & Insight Repository

by orneryd
codebase-improvement-cycle.json17.9 kB
{ "name": "Codebase Self-Improvement Cycle", "description": "A continuous improvement workflow that analyzes, suggests, implements, tests, and validates codebase improvements. Re-execute to continuously refine.", "version": "1.0.0", "tasks": [ { "id": "code-quality-analyzer", "taskType": "agent", "title": "Code Quality Analyzer", "agentRoleDescription": "Expert code quality analyst specializing in clean code principles, SOLID, DRY, and maintainability", "prompt": "Analyze the codebase for code quality issues:\n\n1. Identify code smells (long methods, god classes, feature envy, etc.)\n2. Check for DRY violations and duplicated code\n3. Evaluate naming conventions and readability\n4. Assess function/method complexity (cyclomatic complexity)\n5. Review error handling patterns\n6. Check for proper abstraction levels\n\nFor each issue found, provide:\n- Location (file/function)\n- Severity (critical/major/minor)\n- Description of the problem\n- Suggested fix with code example\n\nPrioritize issues by impact on maintainability.", "dependencies": [], "parallelGroup": 1, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 30, "successCriteria": ["Identified at least 5 actionable improvements", "Each issue has a concrete fix suggestion"], "maxRetries": 2 }, { "id": "security-analyzer", "taskType": "agent", "title": "Security Vulnerability Scanner", "agentRoleDescription": "Application security expert specializing in OWASP Top 10, secure coding practices, and vulnerability detection", "prompt": "Perform a security analysis of the codebase:\n\n1. Check for injection vulnerabilities (SQL, XSS, command injection)\n2. Review authentication and authorization patterns\n3. Identify sensitive data exposure risks\n4. Check for insecure dependencies\n5. Review input validation and sanitization\n6. Assess cryptographic implementations\n7. Check for hardcoded secrets or credentials\n8. Review access control mechanisms\n\nFor each vulnerability:\n- Severity (critical/high/medium/low)\n- CVE reference if applicable\n- Attack vector explanation\n- Remediation code example\n- Testing approach to verify fix", "dependencies": [], "parallelGroup": 1, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 25, "successCriteria": ["Security scan completed", "All critical issues have remediation steps"], "maxRetries": 2 }, { "id": "performance-analyzer", "taskType": "agent", "title": "Performance Optimization Analyst", "agentRoleDescription": "Performance engineering expert specializing in optimization, profiling, and scalability analysis", "prompt": "Analyze the codebase for performance optimization opportunities:\n\n1. Identify N+1 query patterns and database inefficiencies\n2. Check for memory leaks and unnecessary allocations\n3. Review algorithm complexity (Big O analysis)\n4. Identify blocking operations that could be async\n5. Check for unnecessary re-renders (if frontend)\n6. Review caching opportunities\n7. Identify hot paths and bottlenecks\n8. Check for resource cleanup and connection pooling\n\nFor each optimization:\n- Current performance impact (estimated)\n- Expected improvement after fix\n- Implementation approach with code\n- How to measure/benchmark the improvement", "dependencies": [], "parallelGroup": 1, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 25, "successCriteria": ["Performance bottlenecks identified", "Optimization suggestions with measurable impact"], "maxRetries": 2 }, { "id": "architecture-reviewer", "taskType": "agent", "title": "Architecture Pattern Reviewer", "agentRoleDescription": "Software architect specializing in design patterns, system design, and architectural best practices", "prompt": "Review the codebase architecture and suggest improvements:\n\n1. Evaluate current architectural patterns (MVC, Clean Architecture, etc.)\n2. Check for proper separation of concerns\n3. Review dependency injection and inversion of control\n4. Assess modularity and coupling between components\n5. Evaluate API design and contracts\n6. Check for proper layering (presentation, business, data)\n7. Review error propagation patterns\n8. Assess testability of the architecture\n\nProvide:\n- Current architecture assessment\n- Recommended architectural improvements\n- Migration path for each suggestion\n- Impact on existing code\n- Diagram or structure suggestions", "dependencies": [], "parallelGroup": 1, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 20, "successCriteria": ["Architecture patterns identified", "Improvement roadmap provided"], "maxRetries": 2 }, { "id": "best-practices-researcher", "taskType": "agent", "title": "Best Practices Researcher", "agentRoleDescription": "Technical researcher specializing in industry best practices, emerging patterns, and framework-specific guidelines", "prompt": "Research current best practices for this codebase's technology stack:\n\n1. Search for latest framework/library best practices\n2. Find industry standards for the domain\n3. Research emerging patterns and techniques\n4. Look for official documentation recommendations\n5. Find community-validated approaches\n6. Research testing best practices for the stack\n7. Find deployment and DevOps best practices\n\nFor each best practice found:\n- Source/reference (documentation, article, etc.)\n- Applicability to current codebase\n- Implementation example\n- Priority (must-have/should-have/nice-to-have)\n- Effort estimate to implement", "dependencies": [], "parallelGroup": 1, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 35, "successCriteria": ["At least 10 relevant best practices found", "Each practice has implementation guidance"], "maxRetries": 2 }, { "id": "findings-consolidator", "taskType": "transformer", "title": "Analysis Consolidator", "description": "Consolidates all analysis findings into a prioritized improvement plan", "dependencies": ["code-quality-analyzer", "security-analyzer", "performance-analyzer", "architecture-reviewer", "best-practices-researcher"], "parallelGroup": null, "lambdaId": "consolidator-lambda" }, { "id": "improvement-implementer-1", "taskType": "agent", "title": "Critical Fixes Implementer", "agentRoleDescription": "Senior developer specializing in code refactoring, bug fixes, and implementing improvements with minimal disruption", "prompt": "Based on the consolidated analysis, implement the CRITICAL and HIGH priority fixes:\n\n1. Review the prioritized improvement list\n2. Implement security fixes first (critical vulnerabilities)\n3. Fix code quality issues marked as critical\n4. Apply performance optimizations for critical bottlenecks\n\nFor each fix:\n- Show the original code\n- Show the fixed code\n- Explain the changes made\n- Note any breaking changes or migration needs\n- Suggest related tests to add\n\nFocus on production-ready, clean implementations. Do not introduce new issues while fixing existing ones.", "dependencies": ["findings-consolidator"], "parallelGroup": 2, "recommendedModel": "gpt-4.1", "estimatedDuration": "10 min", "estimatedToolCalls": 50, "successCriteria": ["All critical fixes implemented", "Code compiles and passes linting", "No new issues introduced"], "maxRetries": 3 }, { "id": "improvement-implementer-2", "taskType": "agent", "title": "Medium Priority Implementer", "agentRoleDescription": "Developer specializing in incremental improvements and refactoring", "prompt": "Based on the consolidated analysis, implement MEDIUM priority improvements:\n\n1. Apply code quality improvements (DRY, naming, etc.)\n2. Implement architectural suggestions where feasible\n3. Apply best practices that have clear value\n4. Refactor for better maintainability\n\nFor each improvement:\n- Show before/after code\n- Explain the benefit\n- Note any dependencies on other changes\n- Ensure backward compatibility where possible\n\nBe pragmatic - implement changes that provide clear value without over-engineering.", "dependencies": ["findings-consolidator"], "parallelGroup": 2, "recommendedModel": "gpt-4.1", "estimatedDuration": "10 min", "estimatedToolCalls": 40, "successCriteria": ["Medium priority items addressed", "Improvements are incremental and safe"], "maxRetries": 2 }, { "id": "test-writer", "taskType": "agent", "title": "Unit Test Writer", "agentRoleDescription": "QA engineer specializing in test-driven development, unit testing, and test coverage optimization", "prompt": "Write comprehensive unit tests for the implemented improvements:\n\n1. Create tests for all critical fixes to prevent regression\n2. Add tests for edge cases identified in security analysis\n3. Write performance benchmark tests where applicable\n4. Ensure proper mocking and isolation\n5. Follow AAA pattern (Arrange, Act, Assert)\n6. Add integration tests for architectural changes\n\nFor each test:\n- Test name following convention (should_X_when_Y)\n- Setup/teardown if needed\n- Clear assertions with meaningful messages\n- Edge case coverage\n- Expected code coverage improvement\n\nUse the existing test framework in the project.", "dependencies": ["improvement-implementer-1", "improvement-implementer-2"], "parallelGroup": null, "recommendedModel": "gpt-4.1", "estimatedDuration": "10 min", "estimatedToolCalls": 45, "successCriteria": ["Tests cover all critical fixes", "Tests are well-structured and maintainable", "Edge cases covered"], "maxRetries": 2 }, { "id": "validation-checker", "taskType": "agent", "title": "Implementation Validator", "agentRoleDescription": "Quality assurance specialist focusing on code review, validation, and ensuring improvements meet requirements", "prompt": "Validate all implemented improvements and tests:\n\n1. Review each implemented fix against original issue\n2. Verify tests adequately cover the changes\n3. Check for any regressions or new issues\n4. Validate code style and conventions\n5. Ensure documentation is updated\n6. Check for any missed edge cases\n7. Verify backward compatibility\n\nProvide a validation report:\n- ✅ Passed validations\n- ⚠️ Warnings (acceptable but noted)\n- ❌ Failed validations (needs re-work)\n- 📋 Remaining items for next cycle\n\nBe thorough but practical in validation.", "dependencies": ["test-writer"], "parallelGroup": null, "recommendedModel": "gpt-4.1", "estimatedDuration": "5 min", "estimatedToolCalls": 30, "successCriteria": ["All changes validated", "No critical issues remaining", "Clear report generated"], "maxRetries": 2, "qcRole": "Senior code reviewer ensuring quality and completeness", "verificationCriteria": ["All implemented changes reviewed", "Tests verify functionality", "No regressions detected"] }, { "id": "cycle-summary", "taskType": "transformer", "title": "Improvement Cycle Summary", "description": "Generates a comprehensive summary of the improvement cycle and prepares context for the next iteration", "dependencies": ["validation-checker"], "parallelGroup": null, "lambdaId": "summary-lambda" } ], "parallelGroups": [ { "id": 1, "name": "Parallel Analysis Phase" }, { "id": 2, "name": "Parallel Implementation Phase" } ], "lambdas": [ { "id": "consolidator-lambda", "name": "AnalysisConsolidator", "description": "Consolidates findings from all analyzers into a prioritized improvement plan", "language": "typescript", "script": "interface Finding {\n category: string;\n severity: 'critical' | 'high' | 'medium' | 'low';\n title: string;\n description: string;\n location?: string;\n fix?: string;\n effort?: string;\n}\n\nfunction transform(input: any): string {\n const findings: Finding[] = [];\n \n // Process each analyzer's output\n input.tasks.forEach((task: any) => {\n const output = task.workerOutput || '';\n const category = task.taskTitle.replace(' Analyzer', '').replace(' Reviewer', '').replace(' Researcher', '');\n \n // Extract findings (simple parsing - in production use more robust parsing)\n const lines = output.split('\\n');\n let currentFinding: Partial<Finding> | null = null;\n \n lines.forEach((line: string) => {\n if (line.includes('critical') || line.includes('Critical') || line.includes('CRITICAL')) {\n if (currentFinding) findings.push(currentFinding as Finding);\n currentFinding = { category, severity: 'critical', title: line.trim(), description: '' };\n } else if (line.includes('high') || line.includes('High') || line.includes('HIGH')) {\n if (currentFinding) findings.push(currentFinding as Finding);\n currentFinding = { category, severity: 'high', title: line.trim(), description: '' };\n } else if (line.includes('medium') || line.includes('Medium') || line.includes('MEDIUM')) {\n if (currentFinding) findings.push(currentFinding as Finding);\n currentFinding = { category, severity: 'medium', title: line.trim(), description: '' };\n } else if (currentFinding) {\n currentFinding.description += line + '\\n';\n }\n });\n if (currentFinding) findings.push(currentFinding as Finding);\n });\n \n // Sort by severity\n const severityOrder = { critical: 0, high: 1, medium: 2, low: 3 };\n findings.sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);\n \n // Generate consolidated report\n let report = '# Consolidated Improvement Plan\\n\\n';\n report += `**Total Findings:** ${findings.length}\\n\\n`;\n report += `- Critical: ${findings.filter(f => f.severity === 'critical').length}\\n`;\n report += `- High: ${findings.filter(f => f.severity === 'high').length}\\n`;\n report += `- Medium: ${findings.filter(f => f.severity === 'medium').length}\\n`;\n report += `- Low: ${findings.filter(f => f.severity === 'low').length}\\n\\n`;\n \n report += '## Priority Queue\\n\\n';\n findings.forEach((f, i) => {\n const emoji = f.severity === 'critical' ? '🔴' : f.severity === 'high' ? '🟠' : f.severity === 'medium' ? '🟡' : '🟢';\n report += `### ${i + 1}. ${emoji} [${f.severity.toUpperCase()}] ${f.title}\\n`;\n report += `**Category:** ${f.category}\\n\\n`;\n if (f.description) report += f.description + '\\n';\n report += '---\\n\\n';\n });\n \n // Add raw outputs for context\n report += '\\n## Raw Analysis Outputs\\n\\n';\n input.tasks.forEach((task: any) => {\n report += `### ${task.taskTitle}\\n\\n`;\n report += task.workerOutput || 'No output';\n report += '\\n\\n---\\n\\n';\n });\n \n return report;\n}" }, { "id": "summary-lambda", "name": "CycleSummary", "description": "Generates a summary of the improvement cycle for the next iteration", "language": "typescript", "script": "function transform(input: any): string {\n const validationTask = input.tasks.find((t: any) => t.taskTitle.includes('Validator'));\n const validationOutput = validationTask?.workerOutput || '';\n \n // Count results\n const passed = (validationOutput.match(/✅/g) || []).length;\n const warnings = (validationOutput.match(/⚠️/g) || []).length;\n const failed = (validationOutput.match(/❌/g) || []).length;\n \n let summary = '# 🔄 Improvement Cycle Complete\\n\\n';\n summary += `**Cycle Timestamp:** ${new Date().toISOString()}\\n\\n`;\n \n summary += '## Results Summary\\n\\n';\n summary += `| Status | Count |\\n`;\n summary += `|--------|-------|\\n`;\n summary += `| ✅ Passed | ${passed} |\\n`;\n summary += `| ⚠️ Warnings | ${warnings} |\\n`;\n summary += `| ❌ Failed | ${failed} |\\n\\n`;\n \n summary += '## Tasks Completed\\n\\n';\n input.tasks.forEach((task: any) => {\n const status = task.status === 'success' ? '✅' : '❌';\n summary += `${status} **${task.taskTitle}** (${task.duration}ms)\\n`;\n });\n \n summary += '\\n## Validation Report\\n\\n';\n summary += validationOutput || 'No validation output available';\n \n summary += '\\n\\n## Next Cycle Recommendations\\n\\n';\n summary += 'To continue improving the codebase:\\n';\n summary += '1. Re-execute this workflow to find new issues\\n';\n summary += '2. Address any ❌ failed items first\\n';\n summary += '3. Review ⚠️ warnings for potential improvements\\n';\n summary += '4. Consider adding new analyzers for specific concerns\\n\\n';\n \n summary += '---\\n';\n summary += '*This workflow can be re-executed to continuously refine the codebase.*\\n';\n \n return summary;\n}" } ], "agentTemplates": [ { "id": "code-analyst", "name": "Code Analyst", "role": "Expert code analyst focusing on quality, patterns, and best practices", "agentType": "worker" }, { "id": "security-expert", "name": "Security Expert", "role": "Application security specialist with OWASP expertise", "agentType": "worker" }, { "id": "senior-reviewer", "name": "Senior Code Reviewer", "role": "Experienced code reviewer ensuring quality and completeness of implementations", "agentType": "qc" } ] }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/orneryd/Mimir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server