332 lines
9.8 KiB
JSON
Executable File
332 lines
9.8 KiB
JSON
Executable File
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "MarketAlly Refactoring Configuration",
|
|
"description": "Configuration schema for MarketAlly AI Plugin Refactoring tools",
|
|
"type": "object",
|
|
"properties": {
|
|
"codeAnalysis": {
|
|
"type": "object",
|
|
"description": "Configuration for code analysis operations",
|
|
"properties": {
|
|
"complexityThreshold": {
|
|
"type": "integer",
|
|
"description": "Maximum allowed cyclomatic complexity",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"default": 10
|
|
},
|
|
"maxMethodLength": {
|
|
"type": "integer",
|
|
"description": "Maximum allowed method length in lines",
|
|
"minimum": 5,
|
|
"maximum": 200,
|
|
"default": 50
|
|
},
|
|
"maxClassSize": {
|
|
"type": "integer",
|
|
"description": "Maximum allowed class size in lines",
|
|
"minimum": 50,
|
|
"maximum": 2000,
|
|
"default": 500
|
|
},
|
|
"analysisDepth": {
|
|
"type": "string",
|
|
"description": "Depth of code analysis",
|
|
"enum": ["basic", "detailed", "comprehensive"],
|
|
"default": "detailed"
|
|
},
|
|
"enabledRules": {
|
|
"type": "array",
|
|
"description": "List of enabled analysis rules",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"long-method",
|
|
"god-class",
|
|
"duplicate-code",
|
|
"complex-method",
|
|
"long-parameter-list",
|
|
"feature-envy",
|
|
"data-class",
|
|
"refused-bequest",
|
|
"inappropriate-intimacy",
|
|
"message-chains",
|
|
"middle-man",
|
|
"divergent-change",
|
|
"shotgun-surgery"
|
|
]
|
|
},
|
|
"default": ["long-method", "god-class", "duplicate-code"]
|
|
},
|
|
"disabledRules": {
|
|
"type": "array",
|
|
"description": "List of disabled analysis rules",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
},
|
|
"includeComplexity": {
|
|
"type": "boolean",
|
|
"description": "Include complexity metrics in analysis",
|
|
"default": true
|
|
},
|
|
"includeCodeSmells": {
|
|
"type": "boolean",
|
|
"description": "Include code smell detection",
|
|
"default": true
|
|
},
|
|
"includeSuggestions": {
|
|
"type": "boolean",
|
|
"description": "Include refactoring suggestions",
|
|
"default": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"formatting": {
|
|
"type": "object",
|
|
"description": "Configuration for code formatting",
|
|
"properties": {
|
|
"style": {
|
|
"type": "string",
|
|
"description": "Code formatting style",
|
|
"enum": ["microsoft", "allman", "k&r", "google"],
|
|
"default": "microsoft"
|
|
},
|
|
"indentationSize": {
|
|
"type": "integer",
|
|
"description": "Number of spaces for indentation",
|
|
"minimum": 2,
|
|
"maximum": 8,
|
|
"default": 4
|
|
},
|
|
"maxLineLength": {
|
|
"type": "integer",
|
|
"description": "Maximum line length",
|
|
"minimum": 80,
|
|
"maximum": 200,
|
|
"default": 120
|
|
},
|
|
"organizeUsings": {
|
|
"type": "boolean",
|
|
"description": "Organize using statements",
|
|
"default": true
|
|
},
|
|
"removeUnnecessary": {
|
|
"type": "boolean",
|
|
"description": "Remove unnecessary code elements",
|
|
"default": true
|
|
},
|
|
"fixIndentation": {
|
|
"type": "boolean",
|
|
"description": "Fix indentation issues",
|
|
"default": true
|
|
},
|
|
"createBackup": {
|
|
"type": "boolean",
|
|
"description": "Create backup files before formatting",
|
|
"default": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"documentation": {
|
|
"type": "object",
|
|
"description": "Configuration for documentation generation",
|
|
"properties": {
|
|
"style": {
|
|
"type": "string",
|
|
"description": "Documentation generation style",
|
|
"enum": ["intelligent", "comprehensive", "basic", "minimal"],
|
|
"default": "intelligent"
|
|
},
|
|
"includeExamples": {
|
|
"type": "boolean",
|
|
"description": "Include code examples in documentation",
|
|
"default": false
|
|
},
|
|
"includeSeeAlso": {
|
|
"type": "boolean",
|
|
"description": "Include see-also references",
|
|
"default": false
|
|
},
|
|
"apiDocFormat": {
|
|
"type": "boolean",
|
|
"description": "Generate API documentation format",
|
|
"default": false
|
|
},
|
|
"documentationScope": {
|
|
"type": "string",
|
|
"description": "Scope of members to document",
|
|
"enum": ["public", "protected", "internal", "all"],
|
|
"default": "public"
|
|
},
|
|
"generateFileHeaders": {
|
|
"type": "boolean",
|
|
"description": "Generate file header comments",
|
|
"default": false
|
|
},
|
|
"fileHeaderTemplate": {
|
|
"type": "string",
|
|
"description": "Template for file header comments",
|
|
"default": ""
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"naming": {
|
|
"type": "object",
|
|
"description": "Configuration for naming convention analysis",
|
|
"properties": {
|
|
"convention": {
|
|
"type": "string",
|
|
"description": "Naming convention to enforce",
|
|
"enum": ["pascal", "camel", "snake", "kebab"],
|
|
"default": "pascal"
|
|
},
|
|
"checkMeaningfulness": {
|
|
"type": "boolean",
|
|
"description": "Check for meaningful names",
|
|
"default": true
|
|
},
|
|
"aiSuggestions": {
|
|
"type": "boolean",
|
|
"description": "Use AI for naming suggestions",
|
|
"default": true
|
|
},
|
|
"minimumNameLength": {
|
|
"type": "integer",
|
|
"description": "Minimum length for meaningful names",
|
|
"minimum": 1,
|
|
"maximum": 10,
|
|
"default": 3
|
|
},
|
|
"checkAbbreviations": {
|
|
"type": "boolean",
|
|
"description": "Check for and suggest expanding abbreviations",
|
|
"default": true
|
|
},
|
|
"approvedAbbreviations": {
|
|
"type": "array",
|
|
"description": "List of approved abbreviations",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": ["id", "url", "uri", "html", "xml", "json"]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"exclusions": {
|
|
"type": "object",
|
|
"description": "Files and patterns to exclude from processing",
|
|
"properties": {
|
|
"files": {
|
|
"type": "array",
|
|
"description": "File patterns to exclude",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": ["*.generated.cs", "*.designer.cs", "AssemblyInfo.cs"]
|
|
},
|
|
"directories": {
|
|
"type": "array",
|
|
"description": "Directory patterns to exclude",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": ["bin/", "obj/", "packages/", ".git/", ".vs/"]
|
|
},
|
|
"patterns": {
|
|
"type": "array",
|
|
"description": "General patterns to exclude",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": ["*.Test.*", "*.Tests.*"]
|
|
},
|
|
"namespaces": {
|
|
"type": "array",
|
|
"description": "Namespaces to exclude",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"performance": {
|
|
"type": "object",
|
|
"description": "Performance and resource usage configuration",
|
|
"properties": {
|
|
"maxConcurrency": {
|
|
"type": "integer",
|
|
"description": "Maximum number of concurrent operations",
|
|
"minimum": 1,
|
|
"maximum": 16,
|
|
"default": 3
|
|
},
|
|
"maxFilesPerProject": {
|
|
"type": "integer",
|
|
"description": "Maximum files to process per project",
|
|
"minimum": 10,
|
|
"maximum": 1000,
|
|
"default": 100
|
|
},
|
|
"cacheExpirationMinutes": {
|
|
"type": "integer",
|
|
"description": "Cache expiration time in minutes",
|
|
"minimum": 5,
|
|
"maximum": 240,
|
|
"default": 30
|
|
},
|
|
"enableMemoryOptimization": {
|
|
"type": "boolean",
|
|
"description": "Enable memory optimization features",
|
|
"default": true
|
|
},
|
|
"enableProgressReporting": {
|
|
"type": "boolean",
|
|
"description": "Enable progress reporting during operations",
|
|
"default": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"git": {
|
|
"type": "object",
|
|
"description": "Git integration configuration",
|
|
"properties": {
|
|
"createBranch": {
|
|
"type": "boolean",
|
|
"description": "Create new branch for refactoring operations",
|
|
"default": true
|
|
},
|
|
"branchPrefix": {
|
|
"type": "string",
|
|
"description": "Prefix for refactoring branch names",
|
|
"default": "refactor/"
|
|
},
|
|
"autoCommit": {
|
|
"type": "boolean",
|
|
"description": "Automatically commit changes",
|
|
"default": false
|
|
},
|
|
"commitMessageTemplate": {
|
|
"type": "string",
|
|
"description": "Template for commit messages",
|
|
"default": "Automated refactoring: {operations}"
|
|
},
|
|
"respectGitIgnore": {
|
|
"type": "boolean",
|
|
"description": "Respect .gitignore file patterns",
|
|
"default": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
} |