faf-mcp 1.3.1 → 2.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 (100) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CLAUDE.md +5 -5
  3. package/README.md +70 -14
  4. package/assets/thumbnail.png +0 -0
  5. package/dist/src/faf-core/commands/agents.d.ts +29 -0
  6. package/dist/src/faf-core/commands/agents.js +140 -0
  7. package/dist/src/faf-core/commands/agents.js.map +1 -0
  8. package/dist/src/faf-core/commands/bi-sync.d.ts +9 -5
  9. package/dist/src/faf-core/commands/bi-sync.js +89 -85
  10. package/dist/src/faf-core/commands/bi-sync.js.map +1 -1
  11. package/dist/src/faf-core/commands/conductor.d.ts +25 -0
  12. package/dist/src/faf-core/commands/conductor.js +157 -0
  13. package/dist/src/faf-core/commands/conductor.js.map +1 -0
  14. package/dist/src/faf-core/commands/cursor.d.ts +29 -0
  15. package/dist/src/faf-core/commands/cursor.js +134 -0
  16. package/dist/src/faf-core/commands/cursor.js.map +1 -0
  17. package/dist/src/faf-core/commands/gemini.d.ts +29 -0
  18. package/dist/src/faf-core/commands/gemini.js +133 -0
  19. package/dist/src/faf-core/commands/gemini.js.map +1 -0
  20. package/dist/src/faf-core/commands/git-context.d.ts +23 -0
  21. package/dist/src/faf-core/commands/git-context.js +66 -0
  22. package/dist/src/faf-core/commands/git-context.js.map +1 -0
  23. package/dist/src/faf-core/commands/human.d.ts +27 -0
  24. package/dist/src/faf-core/commands/human.js +183 -0
  25. package/dist/src/faf-core/commands/human.js.map +1 -0
  26. package/dist/src/faf-core/commands/readme.d.ts +47 -0
  27. package/dist/src/faf-core/commands/readme.js +361 -0
  28. package/dist/src/faf-core/commands/readme.js.map +1 -0
  29. package/dist/src/faf-core/engines/fab-formats-processor.js +3 -3
  30. package/dist/src/faf-core/engines/fab-formats-processor.js.map +1 -1
  31. package/dist/src/faf-core/engines/faf-dna.d.ts +1 -1
  32. package/dist/src/faf-core/engines/faf-dna.js +4 -3
  33. package/dist/src/faf-core/engines/faf-dna.js.map +1 -1
  34. package/dist/src/faf-core/generators/faf-generator-championship.js +9 -8
  35. package/dist/src/faf-core/generators/faf-generator-championship.js.map +1 -1
  36. package/dist/src/faf-core/parsers/agents-parser.d.ts +59 -0
  37. package/dist/src/faf-core/parsers/agents-parser.js +324 -0
  38. package/dist/src/faf-core/parsers/agents-parser.js.map +1 -0
  39. package/dist/src/faf-core/parsers/conductor-parser.d.ts +85 -0
  40. package/dist/src/faf-core/parsers/conductor-parser.js +293 -0
  41. package/dist/src/faf-core/parsers/conductor-parser.js.map +1 -0
  42. package/dist/src/faf-core/parsers/cursorrules-parser.d.ts +57 -0
  43. package/dist/src/faf-core/parsers/cursorrules-parser.js +317 -0
  44. package/dist/src/faf-core/parsers/cursorrules-parser.js.map +1 -0
  45. package/dist/src/faf-core/parsers/faf-git-generator.d.ts +53 -0
  46. package/dist/src/faf-core/parsers/faf-git-generator.js +512 -0
  47. package/dist/src/faf-core/parsers/faf-git-generator.js.map +1 -0
  48. package/dist/src/faf-core/parsers/gemini-parser.d.ts +57 -0
  49. package/dist/src/faf-core/parsers/gemini-parser.js +263 -0
  50. package/dist/src/faf-core/parsers/gemini-parser.js.map +1 -0
  51. package/dist/src/faf-core/parsers/github-extractor.d.ts +61 -0
  52. package/dist/src/faf-core/parsers/github-extractor.js +374 -0
  53. package/dist/src/faf-core/parsers/github-extractor.js.map +1 -0
  54. package/dist/src/faf-core/parsers/index.d.ts +12 -0
  55. package/dist/src/{compiler → faf-core/parsers}/index.js +10 -5
  56. package/dist/src/faf-core/parsers/index.js.map +1 -0
  57. package/dist/src/faf-core/parsers/slot-counter.d.ts +55 -0
  58. package/dist/src/faf-core/parsers/slot-counter.js +100 -0
  59. package/dist/src/faf-core/parsers/slot-counter.js.map +1 -0
  60. package/dist/src/faf-core/utils/balance-visualizer.js +3 -3
  61. package/dist/src/faf-core/utils/balance-visualizer.js.map +1 -1
  62. package/dist/src/handlers/championship-tools.d.ts +10 -5
  63. package/dist/src/handlers/championship-tools.js +259 -232
  64. package/dist/src/handlers/championship-tools.js.map +1 -1
  65. package/dist/src/handlers/engine-adapter.js +238 -5
  66. package/dist/src/handlers/engine-adapter.js.map +1 -1
  67. package/dist/src/handlers/tools.d.ts +61 -0
  68. package/dist/src/handlers/tools.js +2103 -102
  69. package/dist/src/handlers/tools.js.map +1 -1
  70. package/dist/src/index.js +0 -0
  71. package/dist/src/types/tool-visibility.js +51 -10
  72. package/dist/src/types/tool-visibility.js.map +1 -1
  73. package/dist/src/utils/championship-format.js +11 -9
  74. package/dist/src/utils/championship-format.js.map +1 -1
  75. package/dist/src/utils/path-resolver.js +56 -2
  76. package/dist/src/utils/path-resolver.js.map +1 -1
  77. package/dist/src/utils/visual-style.js +7 -5
  78. package/dist/src/utils/visual-style.js.map +1 -1
  79. package/dist/src/version.js +24 -11
  80. package/dist/src/version.js.map +1 -1
  81. package/package.json +5 -3
  82. package/project.faf +14 -18
  83. package/dist/index.json +0 -1
  84. package/dist/src/compiler/index.d.ts +0 -7
  85. package/dist/src/compiler/index.js.map +0 -1
  86. package/dist/src/compiler/scorer.d.ts +0 -53
  87. package/dist/src/compiler/scorer.js +0 -189
  88. package/dist/src/compiler/scorer.js.map +0 -1
  89. package/dist/src/compiler/slot-validator.d.ts +0 -32
  90. package/dist/src/compiler/slot-validator.js +0 -293
  91. package/dist/src/compiler/slot-validator.js.map +0 -1
  92. package/dist/src/compiler/type-detector.d.ts +0 -62
  93. package/dist/src/compiler/type-detector.js +0 -388
  94. package/dist/src/compiler/type-detector.js.map +0 -1
  95. package/dist/src/types/project-types.d.ts +0 -22
  96. package/dist/src/types/project-types.js +0 -85
  97. package/dist/src/types/project-types.js.map +0 -1
  98. package/dist/src/types/slots.d.ts +0 -39
  99. package/dist/src/types/slots.js +0 -162
  100. package/dist/src/types/slots.js.map +0 -1
