mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
80 lines • 2.53 kB
TypeScript
/**
* Rule Generation Resource - AI-powered rule generation from ADRs and patterns
* URI Pattern: adr://rule_generation
*
* Bridges to rule-generation-tool for comprehensive rule generation capabilities
*/
import { URLSearchParams } from 'url';
import { ResourceGenerationResult } from './index.js';
export interface RuleGenerationResult {
operation: 'generate' | 'validate' | 'create_set';
source: 'adrs' | 'patterns' | 'both';
timestamp: string;
status: 'success' | 'partial' | 'failed';
rules?: Array<{
id: string;
name: string;
description: string;
type: 'architectural' | 'coding' | 'security' | 'performance' | 'documentation';
severity: 'info' | 'warning' | 'error' | 'critical';
pattern?: string;
message: string;
source: 'adr' | 'inferred' | 'user_defined';
enabled: boolean;
rationale?: string;
implementationGuidance?: string;
}>;
summary?: {
totalRulesGenerated: number;
byType: Record<string, number>;
bySeverity: Record<string, number>;
bySource: Record<string, number>;
};
validation?: {
totalRules: number;
validRules: number;
invalidRules: number;
validationErrors: Array<{
rule: string;
error: string;
severity: string;
}>;
complianceScore: number;
};
ruleSet?: {
id: string;
name: string;
description: string;
rules: string[];
applicability: {
projectTypes: string[];
technologies: string[];
environments: string[];
};
priority: 'critical' | 'high' | 'medium' | 'low';
};
extraction?: {
adrsAnalyzed: number;
patternsIdentified: number;
rulesExtracted: number;
confidenceScores: Record<string, number>;
};
knowledgeEnhancement?: {
enabled: boolean;
domains: string[];
governanceKnowledge: string[];
};
analysisMetadata: {
operation: string;
timestamp: string;
confidence: number;
source: 'basic' | 'comprehensive-tool';
knowledgeEnhancement: boolean;
enhancedMode: boolean;
};
}
/**
* Generate rule generation resource
*/
export declare function generateRuleGenerationResource(_params?: Record<string, string>, searchParams?: URLSearchParams): Promise<ResourceGenerationResult>;
//# sourceMappingURL=rule-generation-resource.d.ts.map