UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

76 lines 2.25 kB
/** * Machine-readable rule format utilities * Implements JSON/YAML rule serialization and validation */ import { ArchitecturalRule, ValidationResult } from './rule-generation.js'; export interface RuleSet { metadata: { version: string; name: string; description: string; created: string; lastModified: string; author: string; tags: string[]; }; rules: ArchitecturalRule[]; categories: Array<{ name: string; description: string; priority: 'low' | 'medium' | 'high' | 'critical'; ruleCount: number; }>; dependencies: Array<{ ruleId: string; dependsOn: string[]; conflictsWith: string[]; relationship: 'requires' | 'enhances' | 'conflicts' | 'supersedes'; }>; } export interface ComplianceReport { metadata: { reportId: string; generatedAt: string; projectName: string; ruleSetVersion: string; scope: string; }; summary: { overallCompliance: number; totalFiles: number; totalRules: number; totalViolations: number; riskLevel: 'low' | 'medium' | 'high' | 'critical'; }; results: ValidationResult[]; trends: Array<{ date: string; compliance: number; violations: number; }>; } /** * Create a new rule set with metadata */ export declare function createRuleSet(name: string, description: string, rules: ArchitecturalRule[], author?: string): RuleSet; /** * Serialize rule set to JSON */ export declare function serializeRuleSetToJson(ruleSet: RuleSet): string; /** * Serialize rule set to YAML */ export declare function serializeRuleSetToYaml(ruleSet: RuleSet): string; /** * Parse rule set from JSON */ export declare function parseRuleSetFromJson(jsonContent: string): RuleSet; /** * Create compliance report */ export declare function createComplianceReport(projectName: string, ruleSetVersion: string, validationResults: ValidationResult[], scope?: string): ComplianceReport; /** * Serialize compliance report to JSON */ export declare function serializeComplianceReportToJson(report: ComplianceReport): string; //# sourceMappingURL=rule-format.d.ts.map