mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
87 lines • 2.72 kB
TypeScript
/**
* Rule generation and validation utilities using prompt-driven AI analysis
* Implements intelligent architectural rule extraction and code validation
*/
export interface ArchitecturalRule {
id: string;
name: string;
description: string;
category: 'architectural' | 'technology' | 'coding' | 'process' | 'security' | 'performance';
type: 'must' | 'should' | 'may' | 'must_not' | 'should_not';
severity: 'info' | 'warning' | 'error' | 'critical';
scope: 'global' | 'module' | 'component' | 'function' | 'file';
pattern: string;
message: string;
examples: {
valid: string[];
invalid: string[];
};
sourceAdrs: string[];
evidence: string[];
automatable: boolean;
confidence: number;
tags: string[];
}
export interface RuleViolation {
ruleId: string;
ruleName: string;
severity: 'info' | 'warning' | 'error' | 'critical';
message: string;
location: {
line: number;
column: number;
endLine: number;
endColumn: number;
};
codeSnippet: string;
suggestion: string;
effort: 'low' | 'medium' | 'high';
priority: 'low' | 'medium' | 'high' | 'critical';
category: string;
}
export interface ValidationResult {
fileName: string;
validationType: string;
overallCompliance: number;
totalRulesChecked: number;
rulesViolated: number;
qualityScore: number;
violations: RuleViolation[];
compliance: Array<{
ruleId: string;
ruleName: string;
status: string;
evidence: string;
location: string;
}>;
}
/**
* Extract architectural rules from ADRs
*/
export declare function extractRulesFromAdrs(adrDirectory?: string, existingRules?: ArchitecturalRule[], projectPath?: string): Promise<{
extractionPrompt: string;
instructions: string;
actualData?: any;
}>;
/**
* Generate rules from code patterns
*/
export declare function generateRulesFromPatterns(projectPath: string, existingRules?: string[]): Promise<{
generationPrompt: string;
instructions: string;
}>;
/**
* Validate code against architectural rules
*/
export declare function validateCodeAgainstRules(filePath: string, rules: ArchitecturalRule[], validationType?: 'file' | 'function' | 'component' | 'module'): Promise<{
validationPrompt: string;
instructions: string;
}>;
/**
* Generate rule deviation report
*/
export declare function generateRuleDeviationReport(validationResults: ValidationResult[], rules: ArchitecturalRule[], reportType?: 'summary' | 'detailed' | 'trend' | 'compliance'): Promise<{
reportPrompt: string;
instructions: string;
}>;
//# sourceMappingURL=rule-generation.d.ts.map