faf-mcp 2.3.1 → 3.0.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 (177) hide show
  1. package/CHANGELOG.md +26 -3
  2. package/CLAUDE.md +6 -6
  3. package/README.md +71 -72
  4. package/dist/src/faf-core/commands/bi-sync.d.ts +1 -3
  5. package/dist/src/faf-core/commands/bi-sync.js +21 -64
  6. package/dist/src/faf-core/commands/bi-sync.js.map +1 -1
  7. package/dist/src/faf-core/commands/sync.js.map +1 -1
  8. package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -1
  9. package/dist/src/faf-core/fix-once/colors.js +1 -1
  10. package/dist/src/faf-core/fix-once/colors.js.map +1 -1
  11. package/dist/src/faf-core/parsers/agents-parser.d.ts +15 -0
  12. package/dist/src/faf-core/parsers/agents-parser.js +29 -123
  13. package/dist/src/faf-core/parsers/agents-parser.js.map +1 -1
  14. package/dist/src/faf-core/parsers/conductor-parser.js +1 -1
  15. package/dist/src/faf-core/parsers/conductor-parser.js.map +1 -1
  16. package/dist/src/faf-core/parsers/cursorrules-parser.d.ts +15 -0
  17. package/dist/src/faf-core/parsers/cursorrules-parser.js +54 -111
  18. package/dist/src/faf-core/parsers/cursorrules-parser.js.map +1 -1
  19. package/dist/src/faf-core/parsers/faf-git-generator.js +0 -1
  20. package/dist/src/faf-core/parsers/faf-git-generator.js.map +1 -1
  21. package/dist/src/faf-core/parsers/gemini-parser.d.ts +10 -0
  22. package/dist/src/faf-core/parsers/gemini-parser.js +19 -77
  23. package/dist/src/faf-core/parsers/gemini-parser.js.map +1 -1
  24. package/dist/src/handlers/engine-adapter.d.ts +13 -12
  25. package/dist/src/handlers/engine-adapter.js +103 -682
  26. package/dist/src/handlers/engine-adapter.js.map +1 -1
  27. package/dist/src/handlers/resources.d.ts +19 -1
  28. package/dist/src/handlers/resources.js +108 -23
  29. package/dist/src/handlers/resources.js.map +1 -1
  30. package/dist/src/handlers/skills.d.ts +70 -0
  31. package/dist/src/handlers/skills.js +174 -0
  32. package/dist/src/handlers/skills.js.map +1 -0
  33. package/dist/src/handlers/tools.d.ts +41 -5
  34. package/dist/src/handlers/tools.js +213 -258
  35. package/dist/src/handlers/tools.js.map +1 -1
  36. package/dist/src/server.d.ts +4 -0
  37. package/dist/src/server.js +51 -6
  38. package/dist/src/server.js.map +1 -1
  39. package/dist/src/utils/faf-cli-bridge.d.ts +2 -0
  40. package/dist/src/utils/faf-cli-bridge.js +16 -0
  41. package/dist/src/utils/faf-cli-bridge.js.map +1 -1
  42. package/package.json +16 -13
  43. package/project.faf +11 -6
  44. package/scripts/check-engines.mjs +53 -0
  45. package/scripts/sync-version.js +33 -19
  46. package/skills/faf-ide/SKILL.md +40 -0
  47. package/dist/src/config/visibility.d.ts +0 -41
  48. package/dist/src/config/visibility.js +0 -158
  49. package/dist/src/config/visibility.js.map +0 -1
  50. package/dist/src/faf-core/commands/audit.d.ts +0 -21
  51. package/dist/src/faf-core/commands/audit.js +0 -83
  52. package/dist/src/faf-core/commands/audit.js.map +0 -1
  53. package/dist/src/faf-core/commands/auto.d.ts +0 -25
  54. package/dist/src/faf-core/commands/auto.js +0 -74
  55. package/dist/src/faf-core/commands/auto.js.map +0 -1
  56. package/dist/src/faf-core/commands/doctor.d.ts +0 -17
  57. package/dist/src/faf-core/commands/doctor.js +0 -198
  58. package/dist/src/faf-core/commands/doctor.js.map +0 -1
  59. package/dist/src/faf-core/commands/enhance.d.ts +0 -46
  60. package/dist/src/faf-core/commands/enhance.js +0 -360
  61. package/dist/src/faf-core/commands/enhance.js.map +0 -1
  62. package/dist/src/faf-core/commands/formats.d.ts +0 -22
  63. package/dist/src/faf-core/commands/formats.js +0 -117
  64. package/dist/src/faf-core/commands/formats.js.map +0 -1
  65. package/dist/src/faf-core/commands/human.d.ts +0 -27
  66. package/dist/src/faf-core/commands/human.js +0 -183
  67. package/dist/src/faf-core/commands/human.js.map +0 -1
  68. package/dist/src/faf-core/commands/init.d.ts +0 -26
  69. package/dist/src/faf-core/commands/init.js +0 -114
  70. package/dist/src/faf-core/commands/init.js.map +0 -1
  71. package/dist/src/faf-core/commands/innit.d.ts +0 -7
  72. package/dist/src/faf-core/commands/innit.js +0 -13
  73. package/dist/src/faf-core/commands/innit.js.map +0 -1
  74. package/dist/src/faf-core/commands/migrate.d.ts +0 -15
  75. package/dist/src/faf-core/commands/migrate.js +0 -86
  76. package/dist/src/faf-core/commands/migrate.js.map +0 -1
  77. package/dist/src/faf-core/commands/quick.d.ts +0 -16
  78. package/dist/src/faf-core/commands/quick.js +0 -184
  79. package/dist/src/faf-core/commands/quick.js.map +0 -1
  80. package/dist/src/faf-core/commands/readme.d.ts +0 -47
  81. package/dist/src/faf-core/commands/readme.js +0 -361
  82. package/dist/src/faf-core/commands/readme.js.map +0 -1
  83. package/dist/src/faf-core/commands/score.d.ts +0 -47
  84. package/dist/src/faf-core/commands/score.js +0 -49
  85. package/dist/src/faf-core/commands/score.js.map +0 -1
  86. package/dist/src/faf-core/commands/update.d.ts +0 -12
  87. package/dist/src/faf-core/commands/update.js +0 -46
  88. package/dist/src/faf-core/commands/update.js.map +0 -1
  89. package/dist/src/faf-core/commands/validate.d.ts +0 -21
  90. package/dist/src/faf-core/commands/validate.js +0 -81
  91. package/dist/src/faf-core/commands/validate.js.map +0 -1
  92. package/dist/src/faf-core/compiler/faf-compiler.d.ts +0 -138
  93. package/dist/src/faf-core/compiler/faf-compiler.js +0 -1362
  94. package/dist/src/faf-core/compiler/faf-compiler.js.map +0 -1
  95. package/dist/src/faf-core/engines/fab-formats-processor.d.ts +0 -166
  96. package/dist/src/faf-core/engines/fab-formats-processor.js +0 -1274
  97. package/dist/src/faf-core/engines/fab-formats-processor.js.map +0 -1
  98. package/dist/src/faf-core/engines/faf-dna.d.ts +0 -159
  99. package/dist/src/faf-core/engines/faf-dna.js +0 -555
  100. package/dist/src/faf-core/engines/faf-dna.js.map +0 -1
  101. package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +0 -100
  102. package/dist/src/faf-core/engines/relentless-context-extractor.js +0 -625
  103. package/dist/src/faf-core/engines/relentless-context-extractor.js.map +0 -1
  104. package/dist/src/faf-core/fix-once/types.d.ts +0 -257
  105. package/dist/src/faf-core/fix-once/types.js +0 -26
  106. package/dist/src/faf-core/fix-once/types.js.map +0 -1
  107. package/dist/src/faf-core/generators/faf-generator-championship.d.ts +0 -16
  108. package/dist/src/faf-core/generators/faf-generator-championship.js +0 -463
  109. package/dist/src/faf-core/generators/faf-generator-championship.js.map +0 -1
  110. package/dist/src/faf-core/inject.d.ts +0 -19
  111. package/dist/src/faf-core/inject.js +0 -57
  112. package/dist/src/faf-core/inject.js.map +0 -1
  113. package/dist/src/faf-core/parsers/index.d.ts +0 -12
  114. package/dist/src/faf-core/parsers/index.js +0 -29
  115. package/dist/src/faf-core/parsers/index.js.map +0 -1
  116. package/dist/src/faf-core/utils/balance-visualizer.d.ts +0 -37
  117. package/dist/src/faf-core/utils/balance-visualizer.js +0 -197
  118. package/dist/src/faf-core/utils/balance-visualizer.js.map +0 -1
  119. package/dist/src/faf-core/utils/championship-style.d.ts +0 -109
  120. package/dist/src/faf-core/utils/championship-style.js +0 -219
  121. package/dist/src/faf-core/utils/championship-style.js.map +0 -1
  122. package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +0 -73
  123. package/dist/src/faf-core/utils/chrome-extension-detector.js +0 -268
  124. package/dist/src/faf-core/utils/chrome-extension-detector.js.map +0 -1
  125. package/dist/src/faf-core/utils/platform-detector.d.ts +0 -30
  126. package/dist/src/faf-core/utils/platform-detector.js +0 -218
  127. package/dist/src/faf-core/utils/platform-detector.js.map +0 -1
  128. package/dist/src/faf-core/utils/technical-credit.d.ts +0 -35
  129. package/dist/src/faf-core/utils/technical-credit.js +0 -286
  130. package/dist/src/faf-core/utils/technical-credit.js.map +0 -1
  131. package/dist/src/faf-core/utils/yaml-generator.d.ts +0 -41
  132. package/dist/src/faf-core/utils/yaml-generator.js +0 -360
  133. package/dist/src/faf-core/utils/yaml-generator.js.map +0 -1
  134. package/dist/src/handlers/behavioral-instruction.d.ts +0 -16
  135. package/dist/src/handlers/behavioral-instruction.js +0 -43
  136. package/dist/src/handlers/behavioral-instruction.js.map +0 -1
  137. package/dist/src/handlers/championship-tools.d.ts +0 -116
  138. package/dist/src/handlers/championship-tools.js +0 -2320
  139. package/dist/src/handlers/championship-tools.js.map +0 -1
  140. package/dist/src/handlers/cloud-handler.d.ts +0 -59
  141. package/dist/src/handlers/cloud-handler.js +0 -348
  142. package/dist/src/handlers/cloud-handler.js.map +0 -1
  143. package/dist/src/handlers/tool-registry.d.ts +0 -23
  144. package/dist/src/handlers/tool-registry.js +0 -68
  145. package/dist/src/handlers/tool-registry.js.map +0 -1
  146. package/dist/src/handlers/tool-types.d.ts +0 -167
  147. package/dist/src/handlers/tool-types.js +0 -7
  148. package/dist/src/handlers/tool-types.js.map +0 -1
  149. package/dist/src/test-all-functions.d.ts +0 -15
  150. package/dist/src/test-all-functions.js +0 -163
  151. package/dist/src/test-all-functions.js.map +0 -1
  152. package/dist/src/types/mcp-tools.d.ts +0 -53
  153. package/dist/src/types/mcp-tools.js +0 -77
  154. package/dist/src/types/mcp-tools.js.map +0 -1
  155. package/dist/src/types/tool-visibility.d.ts +0 -36
  156. package/dist/src/types/tool-visibility.js +0 -551
  157. package/dist/src/types/tool-visibility.js.map +0 -1
  158. package/dist/src/utils/auto-path-detection.d.ts +0 -26
  159. package/dist/src/utils/auto-path-detection.js +0 -198
  160. package/dist/src/utils/auto-path-detection.js.map +0 -1
  161. package/dist/src/utils/championship-format.d.ts +0 -30
  162. package/dist/src/utils/championship-format.js +0 -81
  163. package/dist/src/utils/championship-format.js.map +0 -1
  164. package/dist/src/utils/cli-detector.d.ts +0 -17
  165. package/dist/src/utils/cli-detector.js +0 -247
  166. package/dist/src/utils/cli-detector.js.map +0 -1
  167. package/dist/src/utils/display-protocol.d.ts +0 -57
  168. package/dist/src/utils/display-protocol.js +0 -131
  169. package/dist/src/utils/display-protocol.js.map +0 -1
  170. package/dist/src/utils/username-detector.d.ts +0 -27
  171. package/dist/src/utils/username-detector.js +0 -90
  172. package/dist/src/utils/username-detector.js.map +0 -1
  173. package/dist/src/utils/visual-style.d.ts +0 -62
  174. package/dist/src/utils/visual-style.js +0 -166
  175. package/dist/src/utils/visual-style.js.map +0 -1
  176. package/scripts/postinstall.js +0 -50
  177. package/skill/SKILL.md +0 -385
