mcp-adr-analysis-server 2.0.9 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +1 -1
  2. package/dist/src/index.d.ts +8 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +573 -348
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  7. package/dist/src/prompts/adr-suggestion-prompts.js +2 -0
  8. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  9. package/dist/src/resources/index.d.ts.map +1 -1
  10. package/dist/src/resources/index.js +71 -1
  11. package/dist/src/resources/index.js.map +1 -1
  12. package/dist/src/tools/adr-suggestion-tool.d.ts +16 -0
  13. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  14. package/dist/src/tools/adr-suggestion-tool.js +55 -2
  15. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  16. package/dist/src/tools/smart-git-push-tool.d.ts +21 -1
  17. package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
  18. package/dist/src/tools/smart-git-push-tool.js +181 -28
  19. package/dist/src/tools/smart-git-push-tool.js.map +1 -1
  20. package/dist/src/tools/smart-score-tool.d.ts +173 -0
  21. package/dist/src/tools/smart-score-tool.d.ts.map +1 -0
  22. package/dist/src/tools/smart-score-tool.js +681 -0
  23. package/dist/src/tools/smart-score-tool.js.map +1 -0
  24. package/dist/src/tools/todo-management-tool-v2.d.ts +329 -0
  25. package/dist/src/tools/todo-management-tool-v2.d.ts.map +1 -0
  26. package/dist/src/tools/todo-management-tool-v2.js +644 -0
  27. package/dist/src/tools/todo-management-tool-v2.js.map +1 -0
  28. package/dist/src/tools/tool-chain-orchestrator.d.ts +126 -0
  29. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -0
  30. package/dist/src/tools/tool-chain-orchestrator.js +550 -0
  31. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -0
  32. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +150 -0
  33. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -0
  34. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +520 -0
  35. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -0
  36. package/dist/src/types/conversation-context.d.ts +6 -0
  37. package/dist/src/types/conversation-context.d.ts.map +1 -1
  38. package/dist/src/types/conversation-context.js +9 -1
  39. package/dist/src/types/conversation-context.js.map +1 -1
  40. package/dist/src/types/knowledge-graph-schemas.d.ts +773 -0
  41. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -0
  42. package/dist/src/types/knowledge-graph-schemas.js +87 -0
  43. package/dist/src/types/knowledge-graph-schemas.js.map +1 -0
  44. package/dist/src/types/todo-json-schemas.d.ts +663 -0
  45. package/dist/src/types/todo-json-schemas.d.ts.map +1 -0
  46. package/dist/src/types/todo-json-schemas.js +113 -0
  47. package/dist/src/types/todo-json-schemas.js.map +1 -0
  48. package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -1
  49. package/dist/src/utils/chain-of-thought-template.js.map +1 -1
  50. package/dist/src/utils/json-safe.d.ts +38 -0
  51. package/dist/src/utils/json-safe.d.ts.map +1 -0
  52. package/dist/src/utils/json-safe.js +86 -0
  53. package/dist/src/utils/json-safe.js.map +1 -0
  54. package/dist/src/utils/knowledge-graph-manager.d.ts +65 -0
  55. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -0
  56. package/dist/src/utils/knowledge-graph-manager.js +358 -0
  57. package/dist/src/utils/knowledge-graph-manager.js.map +1 -0
  58. package/dist/src/utils/mcp-response-validator.d.ts +30 -0
  59. package/dist/src/utils/mcp-response-validator.d.ts.map +1 -0
  60. package/dist/src/utils/mcp-response-validator.js +197 -0
  61. package/dist/src/utils/mcp-response-validator.js.map +1 -0
  62. package/dist/src/utils/project-health-scoring.d.ts +177 -0
  63. package/dist/src/utils/project-health-scoring.d.ts.map +1 -0
  64. package/dist/src/utils/project-health-scoring.js +370 -0
  65. package/dist/src/utils/project-health-scoring.js.map +1 -0
  66. package/dist/src/utils/release-readiness-detector.d.ts +2 -0
  67. package/dist/src/utils/release-readiness-detector.d.ts.map +1 -1
  68. package/dist/src/utils/release-readiness-detector.js +2 -0
  69. package/dist/src/utils/release-readiness-detector.js.map +1 -1
  70. package/dist/src/utils/todo-file-watcher.d.ts +26 -0
  71. package/dist/src/utils/todo-file-watcher.d.ts.map +1 -0
  72. package/dist/src/utils/todo-file-watcher.js +163 -0
  73. package/dist/src/utils/todo-file-watcher.js.map +1 -0
  74. package/dist/src/utils/todo-json-manager.d.ts +71 -0
  75. package/dist/src/utils/todo-json-manager.d.ts.map +1 -0
  76. package/dist/src/utils/todo-json-manager.js +394 -0
  77. package/dist/src/utils/todo-json-manager.js.map +1 -0
  78. package/dist/src/utils/todo-markdown-converter.d.ts +16 -0
  79. package/dist/src/utils/todo-markdown-converter.d.ts.map +1 -0
  80. package/dist/src/utils/todo-markdown-converter.js +362 -0
  81. package/dist/src/utils/todo-markdown-converter.js.map +1 -0
  82. package/dist/src/utils/todo-migration.d.ts +47 -0
  83. package/dist/src/utils/todo-migration.d.ts.map +1 -0
  84. package/dist/src/utils/todo-migration.js +261 -0
  85. package/dist/src/utils/todo-migration.js.map +1 -0
  86. package/package.json +1 -1
  87. package/dist/src/tools/todo-management-tool.d.ts +0 -166
  88. package/dist/src/tools/todo-management-tool.d.ts.map +0 -1
  89. package/dist/src/tools/todo-management-tool.js +0 -472
  90. package/dist/src/tools/todo-management-tool.js.map +0 -1
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Dynamic Project Health Scoring System
3
+ * Aggregates scores from multiple MCP tools to provide real-time project health assessment
4
+ */
5
+ export interface ProjectHealthScore {
6
+ overall: number;
7
+ taskCompletion: number;
8
+ deploymentReadiness: number;
9
+ architectureCompliance: number;
10
+ securityPosture: number;
11
+ codeQuality: number;
12
+ confidence: number;
13
+ lastUpdated: string;
14
+ influencingTools: string[];
15
+ breakdown: ScoreBreakdown;
16
+ }
17
+ export interface ScoreBreakdown {
18
+ taskCompletion: TaskCompletionScore;
19
+ deploymentReadiness: DeploymentReadinessScore;
20
+ architectureCompliance: ArchitectureComplianceScore;
21
+ securityPosture: SecurityPostureScore;
22
+ codeQuality: CodeQualityScore;
23
+ }
24
+ export interface TaskCompletionScore {
25
+ completed: number;
26
+ total: number;
27
+ percentage: number;
28
+ priorityWeightedScore: number;
29
+ criticalTasksRemaining: number;
30
+ lastUpdated: string;
31
+ }
32
+ export interface DeploymentReadinessScore {
33
+ releaseScore: number;
34
+ milestoneCompletion: number;
35
+ criticalBlockers: number;
36
+ warningBlockers: number;
37
+ gitHealthScore: number;
38
+ lastUpdated: string;
39
+ }
40
+ export interface ArchitectureComplianceScore {
41
+ adrImplementationScore: number;
42
+ mockVsProductionScore: number;
43
+ environmentAlignmentScore: number;
44
+ lastUpdated: string;
45
+ }
46
+ export interface SecurityPostureScore {
47
+ secretExposureRisk: number;
48
+ contentMaskingEffectiveness: number;
49
+ vulnerabilityCount: number;
50
+ lastUpdated: string;
51
+ }
52
+ export interface CodeQualityScore {
53
+ ruleViolations: number;
54
+ patternAdherence: number;
55
+ technicalDebtScore: number;
56
+ lastUpdated: string;
57
+ }
58
+ export interface ScoringWeights {
59
+ taskCompletion: number;
60
+ deploymentReadiness: number;
61
+ architectureCompliance: number;
62
+ securityPosture: number;
63
+ codeQuality: number;
64
+ }
65
+ export declare class ProjectHealthScoring {
66
+ private scoringCachePath;
67
+ private weights;
68
+ constructor(projectPath: string, weights?: Partial<ScoringWeights>);
69
+ /**
70
+ * Get current project health score
71
+ */
72
+ getProjectHealthScore(): Promise<ProjectHealthScore>;
73
+ /**
74
+ * Update task completion score (called by TODO management tools)
75
+ */
76
+ updateTaskCompletionScore(taskData: {
77
+ completed: number;
78
+ total: number;
79
+ criticalTasksRemaining: number;
80
+ priorityWeightedScore: number;
81
+ }): Promise<void>;
82
+ /**
83
+ * Update deployment readiness score (called by smart_git_push)
84
+ */
85
+ updateDeploymentReadinessScore(deploymentData: {
86
+ releaseScore: number;
87
+ milestoneCompletion: number;
88
+ criticalBlockers: number;
89
+ warningBlockers: number;
90
+ gitHealthScore: number;
91
+ }): Promise<void>;
92
+ /**
93
+ * Update architecture compliance score (called by compare_adr_progress)
94
+ */
95
+ updateArchitectureComplianceScore(architectureData: {
96
+ adrImplementationScore: number;
97
+ mockVsProductionScore: number;
98
+ environmentAlignmentScore: number;
99
+ }): Promise<void>;
100
+ /**
101
+ * Update security posture score (called by content security tools)
102
+ */
103
+ updateSecurityPostureScore(securityData: {
104
+ secretExposureRisk: number;
105
+ contentMaskingEffectiveness: number;
106
+ vulnerabilityCount: number;
107
+ }): Promise<void>;
108
+ /**
109
+ * Update code quality score (called by rule validation tools)
110
+ */
111
+ updateCodeQualityScore(codeQualityData: {
112
+ ruleViolations: number;
113
+ patternAdherence: number;
114
+ technicalDebtScore: number;
115
+ }): Promise<void>;
116
+ /**
117
+ * Calculate overall weighted score
118
+ */
119
+ private calculateOverallScore;
120
+ /**
121
+ * Calculate task completion score with priority weighting
122
+ */
123
+ private calculateTaskCompletionScore;
124
+ /**
125
+ * Calculate deployment readiness score
126
+ */
127
+ private calculateDeploymentReadinessScore;
128
+ /**
129
+ * Calculate architecture compliance score
130
+ */
131
+ private calculateArchitectureComplianceScore;
132
+ /**
133
+ * Calculate security posture score
134
+ */
135
+ private calculateSecurityPostureScore;
136
+ /**
137
+ * Calculate code quality score
138
+ */
139
+ private calculateCodeQualityScore;
140
+ /**
141
+ * Calculate confidence in overall score
142
+ */
143
+ private calculateConfidence;
144
+ /**
145
+ * Initialize default score structure
146
+ */
147
+ private initializeScore;
148
+ /**
149
+ * Update overall score and save
150
+ */
151
+ private updateOverallScore;
152
+ /**
153
+ * Add tool to influencing tools list
154
+ */
155
+ private addInfluencingTool;
156
+ /**
157
+ * Load cached score from file
158
+ */
159
+ private loadCachedScore;
160
+ /**
161
+ * Save score to cache
162
+ */
163
+ private saveCachedScore;
164
+ /**
165
+ * Generate formatted score display for TODO.md header
166
+ */
167
+ generateScoreDisplay(): Promise<string>;
168
+ /**
169
+ * Get emoji for score level
170
+ */
171
+ private getScoreEmoji;
172
+ /**
173
+ * Get emoji for confidence level
174
+ */
175
+ private getConfidenceEmoji;
176
+ }
177
+ //# sourceMappingURL=project-health-scoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-health-scoring.d.ts","sourceRoot":"","sources":["../../../src/utils/project-health-scoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Dynamic Project Health Scoring System
3
+ * Aggregates scores from multiple MCP tools to provide real-time project health assessment
4
+ */
5
+ import { writeFileSync, readFileSync, existsSync, mkdirSync } from 'fs';
6
+ import { join, dirname } from 'path';
7
+ export class ProjectHealthScoring {
8
+ scoringCachePath;
9
+ weights;
10
+ constructor(projectPath, weights) {
11
+ this.scoringCachePath = join(projectPath, '.mcp-adr-cache', 'project-health-scores.json');
12
+ this.weights = {
13
+ taskCompletion: 0.25,
14
+ deploymentReadiness: 0.30,
15
+ architectureCompliance: 0.20,
16
+ securityPosture: 0.15,
17
+ codeQuality: 0.10,
18
+ ...weights
19
+ };
20
+ }
21
+ /**
22
+ * Get current project health score
23
+ */
24
+ async getProjectHealthScore() {
25
+ let currentScore = this.loadCachedScore();
26
+ if (!currentScore) {
27
+ currentScore = this.initializeScore();
28
+ }
29
+ // Recalculate overall score with current weights
30
+ currentScore.overall = this.calculateOverallScore(currentScore.breakdown);
31
+ currentScore.confidence = this.calculateConfidence(currentScore.breakdown);
32
+ currentScore.lastUpdated = new Date().toISOString();
33
+ this.saveCachedScore(currentScore);
34
+ return currentScore;
35
+ }
36
+ /**
37
+ * Update task completion score (called by TODO management tools)
38
+ */
39
+ async updateTaskCompletionScore(taskData) {
40
+ const currentScore = await this.getProjectHealthScore();
41
+ currentScore.breakdown.taskCompletion = {
42
+ completed: taskData.completed,
43
+ total: taskData.total,
44
+ percentage: taskData.total > 0 ? (taskData.completed / taskData.total) * 100 : 100,
45
+ priorityWeightedScore: taskData.priorityWeightedScore,
46
+ criticalTasksRemaining: taskData.criticalTasksRemaining,
47
+ lastUpdated: new Date().toISOString()
48
+ };
49
+ currentScore.taskCompletion = this.calculateTaskCompletionScore(currentScore.breakdown.taskCompletion);
50
+ this.addInfluencingTool(currentScore, 'manage_todo');
51
+ await this.updateOverallScore(currentScore);
52
+ }
53
+ /**
54
+ * Update deployment readiness score (called by smart_git_push)
55
+ */
56
+ async updateDeploymentReadinessScore(deploymentData) {
57
+ const currentScore = await this.getProjectHealthScore();
58
+ currentScore.breakdown.deploymentReadiness = {
59
+ releaseScore: deploymentData.releaseScore,
60
+ milestoneCompletion: deploymentData.milestoneCompletion,
61
+ criticalBlockers: deploymentData.criticalBlockers,
62
+ warningBlockers: deploymentData.warningBlockers,
63
+ gitHealthScore: deploymentData.gitHealthScore,
64
+ lastUpdated: new Date().toISOString()
65
+ };
66
+ currentScore.deploymentReadiness = this.calculateDeploymentReadinessScore(currentScore.breakdown.deploymentReadiness);
67
+ this.addInfluencingTool(currentScore, 'smart_git_push');
68
+ await this.updateOverallScore(currentScore);
69
+ }
70
+ /**
71
+ * Update architecture compliance score (called by compare_adr_progress)
72
+ */
73
+ async updateArchitectureComplianceScore(architectureData) {
74
+ const currentScore = await this.getProjectHealthScore();
75
+ currentScore.breakdown.architectureCompliance = {
76
+ adrImplementationScore: architectureData.adrImplementationScore,
77
+ mockVsProductionScore: architectureData.mockVsProductionScore,
78
+ environmentAlignmentScore: architectureData.environmentAlignmentScore,
79
+ lastUpdated: new Date().toISOString()
80
+ };
81
+ currentScore.architectureCompliance = this.calculateArchitectureComplianceScore(currentScore.breakdown.architectureCompliance);
82
+ this.addInfluencingTool(currentScore, 'compare_adr_progress');
83
+ await this.updateOverallScore(currentScore);
84
+ }
85
+ /**
86
+ * Update security posture score (called by content security tools)
87
+ */
88
+ async updateSecurityPostureScore(securityData) {
89
+ const currentScore = await this.getProjectHealthScore();
90
+ currentScore.breakdown.securityPosture = {
91
+ secretExposureRisk: securityData.secretExposureRisk,
92
+ contentMaskingEffectiveness: securityData.contentMaskingEffectiveness,
93
+ vulnerabilityCount: securityData.vulnerabilityCount,
94
+ lastUpdated: new Date().toISOString()
95
+ };
96
+ currentScore.securityPosture = this.calculateSecurityPostureScore(currentScore.breakdown.securityPosture);
97
+ this.addInfluencingTool(currentScore, 'analyze_content_security');
98
+ await this.updateOverallScore(currentScore);
99
+ }
100
+ /**
101
+ * Update code quality score (called by rule validation tools)
102
+ */
103
+ async updateCodeQualityScore(codeQualityData) {
104
+ const currentScore = await this.getProjectHealthScore();
105
+ currentScore.breakdown.codeQuality = {
106
+ ruleViolations: codeQualityData.ruleViolations,
107
+ patternAdherence: codeQualityData.patternAdherence,
108
+ technicalDebtScore: codeQualityData.technicalDebtScore,
109
+ lastUpdated: new Date().toISOString()
110
+ };
111
+ currentScore.codeQuality = this.calculateCodeQualityScore(currentScore.breakdown.codeQuality);
112
+ this.addInfluencingTool(currentScore, 'validate_rules');
113
+ await this.updateOverallScore(currentScore);
114
+ }
115
+ /**
116
+ * Calculate overall weighted score
117
+ */
118
+ calculateOverallScore(breakdown) {
119
+ const scores = {
120
+ taskCompletion: this.calculateTaskCompletionScore(breakdown.taskCompletion),
121
+ deploymentReadiness: this.calculateDeploymentReadinessScore(breakdown.deploymentReadiness),
122
+ architectureCompliance: this.calculateArchitectureComplianceScore(breakdown.architectureCompliance),
123
+ securityPosture: this.calculateSecurityPostureScore(breakdown.securityPosture),
124
+ codeQuality: this.calculateCodeQualityScore(breakdown.codeQuality)
125
+ };
126
+ return Math.round(scores.taskCompletion * this.weights.taskCompletion +
127
+ scores.deploymentReadiness * this.weights.deploymentReadiness +
128
+ scores.architectureCompliance * this.weights.architectureCompliance +
129
+ scores.securityPosture * this.weights.securityPosture +
130
+ scores.codeQuality * this.weights.codeQuality);
131
+ }
132
+ /**
133
+ * Calculate task completion score with priority weighting
134
+ */
135
+ calculateTaskCompletionScore(taskData) {
136
+ if (taskData.total === 0)
137
+ return 100;
138
+ // Base completion score
139
+ let score = taskData.percentage;
140
+ // Priority weighting boost
141
+ if (taskData.priorityWeightedScore > taskData.percentage) {
142
+ score = Math.min(100, score + (taskData.priorityWeightedScore - taskData.percentage) * 0.3);
143
+ }
144
+ // Critical tasks penalty
145
+ if (taskData.criticalTasksRemaining > 0) {
146
+ score = Math.max(0, score - (taskData.criticalTasksRemaining * 15));
147
+ }
148
+ return Math.round(score);
149
+ }
150
+ /**
151
+ * Calculate deployment readiness score
152
+ */
153
+ calculateDeploymentReadinessScore(deploymentData) {
154
+ let score = deploymentData.releaseScore * 100;
155
+ // Milestone completion factor
156
+ score = (score + deploymentData.milestoneCompletion * 100) / 2;
157
+ // Critical blockers are severe penalties
158
+ score = Math.max(0, score - (deploymentData.criticalBlockers * 25));
159
+ // Warning blockers are minor penalties
160
+ score = Math.max(0, score - (deploymentData.warningBlockers * 5));
161
+ // Git health factor
162
+ score = (score + deploymentData.gitHealthScore) / 2;
163
+ return Math.round(score);
164
+ }
165
+ /**
166
+ * Calculate architecture compliance score
167
+ */
168
+ calculateArchitectureComplianceScore(architectureData) {
169
+ return Math.round((architectureData.adrImplementationScore * 0.4 +
170
+ architectureData.mockVsProductionScore * 0.3 +
171
+ architectureData.environmentAlignmentScore * 0.3));
172
+ }
173
+ /**
174
+ * Calculate security posture score
175
+ */
176
+ calculateSecurityPostureScore(securityData) {
177
+ let score = 100;
178
+ // Secret exposure risk (inverted - higher risk = lower score)
179
+ score -= securityData.secretExposureRisk;
180
+ // Content masking effectiveness
181
+ score = (score + securityData.contentMaskingEffectiveness) / 2;
182
+ // Vulnerability penalty
183
+ score = Math.max(0, score - (securityData.vulnerabilityCount * 10));
184
+ return Math.round(Math.max(0, score));
185
+ }
186
+ /**
187
+ * Calculate code quality score
188
+ */
189
+ calculateCodeQualityScore(codeQualityData) {
190
+ let score = codeQualityData.patternAdherence;
191
+ // Rule violations penalty
192
+ score = Math.max(0, score - (codeQualityData.ruleViolations * 5));
193
+ // Technical debt factor
194
+ score = (score + codeQualityData.technicalDebtScore) / 2;
195
+ return Math.round(score);
196
+ }
197
+ /**
198
+ * Calculate confidence in overall score
199
+ */
200
+ calculateConfidence(breakdown) {
201
+ const now = new Date();
202
+ const maxAgeMs = 24 * 60 * 60 * 1000; // 24 hours
203
+ let confidence = 100;
204
+ // Reduce confidence based on data age
205
+ Object.values(breakdown).forEach(scoreData => {
206
+ const age = now.getTime() - new Date(scoreData.lastUpdated).getTime();
207
+ if (age > maxAgeMs) {
208
+ confidence -= 10;
209
+ }
210
+ });
211
+ return Math.max(0, confidence);
212
+ }
213
+ /**
214
+ * Initialize default score structure
215
+ */
216
+ initializeScore() {
217
+ const now = new Date().toISOString();
218
+ return {
219
+ overall: 50,
220
+ taskCompletion: 50,
221
+ deploymentReadiness: 50,
222
+ architectureCompliance: 50,
223
+ securityPosture: 50,
224
+ codeQuality: 50,
225
+ confidence: 0,
226
+ lastUpdated: now,
227
+ influencingTools: [],
228
+ breakdown: {
229
+ taskCompletion: {
230
+ completed: 0,
231
+ total: 0,
232
+ percentage: 0,
233
+ priorityWeightedScore: 0,
234
+ criticalTasksRemaining: 0,
235
+ lastUpdated: now
236
+ },
237
+ deploymentReadiness: {
238
+ releaseScore: 0.5,
239
+ milestoneCompletion: 0.5,
240
+ criticalBlockers: 0,
241
+ warningBlockers: 0,
242
+ gitHealthScore: 50,
243
+ lastUpdated: now
244
+ },
245
+ architectureCompliance: {
246
+ adrImplementationScore: 50,
247
+ mockVsProductionScore: 50,
248
+ environmentAlignmentScore: 50,
249
+ lastUpdated: now
250
+ },
251
+ securityPosture: {
252
+ secretExposureRisk: 0,
253
+ contentMaskingEffectiveness: 80,
254
+ vulnerabilityCount: 0,
255
+ lastUpdated: now
256
+ },
257
+ codeQuality: {
258
+ ruleViolations: 0,
259
+ patternAdherence: 70,
260
+ technicalDebtScore: 60,
261
+ lastUpdated: now
262
+ }
263
+ }
264
+ };
265
+ }
266
+ /**
267
+ * Update overall score and save
268
+ */
269
+ async updateOverallScore(score) {
270
+ score.overall = this.calculateOverallScore(score.breakdown);
271
+ score.confidence = this.calculateConfidence(score.breakdown);
272
+ score.lastUpdated = new Date().toISOString();
273
+ this.saveCachedScore(score);
274
+ }
275
+ /**
276
+ * Add tool to influencing tools list
277
+ */
278
+ addInfluencingTool(score, toolName) {
279
+ if (!score.influencingTools.includes(toolName)) {
280
+ score.influencingTools.push(toolName);
281
+ }
282
+ }
283
+ /**
284
+ * Load cached score from file
285
+ */
286
+ loadCachedScore() {
287
+ try {
288
+ if (existsSync(this.scoringCachePath)) {
289
+ const cached = JSON.parse(readFileSync(this.scoringCachePath, 'utf-8'));
290
+ return cached;
291
+ }
292
+ }
293
+ catch (error) {
294
+ // Ignore cache errors
295
+ }
296
+ return null;
297
+ }
298
+ /**
299
+ * Save score to cache
300
+ */
301
+ saveCachedScore(score) {
302
+ try {
303
+ // Ensure cache directory exists
304
+ mkdirSync(dirname(this.scoringCachePath), { recursive: true });
305
+ writeFileSync(this.scoringCachePath, JSON.stringify(score, null, 2));
306
+ console.log(`✅ ProjectHealthScoring: Successfully saved to ${this.scoringCachePath}`);
307
+ }
308
+ catch (error) {
309
+ // Log the error instead of silently ignoring it
310
+ console.error(`❌ ProjectHealthScoring: Failed to save to ${this.scoringCachePath}:`, error);
311
+ }
312
+ }
313
+ /**
314
+ * Generate formatted score display for TODO.md header
315
+ */
316
+ async generateScoreDisplay() {
317
+ const score = await this.getProjectHealthScore();
318
+ const overallEmoji = this.getScoreEmoji(score.overall);
319
+ const confidenceEmoji = this.getConfidenceEmoji(score.confidence);
320
+ return `# Project Health Dashboard
321
+
322
+ ## 🎯 Overall Project Health: ${overallEmoji} ${score.overall}% ${confidenceEmoji}
323
+
324
+ ### 📊 Health Metrics
325
+ - 📋 **Task Completion**: ${this.getScoreEmoji(score.taskCompletion)} ${score.taskCompletion}%
326
+ - 🚀 **Deployment Readiness**: ${this.getScoreEmoji(score.deploymentReadiness)} ${score.deploymentReadiness}%
327
+ - 🏗️ **Architecture Compliance**: ${this.getScoreEmoji(score.architectureCompliance)} ${score.architectureCompliance}%
328
+ - 🔒 **Security Posture**: ${this.getScoreEmoji(score.securityPosture)} ${score.securityPosture}%
329
+ - 🛠️ **Code Quality**: ${this.getScoreEmoji(score.codeQuality)} ${score.codeQuality}%
330
+
331
+ ### 🔄 Data Freshness
332
+ - **Last Updated**: ${new Date(score.lastUpdated).toLocaleString()}
333
+ - **Confidence**: ${score.confidence}%
334
+ - **Contributing Tools**: ${score.influencingTools.join(', ') || 'None'}
335
+
336
+ ### 📈 Detailed Breakdown
337
+ - **Tasks**: ${score.breakdown.taskCompletion.completed}/${score.breakdown.taskCompletion.total} completed, ${score.breakdown.taskCompletion.criticalTasksRemaining} critical remaining
338
+ - **Deployment**: ${score.breakdown.deploymentReadiness.criticalBlockers} critical blockers, ${score.breakdown.deploymentReadiness.warningBlockers} warnings
339
+ - **Security**: ${score.breakdown.securityPosture.vulnerabilityCount} vulnerabilities, ${score.breakdown.securityPosture.contentMaskingEffectiveness}% masking effectiveness
340
+ - **Code Quality**: ${score.breakdown.codeQuality.ruleViolations} rule violations, ${score.breakdown.codeQuality.patternAdherence}% pattern adherence
341
+
342
+ ---
343
+ `;
344
+ }
345
+ /**
346
+ * Get emoji for score level
347
+ */
348
+ getScoreEmoji(score) {
349
+ if (score >= 90)
350
+ return '🟢';
351
+ if (score >= 75)
352
+ return '🟡';
353
+ if (score >= 60)
354
+ return '🟠';
355
+ return '🔴';
356
+ }
357
+ /**
358
+ * Get emoji for confidence level
359
+ */
360
+ getConfidenceEmoji(confidence) {
361
+ if (confidence >= 90)
362
+ return '💎';
363
+ if (confidence >= 75)
364
+ return '✨';
365
+ if (confidence >= 60)
366
+ return '⚡';
367
+ return '⚠️';
368
+ }
369
+ }
370
+ //# sourceMappingURL=project-health-scoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-health-scoring.js","sourceRoot":"","sources":["../../../src/utils/project-health-scoring.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
  *
