UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

177 lines 5.02 kB
/** * Dynamic Project Health Scoring System * Aggregates scores from multiple MCP tools to provide real-time project health assessment */ export interface ProjectHealthScore { overall: number; taskCompletion: number; deploymentReadiness: number; architectureCompliance: number; securityPosture: number; codeQuality: number; confidence: number; lastUpdated: string; influencingTools: string[]; breakdown: ScoreBreakdown; } export interface ScoreBreakdown { taskCompletion: TaskCompletionScore; deploymentReadiness: DeploymentReadinessScore; architectureCompliance: ArchitectureComplianceScore; securityPosture: SecurityPostureScore; codeQuality: CodeQualityScore; } export interface TaskCompletionScore { completed: number; total: number; percentage: number; priorityWeightedScore: number; criticalTasksRemaining: number; lastUpdated: string; } export interface DeploymentReadinessScore { releaseScore: number; milestoneCompletion: number; criticalBlockers: number; warningBlockers: number; gitHealthScore: number; lastUpdated: string; } export interface ArchitectureComplianceScore { adrImplementationScore: number; mockVsProductionScore: number; environmentAlignmentScore: number; lastUpdated: string; } export interface SecurityPostureScore { secretExposureRisk: number; contentMaskingEffectiveness: number; vulnerabilityCount: number; lastUpdated: string; } export interface CodeQualityScore { ruleViolations: number; patternAdherence: number; technicalDebtScore: number; lastUpdated: string; } export interface ScoringWeights { taskCompletion: number; deploymentReadiness: number; architectureCompliance: number; securityPosture: number; codeQuality: number; } export declare class ProjectHealthScoring { private scoringCachePath; private weights; constructor(projectPath: string, weights?: Partial<ScoringWeights>); /** * Get current project health score */ getProjectHealthScore(): Promise<ProjectHealthScore>; /** * Update task completion score (called by TODO management tools) */ updateTaskCompletionScore(taskData: { completed: number; total: number; criticalTasksRemaining: number; priorityWeightedScore: number; }): Promise<void>; /** * Update deployment readiness score (called by smart_git_push) */ updateDeploymentReadinessScore(deploymentData: { releaseScore: number; milestoneCompletion: number; criticalBlockers: number; warningBlockers: number; gitHealthScore: number; }): Promise<void>; /** * Update architecture compliance score (called by compare_adr_progress) */ updateArchitectureComplianceScore(architectureData: { adrImplementationScore: number; mockVsProductionScore: number; environmentAlignmentScore: number; }): Promise<void>; /** * Update security posture score (called by content security tools) */ updateSecurityPostureScore(securityData: { secretExposureRisk: number; contentMaskingEffectiveness: number; vulnerabilityCount: number; }): Promise<void>; /** * Update code quality score (called by rule validation tools) */ updateCodeQualityScore(codeQualityData: { ruleViolations: number; patternAdherence: number; technicalDebtScore: number; }): Promise<void>; /** * Calculate overall weighted score */ private calculateOverallScore; /** * Calculate task completion score with priority weighting */ private calculateTaskCompletionScore; /** * Calculate deployment readiness score */ private calculateDeploymentReadinessScore; /** * Calculate architecture compliance score */ private calculateArchitectureComplianceScore; /** * Calculate security posture score */ private calculateSecurityPostureScore; /** * Calculate code quality score */ private calculateCodeQualityScore; /** * Calculate confidence in overall score */ private calculateConfidence; /** * Initialize default score structure */ private initializeScore; /** * Update overall score and save */ private updateOverallScore; /** * Add tool to influencing tools list */ private addInfluencingTool; /** * Load cached score from file */ private loadCachedScore; /** * Save score to cache */ private saveCachedScore; /** * Generate formatted score display for TODO.md header */ generateScoreDisplay(): Promise<string>; /** * Get emoji for score level */ private getScoreEmoji; /** * Get emoji for confidence level */ private getConfidenceEmoji; } //# sourceMappingURL=project-health-scoring.d.ts.map