@@ -1,388 +0,0 @@
1
- "use strict";
2
- /**
3
- * Project Type Detector - FAF Compiler Engine MK3
4
- * Championship-grade type detection with intelligent confidence scoring
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.ProjectTypeDetector = void 0;
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
43
- const project_types_1 = require("../types/project-types");
44
- class ProjectTypeDetector {
45
- projectPath;
46
- packageJson = null;
47
- constructor(projectPath) {
48
- this.projectPath = projectPath;
49
- }
50
- /**
51
- * Detect project type from file system analysis
52
- */
53
- async detect() {
54
- // Load package.json if it exists
55
- await this.loadPackageJson();
56
- // Detection priority (as per spec)
57
- // 1. Explicit markers
58
- const explicitType = this.detectExplicitMarkers();
59
- if (explicitType) {
60
- return this.createResult(explicitType.type, explicitType.confidence, explicitType.reasoning);
61
- }
62
- // 2. Framework signatures
63
- const frameworkType = this.detectFrameworkSignatures();
64
- if (frameworkType) {
65
- return this.createResult(frameworkType.type, frameworkType.confidence, frameworkType.reasoning);
66
- }
67
- // 3. Structure analysis
68
- const structureType = await this.analyzeStructure();
69
- if (structureType) {
70
- return this.createResult(structureType.type, structureType.confidence, structureType.reasoning);
71
- }
72
- // 4. Package.json analysis
73
- const packageType = this.analyzePackageJson();
74
- if (packageType) {
75
- return this.createResult(packageType.type, packageType.confidence, packageType.reasoning);
76
- }
77
- // 5. Default to full-stack (safe fallback)
78
- return this.createResult('full-stack', 50, 'Defaulted to full-stack (unable to determine specific type)');
79
- }
80
- /**
81
- * Check for explicit file markers
82
- */
83
- detectExplicitMarkers() {
84
- // Browser extension
85
- if (this.hasFile('manifest.json')) {
86
- return {
87
- type: 'browser-extension',
88
- confidence: 95,
89
- reasoning: 'Found manifest.json (browser extension marker)',
90
- };
91
- }
92
- // Documentation site
93
- if (this.hasFile('docusaurus.config.js') || this.hasFile('docusaurus.config.ts')) {
94
- return {
95
- type: 'docs-site',
96
- confidence: 95,
97
- reasoning: 'Found Docusaurus config',
98
- };
99
- }
100
- if (this.hasFile('vitepress.config.js') || this.hasFile('vitepress.config.ts') || this.hasFile('.vitepress/config.js')) {
101
- return {
102
- type: 'docs-site',
103
- confidence: 95,
104
- reasoning: 'Found VitePress config',
105
- };
106
- }
107
- if (this.hasFile('nextra.config.js') || this.hasFile('next.config.js')) {
108
- const hasDocs = this.hasDirectory('pages') || this.hasDirectory('docs');
109
- if (hasDocs) {
110
- return {
111
- type: 'docs-site',
112
- confidence: 90,
113
- reasoning: 'Found Next.js config with docs structure',
114
- };
115
- }
116
- }
117
- // Monorepo
118
- if (this.hasFile('pnpm-workspace.yaml')) {
119
- return {
120
- type: 'monorepo',
121
- confidence: 95,
122
- reasoning: 'Found pnpm-workspace.yaml',
123
- };
124
- }
125
- if (this.hasFile('lerna.json')) {
126
- return {
127
- type: 'monorepo',
128
- confidence: 95,
129
- reasoning: 'Found lerna.json',
130
- };
131
- }
132
- if (this.hasFile('nx.json')) {
133
- return {
134
- type: 'monorepo',
135
- confidence: 95,
136
- reasoning: 'Found nx.json (Nx monorepo)',
137
- };
138
- }
139
- if (this.hasFile('turbo.json')) {
140
- return {
141
- type: 'monorepo',
142
- confidence: 95,
143
- reasoning: 'Found turbo.json (Turborepo)',
144
- };
145
- }
146
- // Serverless
147
- if (this.hasFile('serverless.yml') || this.hasFile('serverless.yaml')) {
148
- return {
149
- type: 'serverless',
150
- confidence: 95,
151
- reasoning: 'Found serverless config',
152
- };
153
- }
154
- // Microservices
155
- if (this.hasFile('docker-compose.yml') || this.hasFile('docker-compose.yaml')) {
156
- if (this.hasDirectory('k8s') || this.hasDirectory('kubernetes')) {
157
- return {
158
- type: 'microservices',
159
- confidence: 90,
160
- reasoning: 'Found docker-compose + k8s configs',
161
- };
162
- }
163
- }
164
- return null;
165
- }
166
- /**
167
- * Detect framework signatures from dependencies
168
- */
169
- detectFrameworkSignatures() {
170
- if (!this.packageJson)
171
- return null;
172
- const allDeps = {
173
- ...this.packageJson.dependencies,
174
- ...this.packageJson.devDependencies,
175
- };
176
- // MCP Server
177
- if (allDeps['@modelcontextprotocol/sdk']) {
178
- return {
179
- type: 'mcp-server',
180
- confidence: 95,
181
- reasoning: 'Found @modelcontextprotocol/sdk dependency',
182
- };
183
- }
184
- // Desktop app
185
- if (allDeps['electron'] || allDeps['@tauri-apps/api']) {
186
- return {
187
- type: 'desktop-app',
188
- confidence: 95,
189
- reasoning: allDeps['electron'] ? 'Found Electron dependency' : 'Found Tauri dependency',
190
- };
191
- }
192
- // Mobile app
193
- if (allDeps['react-native'] || allDeps['expo']) {
194
- return {
195
- type: 'mobile-app',
196
- confidence: 95,
197
- reasoning: allDeps['react-native'] ? 'Found React Native dependency' : 'Found Expo dependency',
198
- };
199
- }
200
- if (allDeps['flutter']) {
201
- return {
202
- type: 'mobile-app',
203
- confidence: 95,
204
- reasoning: 'Found Flutter dependency',
205
- };
206
- }
207
- return null;
208
- }
209
- /**
210
- * Analyze project structure
211
- */
212
- async analyzeStructure() {
213
- const hasFrontend = this.hasFrontendFramework();
214
- const hasBackend = this.hasBackendFramework();
215
- const hasDatabase = this.hasDatabaseDependency();
216
- // Full-stack (all three)
217
- if (hasFrontend && hasBackend && hasDatabase) {
218
- return {
219
- type: 'full-stack',
220
- confidence: 90,
221
- reasoning: 'Has frontend + backend + database',
222
- };
223
- }
224
- // API backend (backend, no frontend)
225
- if (hasBackend && !hasFrontend) {
226
- return {
227
- type: 'api-backend',
228
- confidence: 85,
229
- reasoning: 'Has backend framework, no frontend',
230
- };
231
- }
232
- // SPA or Vibe site (frontend, no backend)
233
- if (hasFrontend && !hasBackend) {
234
- const isStaticOnly = await this.isStaticOnly();
235
- if (isStaticOnly) {
236
- return {
237
- type: 'vibe-site',
238
- confidence: 80,
239
- reasoning: 'Static site with minimal dependencies',
240
- };
241
- }
242
- return {
243
- type: 'spa',
244
- confidence: 85,
245
- reasoning: 'Has frontend framework, no backend',
246
- };
247
- }
248
- return null;
249
- }
250
- /**
251
- * Analyze package.json for library/CLI patterns
252
- */
253
- analyzePackageJson() {
254
- if (!this.packageJson)
255
- return null;
256
- // CLI tool
257
- if (this.packageJson.bin) {
258
- return {
259
- type: 'cli-tool',
260
- confidence: 90,
261
- reasoning: 'Has bin field in package.json',
262
- };
263
- }
264
- // Library
265
- if (this.packageJson.main || this.packageJson.exports) {
266
- const hasSrcDir = this.hasDirectory('src');
267
- const hasNoAppStructure = !this.hasDirectory('pages') && !this.hasDirectory('app') && !this.hasDirectory('routes');
268
- if (hasSrcDir && hasNoAppStructure) {
269
- return {
270
- type: 'library',
271
- confidence: 85,
272
- reasoning: 'Has main/exports field with library structure',
273
- };
274
- }
275
- }
276
- return null;
277
- }
278
- /**
279
- * Create TypeDetectionResult from detected type
280
- */
281
- createResult(type, confidence, reasoning) {
282
- return {
283
- type,
284
- confidence,
285
- slotignore: project_types_1.SLOT_IGNORE_BY_TYPE[type],
286
- relevantSlots: project_types_1.RELEVANT_SLOTS_BY_TYPE[type],
287
- reasoning,
288
- };
289
- }
290
- /**
291
- * Helper: Check if file exists
292
- */
293
- hasFile(fileName) {
294
- try {
295
- const filePath = path.join(this.projectPath, fileName);
296
- return fs.existsSync(filePath) && fs.statSync(filePath).isFile();
297
- }
298
- catch {
299
- return false;
300
- }
301
- }
302
- /**
303
- * Helper: Check if directory exists
304
- */
305
- hasDirectory(dirName) {
306
- try {
307
- const dirPath = path.join(this.projectPath, dirName);
308
- return fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();
309
- }
310
- catch {
311
- return false;
312
- }
313
- }
314
- /**
315
- * Helper: Load package.json
316
- */
317
- async loadPackageJson() {
318
- try {
319
- const pkgPath = path.join(this.projectPath, 'package.json');
320
- if (fs.existsSync(pkgPath)) {
321
- const content = fs.readFileSync(pkgPath, 'utf-8');
322
- this.packageJson = JSON.parse(content);
323
- }
324
- }
325
- catch {
326
- // Silently fail if package.json doesn't exist or can't be parsed
327
- }
328
- }
329
- /**
330
- * Helper: Check if has frontend framework
331
- */
332
- hasFrontendFramework() {
333
- if (!this.packageJson)
334
- return false;
335
- const allDeps = {
336
- ...this.packageJson.dependencies,
337
- ...this.packageJson.devDependencies,
338
- };
339
- const frontendFrameworks = ['react', 'vue', 'svelte', '@angular/core', 'solid-js', 'preact'];
340
- return frontendFrameworks.some(fw => allDeps[fw]);
341
- }
342
- /**
343
- * Helper: Check if has backend framework
344
- */
345
- hasBackendFramework() {
346
- if (!this.packageJson)
347
- return false;
348
- const allDeps = {
349
- ...this.packageJson.dependencies,
350
- ...this.packageJson.devDependencies,
351
- };
352
- const backendFrameworks = ['express', 'koa', 'hono', '@hono/node-server', 'fastify', 'nestjs'];
353
- return backendFrameworks.some(fw => allDeps[fw]);
354
- }
355
- /**
356
- * Helper: Check if has database dependency
357
- */
358
- hasDatabaseDependency() {
359
- if (!this.packageJson)
360
- return false;
361
- const allDeps = {
362
- ...this.packageJson.dependencies,
363
- ...this.packageJson.devDependencies,
364
- };
365
- const databases = ['pg', 'mysql', 'mongodb', 'mongoose', 'prisma', '@supabase/supabase-js', 'sqlite3', 'better-sqlite3'];
366
- return databases.some(db => allDeps[db]);
367
- }
368
- /**
369
- * Helper: Check if static-only site
370
- */
371
- async isStaticOnly() {
372
- if (!this.packageJson)
373
- return true;
374
- const allDeps = {
375
- ...this.packageJson.dependencies,
376
- ...this.packageJson.devDependencies,
377
- };
378
- // Count total dependencies
379
- const depCount = Object.keys(allDeps).length;
380
- // Static sites typically have < 10 dependencies
381
- // and no server/state management libraries
382
- const hasServerDeps = allDeps['express'] || allDeps['next'] || allDeps['@sveltejs/kit'];
383
- const hasStateMgmt = allDeps['redux'] || allDeps['zustand'] || allDeps['@tanstack/react-query'];
384
- return depCount < 10 && !hasServerDeps && !hasStateMgmt;
385
- }
386
- }
387
- exports.ProjectTypeDetector = ProjectTypeDetector;
388
- //# sourceMappingURL=type-detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-detector.js","sourceRoot":"","sources":["../../../src/compiler/type-detector.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Project Types V1 - FAF Compiler Engine MK3
3
- * Championship-grade type definitions for intelligent project scoring
4
- */
5
- export type ProjectType = 'browser-extension' | 'vibe-site' | 'spa' | 'full-stack' | 'api-backend' | 'library' | 'cli-tool' | 'mcp-server' | 'desktop-app' | 'mobile-app' | 'microservices' | 'serverless' | 'docs-site' | 'monorepo';
6
- export interface TypeDetectionResult {
7
- type: ProjectType;
8
- confidence: number;
9
- slotignore: string[];
10
- relevantSlots: number;
11
- reasoning: string;
12
- }
13
- export interface ProjectSignature {
14
- files?: string[];
15
- dependencies?: string[];
16
- devDependencies?: string[];
17
- directories?: string[];
18
- packageJsonFields?: string[];
19
- }
20
- export declare const PROJECT_TYPE_SIGNATURES: Record<ProjectType, ProjectSignature>;
21
- export declare const SLOT_IGNORE_BY_TYPE: Record<ProjectType, string[]>;
22
- export declare const RELEVANT_SLOTS_BY_TYPE: Record<ProjectType, number>;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- /**
3
- * Project Types V1 - FAF Compiler Engine MK3
4
- * Championship-grade type definitions for intelligent project scoring
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.RELEVANT_SLOTS_BY_TYPE = exports.SLOT_IGNORE_BY_TYPE = exports.PROJECT_TYPE_SIGNATURES = void 0;
8
- exports.PROJECT_TYPE_SIGNATURES = {
9
- 'browser-extension': {
10
- files: ['manifest.json'],
11
- },
12
- 'docs-site': {
13
- files: ['docusaurus.config.js', 'vitepress.config.js', 'nextra.config.js'],
14
- },
15
- 'monorepo': {
16
- files: ['pnpm-workspace.yaml', 'lerna.json', 'nx.json', 'turbo.json'],
17
- },
18
- 'mcp-server': {
19
- dependencies: ['@modelcontextprotocol/sdk'],
20
- },
21
- 'desktop-app': {
22
- dependencies: ['electron', 'tauri'],
23
- },
24
- 'mobile-app': {
25
- dependencies: ['react-native', 'flutter', 'expo'],
26
- },
27
- 'serverless': {
28
- files: ['serverless.yml', 'serverless.yaml'],
29
- dependencies: ['serverless'],
30
- },
31
- 'microservices': {
32
- files: ['docker-compose.yml', 'k8s/', 'kubernetes/'],
33
- },
34
- 'cli-tool': {
35
- packageJsonFields: ['bin'],
36
- },
37
- 'library': {
38
- packageJsonFields: ['main', 'exports'],
39
- },
40
- 'api-backend': {
41
- dependencies: ['express', 'fastapi', 'koa', 'hono', '@hono/node-server'],
42
- },
43
- 'full-stack': {
44
- // Detected by structure analysis (frontend + backend + database)
45
- },
46
- 'spa': {
47
- dependencies: ['react', 'vue', 'svelte', '@angular/core'],
48
- },
49
- 'vibe-site': {
50
- // Detected by static structure, minimal dependencies
51
- },
52
- };
53
- exports.SLOT_IGNORE_BY_TYPE = {
54
- 'browser-extension': ['backend', 'database', 'hosting', 'api', 'auth', 'storage', 'caching', 'team'],
55
- 'vibe-site': ['backend', 'database', 'api', 'cicd', 'hosting', 'ui_library', 'state', 'runtime', 'auth', 'storage', 'caching', 'team'],
56
- 'spa': ['backend', 'database', 'storage', 'caching'],
57
- 'full-stack': [], // No slots ignored
58
- 'api-backend': ['frontend', 'css', 'ui_library', 'state'],
59
- 'library': ['frontend', 'backend', 'database', 'api', 'hosting', 'css', 'ui_library', 'state', 'runtime', 'auth', 'storage', 'caching', 'team'],
60
- 'cli-tool': ['frontend', 'backend', 'database', 'api', 'hosting', 'css', 'ui_library', 'state', 'auth', 'storage', 'caching', 'team'],
61
- 'mcp-server': ['frontend', 'database', 'hosting', 'css', 'ui_library', 'state', 'auth', 'storage', 'caching', 'team'],
62
- 'desktop-app': ['hosting', 'caching', 'team'],
63
- 'mobile-app': ['hosting', 'caching', 'team'],
64
- 'microservices': [], // No slots ignored
65
- 'serverless': ['frontend', 'css', 'ui_library', 'state'],
66
- 'docs-site': ['backend', 'database', 'api', 'hosting', 'cicd', 'testing', 'ui_library', 'state', 'runtime', 'auth', 'storage', 'caching', 'team'],
67
- 'monorepo': [], // No slots ignored
68
- };
69
- exports.RELEVANT_SLOTS_BY_TYPE = {
70
- 'browser-extension': 13,
71
- 'vibe-site': 11,
72
- 'spa': 17,
73
- 'full-stack': 21,
74
- 'api-backend': 17,
75
- 'library': 10,
76
- 'cli-tool': 10,
77
- 'mcp-server': 11,
78
- 'desktop-app': 18,
79
- 'mobile-app': 18,
80
- 'microservices': 21,
81
- 'serverless': 17,
82
- 'docs-site': 9,
83
- 'monorepo': 21,
84
- };
85
- //# sourceMappingURL=project-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-types.js","sourceRoot":"","sources":["../../../src/types/project-types.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Universal 21-Slot Architecture
3
- * Championship-grade slot definitions for FAF Compiler Engine MK3
4
- */
5
- export interface SlotDefinition {
6
- number: number;
7
- name: string;
8
- description: string;
9
- category: 'core' | 'stack' | 'architecture';
10
- }
11
- export declare const UNIVERSAL_SLOTS: SlotDefinition[];
12
- export interface SlotStatus {
13
- slotNumber: number;
14
- slotName: string;
15
- required: boolean;
16
- filled: boolean;
17
- value?: any;
18
- points: number;
19
- }
20
- export interface ValidationResult {
21
- totalSlots: 21;
22
- relevantSlots: number;
23
- filledSlots: number;
24
- slots: SlotStatus[];
25
- score: number;
26
- medal: 'trophy' | 'gold' | 'silver' | 'bronze' | 'red' | 'white';
27
- }
28
- /**
29
- * Get slot name by number
30
- */
31
- export declare function getSlotName(slotNumber: number): string;
32
- /**
33
- * Get all slot names
34
- */
35
- export declare function getAllSlotNames(): string[];
36
- /**
37
- * Check if a slot is in the core category
38
- */
39
- export declare function isCoreSlot(slotName: string): boolean;