4
4
  * Analyzes TODO.md, project state, and commit patterns to determine
5
5
  * if a release is ready, preventing endless development cycles
6
+ *
7
+ * Supports both TODO.md (standard) and todo.md (legacy) for compatibility
6
8
  */
7
9
  export interface ReleaseReadinessResult {
8
10
  isReady: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"release-readiness-detector.d.ts","sourceRoot":"","sources":["../../../src/utils/release-readiness-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,CAAC;IACvG,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAqEjC;AA0ZD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC7C,OAAO,CAAC,sBAAsB,CAAC,CA6BjC"}
1
+ {"version":3,"file":"release-readiness-detector.d.ts","sourceRoot":"","sources":["../../../src/utils/release-readiness-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,CAAC;IACvG,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAqEjC;AA0ZD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC7C,OAAO,CAAC,sBAAsB,CAAC,CA6BjC"}
@@ -3,6 +3,8 @@
3
3
  *
4
4
  * Analyzes TODO.md, project state, and commit patterns to determine
5
5
  * if a release is ready, preventing endless development cycles
6
+ *
7
+ * Supports both TODO.md (standard) and todo.md (legacy) for compatibility
6
8
  */
7
9
  import { readFileSync, existsSync } from 'fs';
8
10
  import { join } from 'path';
@@ -1 +1 @@
1
- {"version":3,"file":"release-readiness-detector.js","sourceRoot":"","sources":["../../../src/utils/release-readiness-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-readiness-detector.js","sourceRoot":"","sources":["../../../src/utils/release-readiness-detector.ts"],"names":[],"mappings":"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"}