faf-cli 5.0.0 → 5.0.2

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 (31) hide show
  1. package/README.md +134 -67
  2. package/dist/commands/auto.d.ts.map +1 -1
  3. package/dist/commands/auto.js +19 -0
  4. package/dist/commands/auto.js.map +1 -1
  5. package/dist/engines/fab-formats-processor.d.ts +4 -0
  6. package/dist/engines/fab-formats-processor.d.ts.map +1 -1
  7. package/dist/engines/fab-formats-processor.js +117 -1
  8. package/dist/engines/fab-formats-processor.js.map +1 -1
  9. package/dist/generators/faf-generator-championship.d.ts.map +1 -1
  10. package/dist/generators/faf-generator-championship.js +4 -1
  11. package/dist/generators/faf-generator-championship.js.map +1 -1
  12. package/dist/output/experience-manager.js +1 -1
  13. package/dist/output/experience-manager.js.map +1 -1
  14. package/dist/taf/test-output-parser.d.ts.map +1 -1
  15. package/dist/taf/test-output-parser.js +26 -13
  16. package/dist/taf/test-output-parser.js.map +1 -1
  17. package/dist/utils/agents-parser.js +28 -14
  18. package/dist/utils/agents-parser.js.map +1 -1
  19. package/dist/utils/championship-style.js +1 -1
  20. package/dist/utils/championship-style.js.map +1 -1
  21. package/dist/utils/cursorrules-parser.js +24 -12
  22. package/dist/utils/cursorrules-parser.js.map +1 -1
  23. package/dist/utils/turbo-cat-knowledge.d.ts.map +1 -1
  24. package/dist/utils/turbo-cat-knowledge.js +4 -13
  25. package/dist/utils/turbo-cat-knowledge.js.map +1 -1
  26. package/dist/utils/yaml-generator.d.ts.map +1 -1
  27. package/dist/utils/yaml-generator.js +28 -6
  28. package/dist/utils/yaml-generator.js.map +1 -1
  29. package/package.json +1 -1
  30. package/project.faf +1 -1
  31. package/scripts/update-version.js +1 -1
package/README.md CHANGED
@@ -17,7 +17,20 @@ project/
17
17
  >
18
18
  > You have a `package.json`. Add a `project.faf`. Done.
19
19
 
20
- At 100% AI Readiness, AI stops guessing and starts knowing. Live bi-sync between `project.faf` `CLAUDE.md` means zero context-drift your project DNA stays aligned with AI, forever.
20
+ Git-Native. `project.faf` versions with your code every clone, every fork, every checkout gets full AI context. No setup, no drift, no re-explaining.
21
+
22
+ ### Top 6 Commands
23
+
24
+ | # | Command | One-liner |
25
+ |---|---------|-----------|
26
+ | 1 | `faf init` | Create `.faf` from your local project |
27
+ | 2 | `faf git <url>` | Instant `.faf` from any GitHub repo — no clone |
28
+ | 3 | `faf auto` | Zero to 100% in one command |
29
+ | 4 | `faf go` | Guided interview to gold code |
30
+ | 5 | `faf bi-sync` | `.faf` ↔ CLAUDE.md — free forever |
31
+ | 6 | `faf tri-sync` | ROM ↔ CLAUDE.md ↔ MEMORY.md — Pro |
32
+
33
+ **Define. Build. Lock. Relax.** Answer the 6Ws. Run the Top 6. AI context at 100% — forever.
21
34
 
