mcp-adr-analysis-server
Version:
MCP server for analyzing Architectural Decision Records and project architecture
177 lines • 5.02 kB
TypeScript
/**
* 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