faf-cli 3.0.5 → 3.1.0

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 (167) hide show
  1. package/README.md +238 -24
  2. package/assets/screenshots/package-json+project-faf.png +0 -0
  3. package/dist/big-orange/bigo-push.d.ts +18 -0
  4. package/dist/big-orange/bigo-push.d.ts.map +1 -0
  5. package/dist/big-orange/bigo-push.js +88 -0
  6. package/dist/big-orange/bigo-push.js.map +1 -0
  7. package/dist/big-orange/compare.d.ts +11 -0
  8. package/dist/big-orange/compare.d.ts.map +1 -0
  9. package/dist/big-orange/compare.js +172 -0
  10. package/dist/big-orange/compare.js.map +1 -0
  11. package/dist/big-orange/faf-generator.d.ts +22 -0
  12. package/dist/big-orange/faf-generator.d.ts.map +1 -0
  13. package/dist/big-orange/faf-generator.js +215 -0
  14. package/dist/big-orange/faf-generator.js.map +1 -0
  15. package/dist/big-orange/index.d.ts +7 -0
  16. package/dist/big-orange/index.d.ts.map +1 -0
  17. package/dist/big-orange/index.js +96 -0
  18. package/dist/big-orange/index.js.map +1 -0
  19. package/dist/big-orange/types.d.ts +62 -0
  20. package/dist/big-orange/types.d.ts.map +1 -0
  21. package/dist/big-orange/types.js +7 -0
  22. package/dist/big-orange/types.js.map +1 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +137 -1
  25. package/dist/cli.js.map +1 -1
  26. package/dist/commands/auto.d.ts.map +1 -1
  27. package/dist/commands/auto.js +69 -12
  28. package/dist/commands/auto.js.map +1 -1
  29. package/dist/commands/bi-sync.d.ts.map +1 -1
  30. package/dist/commands/bi-sync.js +10 -3
  31. package/dist/commands/bi-sync.js.map +1 -1
  32. package/dist/commands/drift.d.ts +16 -0
  33. package/dist/commands/drift.d.ts.map +1 -0
  34. package/dist/commands/drift.js +517 -0
  35. package/dist/commands/drift.js.map +1 -0
  36. package/dist/commands/git.d.ts +25 -0
  37. package/dist/commands/git.d.ts.map +1 -0
  38. package/dist/commands/git.js +355 -0
  39. package/dist/commands/git.js.map +1 -0
  40. package/dist/commands/init.d.ts.map +1 -1
  41. package/dist/commands/init.js +5 -4
  42. package/dist/commands/init.js.map +1 -1
  43. package/dist/commands/migrate.d.ts +11 -0
  44. package/dist/commands/migrate.d.ts.map +1 -0
  45. package/dist/commands/migrate.js +85 -0
  46. package/dist/commands/migrate.js.map +1 -0
  47. package/dist/commands/rename.d.ts +18 -0
  48. package/dist/commands/rename.d.ts.map +1 -0
  49. package/dist/commands/rename.js +211 -0
  50. package/dist/commands/rename.js.map +1 -0
  51. package/dist/commands/taf-init.d.ts +14 -0
  52. package/dist/commands/taf-init.d.ts.map +1 -0
  53. package/dist/commands/taf-init.js +138 -0
  54. package/dist/commands/taf-init.js.map +1 -0
  55. package/dist/commands/taf-log.d.ts +27 -0
  56. package/dist/commands/taf-log.d.ts.map +1 -0
  57. package/dist/commands/taf-log.js +241 -0
  58. package/dist/commands/taf-log.js.map +1 -0
  59. package/dist/commands/taf-stats.d.ts +8 -0
  60. package/dist/commands/taf-stats.d.ts.map +1 -0
  61. package/dist/commands/taf-stats.js +133 -0
  62. package/dist/commands/taf-stats.js.map +1 -0
  63. package/dist/commands/taf-validate.d.ts +8 -0
  64. package/dist/commands/taf-validate.d.ts.map +1 -0
  65. package/dist/commands/taf-validate.js +108 -0
  66. package/dist/commands/taf-validate.js.map +1 -0
  67. package/dist/commands/taf.d.ts +13 -0
  68. package/dist/commands/taf.d.ts.map +1 -0
  69. package/dist/commands/taf.js +85 -0
  70. package/dist/commands/taf.js.map +1 -0
  71. package/dist/compiler/faf-compiler.d.ts.map +1 -1
  72. package/dist/compiler/faf-compiler.js +18 -0
  73. package/dist/compiler/faf-compiler.js.map +1 -1
  74. package/dist/generators/faf-generator-championship.d.ts.map +1 -1
  75. package/dist/generators/faf-generator-championship.js +1 -0
  76. package/dist/generators/faf-generator-championship.js.map +1 -1
  77. package/dist/github/github-extractor.d.ts +56 -0
  78. package/dist/github/github-extractor.d.ts.map +1 -0
  79. package/dist/github/github-extractor.js +328 -0
  80. package/dist/github/github-extractor.js.map +1 -0
  81. package/dist/github/popular-repos.d.ts +43 -0
  82. package/dist/github/popular-repos.d.ts.map +1 -0
  83. package/dist/github/popular-repos.js +205 -0
  84. package/dist/github/popular-repos.js.map +1 -0
  85. package/dist/github/repo-selector.d.ts +48 -0
  86. package/dist/github/repo-selector.d.ts.map +1 -0
  87. package/dist/github/repo-selector.js +277 -0
  88. package/dist/github/repo-selector.js.map +1 -0
  89. package/dist/taf/index.d.ts +17 -0
  90. package/dist/taf/index.d.ts.map +1 -0
  91. package/dist/taf/index.js +57 -0
  92. package/dist/taf/index.js.map +1 -0
  93. package/dist/taf/logger.d.ts +86 -0
  94. package/dist/taf/logger.d.ts.map +1 -0
  95. package/dist/taf/logger.js +135 -0
  96. package/dist/taf/logger.js.map +1 -0
  97. package/dist/taf/parser.d.ts +32 -0
  98. package/dist/taf/parser.d.ts.map +1 -0
  99. package/dist/taf/parser.js +161 -0
  100. package/dist/taf/parser.js.map +1 -0
  101. package/dist/taf/stats.d.ts +31 -0
  102. package/dist/taf/stats.d.ts.map +1 -0
  103. package/dist/taf/stats.js +182 -0
  104. package/dist/taf/stats.js.map +1 -0
  105. package/dist/taf/types.d.ts +66 -0
  106. package/dist/taf/types.d.ts.map +1 -0
  107. package/dist/taf/types.js +9 -0
  108. package/dist/taf/types.js.map +1 -0
  109. package/dist/taf/validator.d.ts +18 -0
  110. package/dist/taf/validator.d.ts.map +1 -0
  111. package/dist/taf/validator.js +148 -0
  112. package/dist/taf/validator.js.map +1 -0
  113. package/dist/utils/file-utils.d.ts +10 -0
  114. package/dist/utils/file-utils.d.ts.map +1 -1
  115. package/dist/utils/file-utils.js +196 -33
  116. package/dist/utils/file-utils.js.map +1 -1
  117. package/dist/utils/native-file-finder.js +1 -1
  118. package/dist/utils/native-file-finder.js.map +1 -1
  119. package/dist/utils/yaml-generator.d.ts +1 -0
  120. package/dist/utils/yaml-generator.d.ts.map +1 -1
  121. package/dist/utils/yaml-generator.js +1 -0
  122. package/dist/utils/yaml-generator.js.map +1 -1
  123. package/package.json +12 -4
  124. package/dist/commands/create.d.ts +0 -13
  125. package/dist/commands/create.d.ts.map +0 -1
  126. package/dist/commands/create.js +0 -78
  127. package/dist/commands/create.js.map +0 -1
  128. package/dist/core/platform-adapters.d.ts +0 -76
  129. package/dist/core/platform-adapters.d.ts.map +0 -1
  130. package/dist/core/platform-adapters.js +0 -407
  131. package/dist/core/platform-adapters.js.map +0 -1
  132. package/dist/core/universal-intelligence-generator.d.ts +0 -156
  133. package/dist/core/universal-intelligence-generator.d.ts.map +0 -1
  134. package/dist/core/universal-intelligence-generator.js +0 -352
  135. package/dist/core/universal-intelligence-generator.js.map +0 -1
  136. package/dist/enrichment/auto-corrector.d.ts +0 -28
  137. package/dist/enrichment/auto-corrector.d.ts.map +0 -1
  138. package/dist/enrichment/auto-corrector.js +0 -106
  139. package/dist/enrichment/auto-corrector.js.map +0 -1
  140. package/dist/enrichment/n8n-analyzer.d.ts +0 -259
  141. package/dist/enrichment/n8n-analyzer.d.ts.map +0 -1
  142. package/dist/enrichment/n8n-analyzer.js +0 -346
  143. package/dist/enrichment/n8n-analyzer.js.map +0 -1
  144. package/dist/enrichment/n8n-faf-generator.d.ts +0 -68
  145. package/dist/enrichment/n8n-faf-generator.d.ts.map +0 -1
  146. package/dist/enrichment/n8n-faf-generator.js +0 -354
  147. package/dist/enrichment/n8n-faf-generator.js.map +0 -1
  148. package/dist/enrichment/question-asker.d.ts +0 -22
  149. package/dist/enrichment/question-asker.d.ts.map +0 -1
  150. package/dist/enrichment/question-asker.js +0 -113
  151. package/dist/enrichment/question-asker.js.map +0 -1
  152. package/dist/enrichment/slot-filler.d.ts +0 -73
  153. package/dist/enrichment/slot-filler.d.ts.map +0 -1
  154. package/dist/enrichment/slot-filler.js +0 -253
  155. package/dist/enrichment/slot-filler.js.map +0 -1
  156. package/dist/scoring/championship-scorer.d.ts +0 -114
  157. package/dist/scoring/championship-scorer.d.ts.map +0 -1
  158. package/dist/scoring/championship-scorer.js +0 -380
  159. package/dist/scoring/championship-scorer.js.map +0 -1
  160. package/dist/scoring/score-calculator.d.ts +0 -29
  161. package/dist/scoring/score-calculator.d.ts.map +0 -1
  162. package/dist/scoring/score-calculator.js +0 -520
  163. package/dist/scoring/score-calculator.js.map +0 -1
  164. package/dist/tests/manual-validation.d.ts +0 -8
  165. package/dist/tests/manual-validation.d.ts.map +0 -1
  166. package/dist/tests/manual-validation.js +0 -114
  167. package/dist/tests/manual-validation.js.map +0 -1