@@ -1,286 +0,0 @@
1
- "use strict";
2
- /**
3
- * 💎 Technical Credit System - Revolutionary credit generation instead of debt
4
- * Transform developer psychology from anxiety to confidence
5
- */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.loadTechnicalCredit = loadTechnicalCredit;
11
- exports.awardCredit = awardCredit;
12
- exports.displayCreditDashboard = displayCreditDashboard;
13
- exports.autoAwardCredit = autoAwardCredit;
14
- const fs_1 = require("fs");
15
- const path_1 = __importDefault(require("path"));
16
- const os_1 = __importDefault(require("os"));
17
- const championship_style_1 = require("./championship-style");
18
- // Credit scoring system
19
- const CREDIT_VALUES = {
20
- context_improvement: 5,
21
- ai_compatibility: 8,
22
- performance: 3,
23
- completeness: 6,
24
- sync_harmony: 4,
25
- stack_discovery: 7,
26
- trust_building: 10
27
- };
28
- /**
29
- * Get technical credit cache file path
30
- */
31
- function getCreditCachePath() {
32
- const cacheDir = path_1.default.join(os_1.default.homedir(), '.faf-cli-cache');
33
- return path_1.default.join(cacheDir, 'technical-credit.json');
34
- }
35
- /**
36
- * Ensure cache directory exists
37
- */
38
- async function ensureCacheDir() {
39
- const cacheDir = path_1.default.dirname(getCreditCachePath());
40
- try {
41
- await fs_1.promises.mkdir(cacheDir, { recursive: true });
42
- }
43
- catch {
44
- // Directory already exists, ignore
45
- }
46
- }
47
- /**
48
- * Load current technical credit status
49
- */
50
- async function loadTechnicalCredit(fafPath) {
51
- try {
52
- const cachePath = getCreditCachePath();
53
- const cacheData = await fs_1.promises.readFile(cachePath, 'utf-8');
54
- const allCredits = JSON.parse(cacheData);
55
- // Get credit for specific project or global
56
- const projectKey = fafPath ? path_1.default.resolve(fafPath) : 'global';
57
- const credit = allCredits[projectKey];
58
- if (!credit) {
59
- return createInitialCredit();
60
- }
61
- // Convert timestamps back to Date objects
62
- credit.lastUpdated = new Date(credit.lastUpdated);
63
- credit.earned = credit.earned.map((source) => ({
64
- ...source,
65
- timestamp: new Date(source.timestamp)
66
- }));
67
- return credit;
68
- }
69
- catch {
70
- return createInitialCredit();
71
- }
72
- }
73
- /**
74
- * Create initial credit state
75
- */
76
- function createInitialCredit() {
77
- return {
78
- current: 0,
79
- earned: [],
80
- impact: [],
81
- trending: 'stable',
82
- lastUpdated: new Date()
83
- };
84
- }
85
- /**
86
- * Award technical credit for specific actions
87
- */
88
- async function awardCredit(action, category, impact, fafPath) {
89
- try {
90
- await ensureCacheDir();
91
- // Load current credit
92
- const credit = await loadTechnicalCredit(fafPath);
93
- // Calculate points
94
- const points = CREDIT_VALUES[category];
95
- // Add new credit source
96
- const newSource = {
97
- action,
98
- points,
99
- timestamp: new Date(),
100
- impact,
101
- category
102
- };
103
- credit.earned.push(newSource);
104
- credit.current += points;
105
- credit.impact.push(impact);
106
- credit.lastUpdated = new Date();
107
- // Calculate trending
108
- const recentEarnings = credit.earned
109
- .filter(s => Date.now() - s.timestamp.getTime() < 7 * 24 * 60 * 60 * 1000) // Last 7 days
110
- .reduce((sum, s) => sum + s.points, 0);
111
- if (recentEarnings > 20) {
112
- credit.trending = 'up';
113
- }
114
- else if (recentEarnings < 5) {
115
- credit.trending = 'down';
116
- }
117
- else {
118
- credit.trending = 'stable';
119
- }
120
- // Save updated credit (will silently fail if no permissions)
121
- await saveTechnicalCredit(credit, fafPath);
122
- // Check if we can actually write to cache before showing message
123
- const cacheDir = path_1.default.join(require('os').homedir(), '.faf-cli-cache');
124
- try {
125
- await fs_1.promises.access(cacheDir, fs_1.promises.constants.W_OK);
126
- // Only show achievement message if we have write access
127
- console.log(championship_style_1.FAF_COLORS.fafGreen(`${championship_style_1.FAF_ICONS.gem} ${championship_style_1.BRAND_MESSAGES.achievement} +${points} points`));
128
- console.log(championship_style_1.FAF_COLORS.fafCyan(`└─ ${impact}`));
129
- }
130
- catch {
131
- // No write access - skip the message
132
- }
133
- return points;
134
- }
135
- catch (error) {
136
- // Silently fail - technical credit is optional
137
- return 0;
138
- }
139
- }
140
- /**
141
- * Save technical credit to cache
142
- */
143
- async function saveTechnicalCredit(credit, fafPath) {
144
- try {
145
- const cachePath = getCreditCachePath();
146
- // Load existing cache
147
- let allCredits = {};
148
- try {
149
- const existing = await fs_1.promises.readFile(cachePath, 'utf-8');
150
- allCredits = JSON.parse(existing);
151
- }
152
- catch {
153
- // Cache doesn't exist yet, start fresh
154
- }
155
- // Update credit for specific project or global
156
- const projectKey = fafPath ? path_1.default.resolve(fafPath) : 'global';
157
- allCredits[projectKey] = credit;
158
- // Save updated cache
159
- await fs_1.promises.writeFile(cachePath, JSON.stringify(allCredits, null, 2));
160
- }
161
- catch (error) {
162
- // Silently fail - technical credit is optional and shouldn't scare newbies
163
- // The error is usually just permission issues in sandboxed environments
164
- }
165
- }
166
- /**
167
- * Display technical credit dashboard
168
- */
169
- async function displayCreditDashboard(fafPath) {
170
- const credit = await loadTechnicalCredit(fafPath);
171
- console.log(championship_style_1.FAF_COLORS.fafCyan(`${championship_style_1.FAF_ICONS.gem} Technical Credit Dashboard`));
172
- console.log(championship_style_1.FAF_COLORS.fafCyan('├─────────────────────────────────'));
173
- // Current balance with trending indicator
174
- const trendingEmoji = credit.trending === 'up' ? '📈' :
175
- credit.trending === 'down' ? '📉' : '➡️';
176
- console.log(`${championship_style_1.FAF_COLORS.fafCyan('├─ ')}Balance: ${championship_style_1.FAF_COLORS.fafGreen(`${credit.current} credits`)} ${trendingEmoji}`);
177
- // Credit level
178
- const level = getCreditLevel(credit.current);
179
- console.log(`${championship_style_1.FAF_COLORS.fafCyan('├─ ')}Level: ${level.name} ${level.emoji}`);
180
- // Recent earnings
181
- const recentEarnings = credit.earned
182
- .filter(s => Date.now() - s.timestamp.getTime() < 7 * 24 * 60 * 60 * 1000)
183
- .length;
184
- console.log(`${championship_style_1.FAF_COLORS.fafCyan('├─ ')}Recent Activity: ${recentEarnings} actions (7 days)`);
185
- // Top credit sources
186
- if (credit.earned.length > 0) {
187
- console.log(`${championship_style_1.FAF_COLORS.fafCyan('├─ ')}Top Sources:`);
188
- const topSources = credit.earned
189
- .slice(-3)
190
- .reverse();
191
- topSources.forEach(source => {
192
- const timeAgo = getTimeAgo(source.timestamp);
193
- console.log(`${championship_style_1.FAF_COLORS.fafCyan('│ ')}+${source.points} ${source.impact} (${timeAgo})`);
194
- });
195
- }
196
- console.log(championship_style_1.FAF_COLORS.fafCyan('└─────────────────────────────────'));
197
- // Championship message
198
- if (credit.current >= 100) {
199
- console.log();
200
- console.log(championship_style_1.FAF_COLORS.fafGreen(`${championship_style_1.FAF_ICONS.trophy} ${championship_style_1.BRAND_MESSAGES.podium_celebration}`));
201
- }
202
- else if (credit.trending === 'up') {
203
- console.log();
204
- console.log(championship_style_1.FAF_COLORS.fafOrange(`${championship_style_1.FAF_ICONS.chart_up} Keep building credit! Next milestone: ${getNextMilestone(credit.current)} credits`));
205
- }
206
- }
207
- /**
208
- * Get credit level based on points
209
- */
210
- function getCreditLevel(points) {
211
- if (points >= 200) {
212
- return { name: 'Championship', emoji: '🏆' };
213
- }
214
- if (points >= 100) {
215
- return { name: 'Professional', emoji: '💎' };
216
- }
217
- if (points >= 50) {
218
- return { name: 'Advanced', emoji: '⚡️' };
219
- }
220
- if (points >= 20) {
221
- return { name: 'Developing', emoji: '🚀' };
222
- }
223
- if (points >= 5) {
224
- return { name: 'Started', emoji: '🌱' };
225
- }
226
- return { name: 'Beginner', emoji: '🏁' };
227
- }
228
- /**
229
- * Get next milestone
230
- */
231
- function getNextMilestone(current) {
232
- const milestones = [5, 20, 50, 100, 200];
233
- return milestones.find(m => m > current) || current + 100;
234
- }
235
- /**
236
- * Get human readable time ago
237
- */
238
- function getTimeAgo(date) {
239
- const now = new Date();
240
- const diffMs = now.getTime() - date.getTime();
241
- const diffMins = Math.floor(diffMs / (1000 * 60));
242
- const diffHours = Math.floor(diffMs / (1000 * 60 * 60));
243
- const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
244
- if (diffMins < 60) {
245
- return `${diffMins}m ago`;
246
- }
247
- if (diffHours < 24) {
248
- return `${diffHours}h ago`;
249
- }
250
- return `${diffDays}d ago`;
251
- }
252
- /**
253
- * Auto-award credit for common actions
254
- */
255
- async function autoAwardCredit(trigger, fafPath) {
256
- const actions = {
257
- init_success: {
258
- action: 'Created .faf file',
259
- category: 'context_improvement',
260
- impact: 'Perfect AI context established'
261
- },
262
- score_improved: {
263
- action: 'Improved context score',
264
- category: 'completeness',
265
- impact: 'Better AI understanding achieved'
266
- },
267
- sync_success: {
268
- action: 'Synchronized files',
269
- category: 'sync_harmony',
270
- impact: 'Bi-sync harmony maintained'
271
- },
272
- validation_passed: {
273
- action: 'Validation successful',
274
- category: 'context_improvement',
275
- impact: 'Context quality verified'
276
- },
277
- ai_happy: {
278
- action: 'AI happiness improved',
279
- category: 'ai_compatibility',
280
- impact: 'AI trust and confidence boosted'
281
- }
282
- };
283
- const config = actions[trigger];
284
- await awardCredit(config.action, config.category, config.impact, fafPath);
285
- }
286
- //# sourceMappingURL=technical-credit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"technical-credit.js","sourceRoot":"","sources":["../../../../src/faf-core/utils/technical-credit.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * AI-Optimized YAML Generator v2.5.0
3
- * Generates .faf files with instant AI onboarding structure
4
- */
5
- export declare function unescapeFromYaml(value: string): string;
6
- export declare function escapeForYaml(value: string | undefined): string;
7
- export declare function generateFafContent(projectData: {
8
- projectName: string;
9
- projectGoal?: string | undefined;
10
- mainLanguage: string;
11
- framework: string;
12
- cssFramework?: string;
13
- uiLibrary?: string;
14
- stateManagement?: string;
15
- backend: string;
16
- apiType: string;
17
- server: string;
18
- database: string;
19
- connection: string;
20
- hosting: string;
21
- buildTool: string;
22
- packageManager?: string;
23
- cicd: string;
24
- fafScore: number;
25
- slotBasedPercentage: number;
26
- projectType?: string;
27
- targetUser?: string;
28
- coreProblem?: string;
29
- missionPurpose?: string;
30
- deploymentMarket?: string;
31
- timeline?: string;
32
- approach?: string;
33
- additionalWho?: string[];
34
- additionalWhat?: string[];
35
- additionalWhy?: string[];
36
- additionalWhere?: string[];
37
- additionalWhen?: string[];
38
- additionalHow?: string[];
39
- projectDetailsScore?: number;
40
- projectSuccessRate?: number;
41
- }): string;