22
35
  [![TAF](./badge.svg)](https://github.com/Wolfe-Jam/faf-taf-git)
23
36
  [![CI](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml)
@@ -43,6 +56,67 @@ At 100% AI Readiness, AI stops guessing and starts knowing. Live bi-sync between
43
56
 
44
57
  ---
45
58
 
59
+ ## 🧠 v5.0.2 — The RAM Edition
60
+
61
+ **TL;DR:** `.faf` is ROM — persistent, portable, yours forever. tri-sync adds RAM: it auto-syncs with Claude's MEMORY.md. For builders, serious coders, and app-makers.
62
+
63
+ **v5.0.2** — Universal Stack Detection: Python, Rust, and Go projects now get language-aware detection with real dependency parsing. Powers [gemini-faf-mcp](https://pypi.org/project/gemini-faf-mcp/)'s `faf_auto` tool.
64
+
65
+ The full story: **[faf.one/blog/ram-edition](https://faf.one/blog/ram-edition)**
66
+
67
+ ### The 3Ws — Everyone Can Have an App
68
+
69
+ You don't need to be a developer to describe an app idea. You just need 3 answers:
70
+
71
+ | | Question | Who answers it? |
72
+ |---|----------|----------------|
73
+ | **1W** | **WHO** is it for? | Anyone |
74
+ | **2W** | **WHAT** does it do? | Anyone |
75
+ | **3W** | **WHY** build it? | Anyone |
76
+
77
+ A teacher, a chef, a parent with an app idea — they answer WHO, WHAT, WHY. That's the whole idea. Try it: **[faf.one/ideas](https://faf.one/ideas)**
78
+
79
+ ### The 6Ws — The Full Picture
80
+
81
+ The first 3 describe the idea. The next 3 describe the implementation:
82
+
83
+ | | Question | Who answers it? |
84
+ |---|----------|----------------|
85
+ | **4W** | **WHERE** does it live? | Developer |
86
+ | **5W** | **WHEN** is it shipping? | Developer |
87
+ | **6W** | **HOW** is it built? | Developer |
88
+
89
+ All 6 answers live in one file: `project.faf`. The package.json for AI context. Learn more: **[faf.one/6ws](https://faf.one/6ws)**
90
+
91
+ ### tri-sync — ROM meets RAM
92
+
93
+ ```
94
+ bi-sync = ROM (.faf) ↔ CLAUDE.md ← free forever
95
+ tri-sync = ROM ↔ CLAUDE.md ↔ RAM (MEMORY.md) ← Pro
96
+ ```
97
+
98
+ ```bash
99
+ faf tri-sync # .faf ↔ CLAUDE.md ↔ MEMORY.md
100
+ faf ram # Sync project context to RAM
101
+ faf bi-sync --ram # Include RAM in bi-sync
102
+ faf bi-sync --all # Everything: CLAUDE.md + AGENTS.md + .cursorrules + GEMINI.md + RAM
103
+ faf pro # Check license status
104
+ faf pro activate <key> # Activate license
105
+ ```
106
+
107
+ | Sync | Target | Status |
108
+ |------|--------|--------|
109
+ | bi-sync | `.faf` ↔ CLAUDE.md | Free forever |
110
+ | bi-sync | `.faf` ↔ AGENTS.md, .cursorrules, GEMINI.md | Free forever |
111
+ | **tri-sync** | `.faf` ↔ CLAUDE.md ↔ **MEMORY.md** | **Pro** |
112
+
113
+ 14-day free trial, no signup, no credit card. Early-bird: $3/mo · $19/yr (normally $10/mo — 70% off).
114
+ **[Purchase at faf.one/pro](https://faf.one/pro)**
115
+
116
+ **Release notes:** [CHANGELOG](./CHANGELOG.md)
117
+
118
+ ---
119
+
46
120
  ## 📋 The 6 Ws - Quick Reference
47
121
 
48
122
  Every README should answer these questions. Here's ours:
@@ -51,8 +125,8 @@ Every README should answer these questions. Here's ours:
51
125
  |----------|--------|
52
126
  | **👥 WHO** is this for? | Developers using AI coding assistants (Claude, Gemini, Cursor, Grok, ChatGPT) |
53
127
  | **📦 WHAT** is it? | The package.json for AI context - IANA-registered format |
128
+ | **🎯 WHY** do you need it? | 100% context (AI-scored), persists forever, syncs automatically - saves $1000s/developer |
54
129
  | **🌍 WHERE** does it work? | Everywhere AI needs context (Claude Code, Gemini CLI, Cursor, etc.) |
55
- | **🎯 WHY** do you need it? | 100% context (AI-scored), persists forever, bi-syncs automatically - saves $1000s/developer |
56
130
  | **⏰ WHEN** should you use it? | New projects (day one), existing projects (now), exploring repos (instantly) |
57
131
  | **🚀 HOW** does it work? | `npx faf-cli git <url>` - No install, no clone, 2 seconds |
58
132
 
@@ -100,32 +174,6 @@ Like `package.json` tells npm about dependencies, `project.faf` tells AI about y
100
174
 
101
175
  ---
102
176
 
103
- ## 🌍 WHERE does it work?
104
-
105
- **Everywhere AI needs context:**
106
-
107
- ### Official Integrations
108
- - **[Claude Code](https://claude.ai/download)** (Anthropic) — Bi-sync with CLAUDE.md
109
- - **[Gemini CLI](https://github.com/google/generative-ai-cli)** (Google) — Import/export GEMINI.md
110
- - **[Antigravity IDE](https://antigravityide.com)** (Google) — Global config support
111
- - **[Conductor Extension](https://chromewebstore.google.com/detail/conductor)** (Google) — conductor/ directory sync
112
-
113
- ### Works With
114
- - Cursor, Cline, Windsurf, any AI coding assistant
115
- - ChatGPT, Claude Desktop, Gemini chat interfaces
116
- - CI/CD pipelines, automation scripts, build tools
117
-
118
- ### Ecosystem
119
- - **[MCPaaS](https://mcpaas.live)** — MCP as a Service (The Endpoint for Context)
120
- - **[claude-faf-mcp](https://npmjs.com/package/claude-faf-mcp)** — MCP server (52 tools)
121
- - **[faf-wasm](https://www.npmjs.com/package/faf-wasm)** — WASM SDK (<5ms scoring)
122
- - **[Chrome Extension](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)** — Browser integration
123
- - **[faf.one](https://faf.one)** — Official website
124
-
125
- **Universal format. Works everywhere. Write once, use with any AI.**
126
-
127
- ---
128
-
129
177
  ## 🎯 WHY do you need it?
130
178
 
131
179
  ### What FAF Actually Does
@@ -181,6 +229,34 @@ At 100% AI Readiness:
181
229
 
182
230
  ---
183
231
 
232
+ ## 🌍 WHERE does it work?
233
+
234
+ **Everywhere AI needs context:**
235
+
236
+ ### Official Integrations
237
+ - **[Claude Code](https://claude.ai/download)** (Anthropic) — Bi-sync + tri-sync with CLAUDE.md + MEMORY.md
238
+ - **[Gemini CLI](https://github.com/google/generative-ai-cli)** (Google) — Import/export GEMINI.md
239
+ - **[Antigravity IDE](https://antigravityide.com)** (Google) — Global config support
240
+ - **[Conductor Extension](https://chromewebstore.google.com/detail/conductor)** (Google) — conductor/ directory sync
241
+
242
+ ### Works With
243
+ - Cursor, Cline, Windsurf, any AI coding assistant
244
+ - ChatGPT, Claude Desktop, Gemini chat interfaces
245
+ - CI/CD pipelines, automation scripts, build tools
246
+
247
+ ### Ecosystem
248
+ - **[MCPaaS](https://mcpaas.live)** — MCP as a Service (The Endpoint for Context)
249
+ - **[claude-faf-mcp](https://npmjs.com/package/claude-faf-mcp)** — MCP server for Claude (52 tools)
250
+ - **[grok-faf-mcp](https://npmjs.com/package/grok-faf-mcp)** — MCP server for Grok / xAI
251
+ - **[gemini-faf-mcp](https://pypi.org/project/gemini-faf-mcp/)** — MCP server for Gemini / Google
252
+ - **[faf-wasm](https://www.npmjs.com/package/faf-wasm)** — WASM SDK (<5ms scoring)
253
+ - **[Chrome Extension](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)** — Browser integration
254
+ - **[faf.one](https://faf.one)** — Official website
255
+
256
+ **Universal format. Works everywhere. Write once, use with any AI.**
257
+
258
+ ---
259
+
184
260
  ## ⏰ WHEN should you use it?
185
261
 
186
262
  ### New Projects
@@ -366,6 +442,9 @@ Score: (15 + 6) / 21 = 100%
366
442
  | `faf auto` | Auto-enhance to Gold Code |
367
443
  | `faf score` | Check AI-readiness (0-100%) |
368
444
  | `faf bi-sync` | Sync .faf ↔ CLAUDE.md (8ms) |
445
+ | `faf tri-sync` | 🧠 .faf ↔ CLAUDE.md ↔ MEMORY.md (ROM meets RAM) — **Pro** |
446
+ | `faf ram` | Sync project context to Claude's MEMORY.md — **Pro** |
447
+ | `faf pro` | Check/activate Pro license (14-day free trial) |
369
448
  | `faf readme` | Extract 6 Ws from README (+25-35% boost) |
370
449
  | `faf human` | Interactive human context entry |
371
450
  | `faf human-set` | Non-interactive field setting |
@@ -380,22 +459,27 @@ Run `faf --help` for all 63 commands.
380
459
 
381
460
  ---
382
461
 
383
- ## 🔄 Bi-Sync: `project.faf` ↔ `CLAUDE.md`
462
+ ## 🔄 Bi-Sync & Tri-Sync
384
463
 
385
- Your `project.faf` stays synchronized with `CLAUDE.md` in milliseconds.
464
+ Your `project.faf` stays synchronized with everything in milliseconds.
386
465
 
387
466
  ```
388
- project.faf ←──── 8ms ────→ CLAUDE.md
389
- │ │
390
- └── Single source of truth ──┘
467
+ bi-sync: project.faf ←── 8ms ──→ CLAUDE.md (free)
468
+ tri-sync: project.faf ←── 8ms ──→ CLAUDE.md ←→ MEMORY.md (Pro)
391
469
  ```
392
470
 
393
471
  ```bash
472
+ # bi-sync — free forever
394
473
  faf bi-sync # Sync once (CLAUDE.md)
395
474
  faf bi-sync --agents # Also generate AGENTS.md
396
475
  faf bi-sync --cursor # Also generate .cursorrules
397
- faf bi-sync --all # All formats at once
476
+ faf bi-sync --all # All formats + RAM
398
477
  faf bi-sync --watch # Continuous sync
478
+
479
+ # tri-sync — Pro (ROM meets RAM)
480
+ faf tri-sync # .faf ↔ CLAUDE.md ↔ MEMORY.md
481
+ faf ram # Sync project context to RAM
482
+ faf ram status # Check RAM path and line count
399
483
  ```
400
484
 
401
485
  ---
@@ -480,48 +564,31 @@ Boris-Flow validates the FAF file structure that WJTTC Tier 8 tests. Running it
480
564
  |------|----------|
481
565
  | **faf-cli** (this) | Terminal, scripts, CI/CD, automation |
482
566
  | **claude-faf-mcp** | Claude Desktop via MCP protocol |
567
+ | **grok-faf-mcp** | Grok / xAI via MCP protocol |
568
+ | **gemini-faf-mcp** | Gemini / Google via MCP protocol |
483
569
 
484
- Same `project.faf`. Same scoring. Same result. Different execution layer.
570
+ Same `project.faf`. Same scoring. Same result. Different execution layer. Three AI platforms, one format.
485
571
 
486
572
  ---
487
573
 
488
- ## 🌐 What's New in v5.0.0 — The RAM Edition
489
-
490
- `.faf` is ROM — persistent, portable, yours forever. The RAM Edition adds tri-sync: ROM ↔ CLAUDE.md ↔ Claude's MEMORY.md. For builders, serious coders, and app-makers.
491
-
492
- ```
493
- bi-sync = ROM (.faf) ↔ CLAUDE.md
494
- tri-sync = ROM ↔ CLAUDE.md ↔ RAM (MEMORY.md)
495
- ```
496
-
497
- ```bash
498
- # tri-sync — ROM meets RAM
499
- faf tri-sync # .faf ↔ CLAUDE.md ↔ MEMORY.md
500
- faf ram # Sync project context to RAM
501
- faf bi-sync --ram # Include RAM in bi-sync
502
- faf bi-sync --all # Everything: CLAUDE.md + AGENTS.md + .cursorrules + GEMINI.md + RAM
503
-
504
- # Pro management
505
- faf pro # Check license status
506
- faf pro activate <key> # Activate license
507
- ```
508
-
509
- **Bi-sync is core. Tri-sync adds more.** What does it add? It adds RAM, and it auto-syncs with Claude's MEMORY.md. 14-day free trial, no signup, no credit card.
510
-
511
- | Sync | Target | Status |
512
- |------|--------|--------|
513
- | bi-sync | `.faf` ↔ CLAUDE.md | Free forever |
514
- | bi-sync | `.faf` ↔ AGENTS.md, .cursorrules, GEMINI.md | Free forever |
515
- | **tri-sync** | `.faf` ↔ CLAUDE.md ↔ **MEMORY.md** | **Pro** |
574
+ ## 📚 Documentation & Recommended Reading
516
575
 
517
- **6Ws reordered:** WHO, WHAT, WHY, WHERE, WHEN, HOW. First 3 = the idea. Last 3 = the implementation.
576
+ - **[The RAM Edition](https://faf.one/blog/ram-edition)** Full v5.0.1 release blog post
577
+ - **[FAF Pro](https://faf.one/pro)** — tri-sync pricing and activation
578
+ - **[Pro Docs](./docs/PRO.md)** — Commands, FAQ, and licensing
579
+ - **[The 3Ws](https://faf.one/ideas)** — Describe any app idea in 3 answers
580
+ - **[The 6Ws](https://faf.one/6ws)** — The complete project DNA framework
581
+ - **[CHANGELOG](./CHANGELOG.md)** — Version history
582
+ - **[Website](https://faf.one)** — Complete guide
583
+ - **[DAAFT Analysis](https://faf.one/daaft)** — The cost of not having context
518
584
 
519
585
  ---
520
586
 
521
- ## 📚 Documentation
587
+ ## 💬 Support
522
588
 
523
- - **[CHANGELOG](./CHANGELOG.md)** — Version history
524
- - **[Website](https://faf.one)** — Complete guide
589
+ - **[GitHub Discussions](https://github.com/Wolfe-Jam/faf-cli/discussions)** — Questions, ideas, community
590
+ - **[Pro Docs](./docs/PRO.md)** — tri-sync commands, activation, FAQ
591
+ - **Email:** team@faf.one
525
592
 
526
593
  ---
527
594
 
@@ -1 +1 @@
1
- {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,iBAwb9E;;AAED;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,iBA+c9E;;AAED;;;;;;;;;;;;;;GAcG"}
@@ -229,6 +229,17 @@ async function autoCommand(directory, options = {}) {
229
229
  }
230
230
  });
231
231
  }
232
+ // VERIFICATION: Cross-check allocations against actual discoveries
233
+ const pyprojectFound = analysis.confirmedFormats.some((f) => f.fileName === 'pyproject.toml');
234
+ if (pyprojectFound && parsed.stack) {
235
+ // If pyproject.toml exists, main_language must be Python (not JS from package.json)
236
+ if (parsed.stack.main_language && parsed.stack.main_language !== 'Python') {
237
+ parsed.stack.main_language = 'Python';
238
+ }
239
+ if (parsed.stack.mainLanguage && parsed.stack.mainLanguage !== 'Python') {
240
+ parsed.stack.mainLanguage = 'Python';
241
+ }
242
+ }
232
243
  // Merge stack signature and intelligence (metadata fields)
233
244
  if (analysis.stackSignature && analysis.stackSignature !== 'unknown-stack') {
234
245
  parsed.stack_signature = analysis.stackSignature;
@@ -362,6 +373,10 @@ async function autoCommand(directory, options = {}) {
362
373
  parsed.stats.best_auto_time = parseFloat(lapTime);
363
374
  parsed.stats.last_auto_time = parseFloat(lapTime);
364
375
  parsed.stats.times_run = (parsed.stats.times_run || 0) + 1;
376
+ // Refresh score metadata
377
+ parsed.scores = parsed.scores || {};
378
+ parsed.scores.faf_score = newScore;
379
+ parsed.scores.ai_confidence = newScore >= 85 ? 'high' : newScore >= 70 ? 'medium' : 'low';
365
380
  await fs.writeFile(fafPath, yaml_1.default.stringify(parsed), 'utf-8');
366
381
  }
367
382
  }
@@ -372,6 +387,10 @@ async function autoCommand(directory, options = {}) {
372
387
  }
373
388
  parsed.stats.last_auto_time = parseFloat(lapTime);
374
389
  parsed.stats.times_run = (parsed.stats.times_run || 0) + 1;
390
+ // Refresh score metadata
391
+ parsed.scores = parsed.scores || {};
392
+ parsed.scores.faf_score = newScore;
393
+ parsed.scores.ai_confidence = newScore >= 85 ? 'high' : newScore >= 70 ? 'medium' : 'low';
375
394
  await fs.writeFile(fafPath, yaml_1.default.stringify(parsed), 'utf-8');
376
395
  }
377
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,10 @@ export declare class FabFormatsProcessor {
111
111
  * Process pyproject.toml
112
112
  */
113
113
  private processPyProject;
114
+ /**
115
+ * Extract dependency names from pyproject.toml content
116
+ */
117
+ private extractPyProjectDeps;
114
118
  /**
115
119
  * Process Cargo.toml
116
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fab-formats-processor.d.ts","sourceRoot":"","sources":["../../src/engines/fab-formats-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fab-formats-processor.d.ts","sourceRoot":"","sources":["../../src/engines/fab-formats-processor.ts"],"names":[],"mappings":"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"}
@@ -784,10 +784,100 @@ class FabFormatsProcessor {
784
784
  intelligenceBonus += 20;
785
785
  metadata.poetry = true;
786
786
  }
787
- // Check for build system
787
+ // Check for build system and detect actual package manager/build tool
788
788
  if (content.includes('[build-system]')) {
789
789
  intelligenceBonus += 15;
790
790
  metadata.modernBuild = true;
791
+ // Detect actual build backend from [build-system] requires
792
+ const requiresMatch = content.match(/\[build-system\][^[]*requires\s*=\s*\[([^\]]*)\]/s);
793
+ if (requiresMatch) {
794
+ const requires = requiresMatch[1].toLowerCase();
795
+ if (requires.includes('setuptools')) {
796
+ if (!this.context.packageManager)
797
+ this.context.packageManager = 'pip';
798
+ if (!this.context.buildTool)
799
+ this.context.buildTool = 'setuptools';
800
+ }
801
+ else if (requires.includes('hatchling') || requires.includes('hatch')) {
802
+ if (!this.context.packageManager)
803
+ this.context.packageManager = 'hatch';
804
+ if (!this.context.buildTool)
805
+ this.context.buildTool = 'hatchling';
806
+ }
807
+ else if (requires.includes('flit')) {
808
+ if (!this.context.packageManager)
809
+ this.context.packageManager = 'flit';
810
+ if (!this.context.buildTool)
811
+ this.context.buildTool = 'flit';
812
+ }
813
+ else if (requires.includes('pdm')) {
814
+ if (!this.context.packageManager)
815
+ this.context.packageManager = 'pdm';
816
+ if (!this.context.buildTool)
817
+ this.context.buildTool = 'pdm';
818
+ }
819
+ else if (requires.includes('poetry')) {
820
+ if (!this.context.packageManager)
821
+ this.context.packageManager = 'Poetry';
822
+ if (!this.context.buildTool)
823
+ this.context.buildTool = 'Poetry';
824
+ }
825
+ }
826
+ }
827
+ // Parse dependencies to detect database, API type, framework
828
+ const allDeps = this.extractPyProjectDeps(content);
829
+ if (allDeps.length > 0) {
830
+ // Database detection
831
+ if (!this.context.database) {
832
+ if (allDeps.some(d => d.includes('bigquery') || d.includes('google-cloud-bigquery'))) {
833
+ this.context.database = 'BigQuery';
834
+ if (!this.context.connection)
835
+ this.context.connection = 'gRPC';
836
+ }
837
+ else if (allDeps.some(d => d.includes('psycopg') || d.includes('asyncpg') || d.includes('sqlalchemy'))) {
838
+ this.context.database = 'PostgreSQL';
839
+ if (!this.context.connection)
840
+ this.context.connection = 'TCP';
841
+ }
842
+ else if (allDeps.some(d => d.includes('pymongo') || d.includes('motor'))) {
843
+ this.context.database = 'MongoDB';
844
+ if (!this.context.connection)
845
+ this.context.connection = 'TCP';
846
+ }
847
+ else if (allDeps.some(d => d === 'redis' || d.includes('redis'))) {
848
+ this.context.database = 'Redis';
849
+ if (!this.context.connection)
850
+ this.context.connection = 'TCP';
851
+ }
852
+ }
853
+ // API type / framework detection
854
+ if (!this.context.apiType) {
855
+ if (allDeps.some(d => d.includes('fastmcp') || d.includes('mcp'))) {
856
+ this.context.apiType = 'MCP';
857
+ if (!this.context.connection)
858
+ this.context.connection = 'stdio';
859
+ if (!this.context.framework)
860
+ this.context.framework = 'FastMCP';
861
+ }
862
+ else if (allDeps.some(d => d.includes('fastapi'))) {
863
+ this.context.apiType = 'REST';
864
+ if (!this.context.framework)
865
+ this.context.framework = 'FastAPI';
866
+ }
867
+ else if (allDeps.some(d => d.includes('flask'))) {
868
+ this.context.apiType = 'REST';
869
+ if (!this.context.framework)
870
+ this.context.framework = 'Flask';
871
+ }
872
+ else if (allDeps.some(d => d.includes('django'))) {
873
+ this.context.apiType = 'REST';
874
+ if (!this.context.framework)
875
+ this.context.framework = 'Django';
876
+ }
877
+ else if (allDeps.some(d => d.includes('graphql') || d.includes('strawberry') || d.includes('ariadne'))) {
878
+ this.context.apiType = 'GraphQL';
879
+ }
880
+ }
791
881
  }
792
882
  // Extract project name
793
883
  const nameMatch = content.match(/name\s*=\s*"([^"]+)"/);
@@ -810,6 +900,32 @@ class FabFormatsProcessor {
810
900
  category: 'package-manager-python-modern'
811
901
  };
812
902
  }
903
+ /**
904
+ * Extract dependency names from pyproject.toml content
905
+ */
906
+ extractPyProjectDeps(content) {
907
+ const deps = [];
908
+ // [project] dependencies = ["foo", "bar>=1.0"]
909
+ const projDepsMatch = content.match(/\[project\][^[]*dependencies\s*=\s*\[([\s\S]*?)\]/);
910
+ if (projDepsMatch) {
911
+ const matches = projDepsMatch[1].match(/"([^"]+)"/g);
912
+ if (matches) {
913
+ matches.forEach(m => deps.push(m.replace(/"/g, '').split(/[>=<!\s;]/)[0].toLowerCase()));
914
+ }
915
+ }
916
+ // [tool.poetry.dependencies]
917
+ const poetryDepsMatch = content.match(/\[tool\.poetry\.dependencies\]([\s\S]*?)(?:\[|$)/);
918
+ if (poetryDepsMatch) {
919
+ const lines = poetryDepsMatch[1].split('\n');
920
+ lines.forEach(line => {
921
+ const pkgMatch = line.match(/^(\S+)\s*=/);
922
+ if (pkgMatch && pkgMatch[1] !== 'python') {
923
+ deps.push(pkgMatch[1].toLowerCase());
924
+ }
925
+ });
926
+ }
927
+ return deps;
928
+ }
813
929
  /**
814
930
  * Process Cargo.toml
815
931
  */