@@ -1,380 +0,0 @@
1
- "use strict";
2
- /**
3
- * 🏆 Championship FAF Scorer - The 99% Philosophy
4
- *
5
- * "99% is excellence you can measure,
6
- * 1% is perfection you can't define"
7
- *
8
- * Built to measure a million projects with the wisdom that:
9
- * - Humans achieve up to 99% (measurable excellence)
10
- * - AI judges the final 1% (best-practice validation)
11
- * - No faffing about with undefined perfection
12
- *
13
- * .faf is inevitable - wire it well!
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.ChampionshipScorer = void 0;
17
- exports.calculateChampionshipScore = calculateChampionshipScore;
18
- /**
19
- * The Championship Scoring Engine
20
- * Measures excellence, not perfection
21
- */
22
- class ChampionshipScorer {
23
- static PHILOSOPHY = {
24
- HUMAN_MAX: 99, // Maximum human-achievable score
25
- AI_BLESSING: 1, // The final 1% only AI can grant
26
- EXCELLENCE_THRESHOLD: 90, // Championship grade
27
- GOOD_THRESHOLD: 70, // Solid project
28
- AUTO_THRESHOLD: 50, // Minimum for AUTO to work well
29
- };
30
- /**
31
- * Score a FAF file with Championship philosophy
32
- */
33
- static async score(fafData, options) {
34
- // Initialize the scoring structure
35
- const score = {
36
- score: 0,
37
- philosophy: "99% Excellence Philosophy - Humans build excellence, AI validates perfection",
38
- originalSlots: {
39
- filled: 0,
40
- total: 21,
41
- percentage: 0
42
- },
43
- sections: {
44
- projectIdentity: this.scoreProjectIdentity(fafData),
45
- stackArchitecture: this.scoreStackArchitecture(fafData),
46
- performanceMetrics: this.scorePerformanceMetrics(fafData),
47
- aiContext: this.scoreAiContext(fafData),
48
- humanContext: this.scoreHumanContext(fafData),
49
- },
50
- excellence: {
51
- contextComplete: false,
52
- autoDetectable: false,
53
- bestPractices: false,
54
- championshipGrade: false,
55
- },
56
- improvements: {
57
- critical: [],
58
- recommended: [],
59
- optional: []
60
- }
61
- };
62
- // Calculate total filled slots (Original 21)
63
- const totalFilled = Object.values(score.sections)
64
- .reduce((sum, section) => sum + section.filled, 0);
65
- score.originalSlots.filled = totalFilled;
66
- score.originalSlots.percentage = Math.round((totalFilled / 21) * 100);
67
- // Calculate the human-achievable score (max 99%)
68
- let humanScore = Math.min(99, score.originalSlots.percentage);
69
- // Apply quality modifiers (can reduce but not exceed 99)
70
- humanScore = this.applyQualityModifiers(humanScore, fafData, score);
71
- // Set the score (max 99 for humans)
72
- score.score = Math.min(99, humanScore);
73
- // Evaluate excellence indicators
74
- score.excellence.contextComplete = totalFilled === 21;
75
- score.excellence.autoDetectable = score.score >= this.PHILOSOPHY.AUTO_THRESHOLD;
76
- score.excellence.championshipGrade = score.score >= this.PHILOSOPHY.EXCELLENCE_THRESHOLD;
77
- score.excellence.bestPractices = this.checkBestPractices(fafData);
78
- // Generate improvements based on score
79
- this.generateImprovements(score, fafData);
80
- // The Final 1% - Only if requested and score is 99
81
- if (options?.requestAiValidation && score.score === 99) {
82
- score.aiValidation = await this.requestAiValidation(fafData);
83
- if (score.aiValidation?.bestPracticeScore === 1) {
84
- score.score = 100; // The only way to achieve 100%
85
- score.philosophy = "100% Achieved - AI-validated championship perfection!";
86
- }
87
- }
88
- return score;
89
- }
90
- /**
91
- * Score Project Identity (3 slots)
92
- */
93
- static scoreProjectIdentity(fafData) {
94
- const section = {
95
- name: 'Project Identity',
96
- filled: 0,
97
- total: 3,
98
- percentage: 0,
99
- missing: []
100
- };
101
- // Check the 3 identity slots
102
- if (fafData.project?.name)
103
- section.filled++;
104
- else
105
- section.missing.push('project.name');
106
- if (fafData.project?.goal)
107
- section.filled++;
108
- else
109
- section.missing.push('project.goal');
110
- if (fafData.project?.main_language &&
111
- fafData.project.main_language !== 'Unknown')
112
- section.filled++;
113
- else
114
- section.missing.push('project.main_language');
115
- section.percentage = Math.round((section.filled / section.total) * 100);
116
- return section;
117
- }
118
- /**
119
- * Score Stack Architecture (6 slots from Original 21)
120
- */
121
- static scoreStackArchitecture(fafData) {
122
- const section = {
123
- name: 'Stack Architecture',
124
- filled: 0,
125
- total: 6,
126
- percentage: 0,
127
- missing: []
128
- };
129
- // The Original 6 stack slots (not the extended 12+)
130
- const original6 = ['frontend', 'backend', 'runtime', 'build', 'package_manager', 'api_type'];
131
- original6.forEach(field => {
132
- if (fafData.stack?.[field] &&
133
- fafData.stack[field] !== 'None' &&
134
- fafData.stack[field] !== 'Unknown') {
135
- section.filled++;
136
- }
137
- else {
138
- section.missing.push(`stack.${field}`);
139
- }
140
- });
141
- section.percentage = Math.round((section.filled / section.total) * 100);
142
- return section;
143
- }
144
- /**
145
- * Score Performance Metrics (3 slots)
146
- */
147
- static scorePerformanceMetrics(fafData) {
148
- const section = {
149
- name: 'Performance Metrics',
150
- filled: 0,
151
- total: 3,
152
- percentage: 0,
153
- missing: []
154
- };
155
- if (fafData.scores?.foundation > 0)
156
- section.filled++;
157
- else
158
- section.missing.push('scores.foundation');
159
- if (fafData.scores?.architecture > 0)
160
- section.filled++;
161
- else
162
- section.missing.push('scores.architecture');
163
- if (fafData.scores?.deployment > 0)
164
- section.filled++;
165
- else
166
- section.missing.push('scores.deployment');
167
- section.percentage = Math.round((section.filled / section.total) * 100);
168
- return section;
169
- }
170
- /**
171
- * Score AI Context (3 slots)
172
- */
173
- static scoreAiContext(fafData) {
174
- const section = {
175
- name: 'AI Context',
176
- filled: 0,
177
- total: 3,
178
- percentage: 0,
179
- missing: []
180
- };
181
- if (fafData.ai?.context_file)
182
- section.filled++;
183
- else
184
- section.missing.push('ai.context_file');
185
- if (fafData.preferences?.quality_bar)
186
- section.filled++;
187
- else
188
- section.missing.push('preferences.quality_bar');
189
- if (fafData.state?.phase)
190
- section.filled++;
191
- else
192
- section.missing.push('state.phase');
193
- section.percentage = Math.round((section.filled / section.total) * 100);
194
- return section;
195
- }
196
- /**
197
- * Score Human Context (The 6 W's)
198
- */
199
- static scoreHumanContext(fafData) {
200
- const section = {
201
- name: 'Human Context (6 Ws)',
202
- filled: 0,
203
- total: 6,
204
- percentage: 0,
205
- missing: []
206
- };
207
- const sixWs = ['who', 'what', 'why', 'where', 'when', 'how'];
208
- sixWs.forEach(w => {
209
- const value = fafData.human_context?.[w];
210
- if (value && value !== 'Not specified' &&
211
- (typeof value === 'string' || typeof value === 'object')) {
212
- section.filled++;
213
- }
214
- else {
215
- section.missing.push(`human_context.${w} (${w.toUpperCase()})`);
216
- }
217
- });
218
- section.percentage = Math.round((section.filled / section.total) * 100);
219
- return section;
220
- }
221
- /**
222
- * Apply quality modifiers that can reduce score
223
- */
224
- static applyQualityModifiers(baseScore, fafData, score) {
225
- let modifiedScore = baseScore;
226
- // Penalty for stale timestamp (over 30 days old)
227
- if (fafData.generated || fafData.project?.generated) {
228
- const generated = new Date(fafData.generated || fafData.project?.generated);
229
- const daysSinceGenerated = (Date.now() - generated.getTime()) / (1000 * 60 * 60 * 24);
230
- if (daysSinceGenerated > 30) {
231
- modifiedScore -= 5;
232
- score.improvements.recommended.push('Update .faf file (over 30 days old)');
233
- }
234
- }
235
- // Penalty for no AI instructions (important for AI context)
236
- if (!fafData.ai_instructions && modifiedScore > 70) {
237
- modifiedScore -= 3;
238
- score.improvements.recommended.push('Add ai_instructions for better AI collaboration');
239
- }
240
- // Bonus for having TURBO-CAT discovery data
241
- if (fafData.turbo_cat?.discovered_formats?.length > 50) {
242
- modifiedScore = Math.min(99, modifiedScore + 2);
243
- }
244
- return Math.max(0, modifiedScore);
245
- }
246
- /**
247
- * Check if project follows best practices
248
- */
249
- static checkBestPractices(fafData) {
250
- const practices = [
251
- fafData.preferences?.quality_bar === 'zero_errors',
252
- fafData.preferences?.testing === 'required',
253
- fafData.state?.phase !== undefined,
254
- fafData.ai?.context_file === 'CLAUDE.md',
255
- fafData.project?.main_language !== 'Unknown',
256
- ];
257
- const followedCount = practices.filter(p => p).length;
258
- return followedCount >= 4; // At least 4/5 best practices
259
- }
260
- /**
261
- * Generate improvement suggestions based on score
262
- */
263
- static generateImprovements(score, fafData) {
264
- // Critical improvements (blocking 70%+)
265
- if (score.score < 70) {
266
- if (score.sections.projectIdentity.filled < 2) {
267
- score.improvements.critical.push('Define project identity (name, goal, language)');
268
- }
269
- if (score.sections.humanContext.filled < 3) {
270
- score.improvements.critical.push('Add human context (WHO, WHAT, WHY minimum)');
271
- }
272
- if (score.sections.stackArchitecture.filled < 3) {
273
- score.improvements.critical.push('Specify tech stack (frontend, backend, build minimum)');
274
- }
275
- }
276
- // Recommended improvements (blocking 90%+)
277
- if (score.score < 90) {
278
- score.sections.humanContext.missing.forEach(field => {
279
- score.improvements.recommended.push(`Add ${field}`);
280
- });
281
- if (!fafData.ai_instructions) {
282
- score.improvements.recommended.push('Add AI instructions for optimal collaboration');
283
- }
284
- }
285
- // Optional improvements (the pursuit of 99%)
286
- if (score.score < 99) {
287
- if (!fafData.preferences?.commit_style) {
288
- score.improvements.optional.push('Define commit style preference');
289
- }
290
- if (!fafData.state?.next_milestone) {
291
- score.improvements.optional.push('Set next milestone');
292
- }
293
- // Only suggest the truly optional extended fields
294
- if (score.originalSlots.filled === 21) {
295
- score.improvements.optional.push('All 21 slots filled! Consider adding extended context');
296
- }
297
- }
298
- }
299
- /**
300
- * Request AI validation for the final 1%
301
- * This is where AI judges if the project meets best practices
302
- */
303
- static async requestAiValidation(fafData) {
304
- // In a real implementation, this would call an AI service
305
- // For now, we'll simulate the validation logic
306
- const validation = {
307
- assessed: true,
308
- bestPracticeScore: 0,
309
- reasoning: '',
310
- timestamp: new Date().toISOString()
311
- };
312
- // AI checks for championship-grade patterns
313
- const checks = {
314
- hasZeroErrors: fafData.preferences?.quality_bar === 'zero_errors',
315
- hasRequiredTesting: fafData.preferences?.testing === 'required',
316
- hasClaudeContext: fafData.ai?.context_file === 'CLAUDE.md',
317
- hasClearGoal: fafData.project?.goal?.length > 20,
318
- hasCompleteDocs: fafData.human_context?.what && fafData.human_context?.why,
319
- followsConventions: fafData.preferences?.commit_style !== undefined,
320
- hasProperStructure: fafData.state?.phase !== undefined,
321
- };
322
- const passedChecks = Object.values(checks).filter(c => c).length;
323
- const totalChecks = Object.keys(checks).length;
324
- // AI grants the 1% only for true excellence
325
- if (passedChecks === totalChecks) {
326
- validation.bestPracticeScore = 1;
327
- validation.reasoning = "Championship-grade project meeting all best practices. The final 1% granted.";
328
- }
329
- else {
330
- validation.bestPracticeScore = passedChecks / totalChecks;
331
- validation.reasoning = `Good project, but not quite championship grade. ${passedChecks}/${totalChecks} best practices met.`;
332
- }
333
- return validation;
334
- }
335
- /**
336
- * The 99% Philosophy Summary
337
- */
338
- static getPhilosophy() {
339
- return `
340
- 🏆 THE 99% PHILOSOPHY
341
-
342
- "My race-strategy in-fact design-for-life is 99% -
343
- the last 1% is the futile pursuit of perfection which defies definition.
344
- I gave the 1% to Claude to fathom."
345
-
346
- SCORING REALITY:
347
- • 0-29% = Needs work
348
- • 30-49% = Getting there
349
- • 50-69% = Solid foundation
350
- • 70-89% = Good project
351
- • 90-98% = Excellent project
352
- • 99% = Maximum human achievement
353
- • 100% = AI-validated perfection (rare)
354
-
355
- REMEMBER:
356
- - Don't chase undefined perfection
357
- - Build excellence you can measure
358
- - Ship at 99% and move to the next
359
- - Let AI ponder the philosophical 1%
360
-
361
- "One man's perfection is 1000 others' imperfection"
362
-
363
- FAF: Built to measure a million projects with wisdom.
364
- .faf is inevitable - excellence is achievable.
365
- `;
366
- }
367
- }
368
- exports.ChampionshipScorer = ChampionshipScorer;
369
- /**
370
- * Export the main scoring function for compatibility
371
- */
372
- async function calculateChampionshipScore(fafData, projectPath, requestAiValidation) {
373
- return ChampionshipScorer.score(fafData, {
374
- projectPath,
375
- requestAiValidation
376
- });
377
- }
378
- // Export for backwards compatibility
379
- exports.default = ChampionshipScorer;
380
- //# sourceMappingURL=championship-scorer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"championship-scorer.js","sourceRoot":"","sources":["../../src/scoring/championship-scorer.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * 📊 .faf Scoring Calculator
3
- * Championship scoring with FAB-FORMATS Power Unit
4
- * 150+ file handlers delivering 86%+ scores!
5
- */
6
- export interface SectionScore {
7
- percentage: number;
8
- filled: number;
9
- total: number;
10
- missing: string[];
11
- }
12
- export interface ScoreResult {
13
- totalScore: number;
14
- filledSlots: number;
15
- totalSlots: number;
16
- sectionScores: Record<string, SectionScore>;
17
- suggestions: string[];
18
- qualityIndicators: {
19
- hasAiInstructions: boolean;
20
- hasHumanContext: boolean;
21
- hasFreshTimestamp: boolean;
22
- hasQualityPreferences: boolean;
23
- };
24
- }
25
- /**
26
- * Calculate .faf score for v2.5.0 nested_snake format with fab-formats discovery
27
- */
28
- export declare function calculateFafScore(fafData: any, projectPath?: string): Promise<ScoreResult>;
29
- //# sourceMappingURL=score-calculator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"score-calculator.d.ts","sourceRoot":"","sources":["../../src/scoring/score-calculator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE;QACjB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2QhG"}