grok-faf-mcp 1.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.
- package/CHANGELOG.md +44 -0
- package/CLAUDE.md +273 -0
- package/LICENSE +22 -0
- package/README.md +228 -0
- package/assets/Project-faf-pckg-json-README.png +0 -0
- package/assets/icons/faf-icon-128.png +0 -0
- package/assets/icons/faf-icon-256.png +0 -0
- package/assets/icons/faf-icon-400.png +0 -0
- package/assets/icons/faf-icon-48.png +0 -0
- package/assets/icons/faf-icon-512.png +0 -0
- package/assets/icons/orange-smiley.svg +6 -0
- package/dist/index.json +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +32 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/compiler/index.d.ts +7 -0
- package/dist/src/compiler/index.js +24 -0
- package/dist/src/compiler/index.js.map +1 -0
- package/dist/src/compiler/scorer.d.ts +53 -0
- package/dist/src/compiler/scorer.js +189 -0
- package/dist/src/compiler/scorer.js.map +1 -0
- package/dist/src/compiler/slot-validator.d.ts +32 -0
- package/dist/src/compiler/slot-validator.js +293 -0
- package/dist/src/compiler/slot-validator.js.map +1 -0
- package/dist/src/compiler/type-detector.d.ts +62 -0
- package/dist/src/compiler/type-detector.js +388 -0
- package/dist/src/compiler/type-detector.js.map +1 -0
- package/dist/src/config/visibility.d.ts +41 -0
- package/dist/src/config/visibility.js +158 -0
- package/dist/src/config/visibility.js.map +1 -0
- package/dist/src/faf-core/commands/audit.d.ts +21 -0
- package/dist/src/faf-core/commands/audit.js +83 -0
- package/dist/src/faf-core/commands/audit.js.map +1 -0
- package/dist/src/faf-core/commands/auto.d.ts +25 -0
- package/dist/src/faf-core/commands/auto.js +74 -0
- package/dist/src/faf-core/commands/auto.js.map +1 -0
- package/dist/src/faf-core/commands/bi-sync.d.ts +27 -0
- package/dist/src/faf-core/commands/bi-sync.js +197 -0
- package/dist/src/faf-core/commands/bi-sync.js.map +1 -0
- package/dist/src/faf-core/commands/doctor.d.ts +17 -0
- package/dist/src/faf-core/commands/doctor.js +198 -0
- package/dist/src/faf-core/commands/doctor.js.map +1 -0
- package/dist/src/faf-core/commands/enhance.d.ts +46 -0
- package/dist/src/faf-core/commands/enhance.js +360 -0
- package/dist/src/faf-core/commands/enhance.js.map +1 -0
- package/dist/src/faf-core/commands/formats.d.ts +22 -0
- package/dist/src/faf-core/commands/formats.js +117 -0
- package/dist/src/faf-core/commands/formats.js.map +1 -0
- package/dist/src/faf-core/commands/init.d.ts +26 -0
- package/dist/src/faf-core/commands/init.js +114 -0
- package/dist/src/faf-core/commands/init.js.map +1 -0
- package/dist/src/faf-core/commands/innit.d.ts +7 -0
- package/dist/src/faf-core/commands/innit.js +13 -0
- package/dist/src/faf-core/commands/innit.js.map +1 -0
- package/dist/src/faf-core/commands/migrate.d.ts +15 -0
- package/dist/src/faf-core/commands/migrate.js +86 -0
- package/dist/src/faf-core/commands/migrate.js.map +1 -0
- package/dist/src/faf-core/commands/quick.d.ts +16 -0
- package/dist/src/faf-core/commands/quick.js +184 -0
- package/dist/src/faf-core/commands/quick.js.map +1 -0
- package/dist/src/faf-core/commands/score.d.ts +47 -0
- package/dist/src/faf-core/commands/score.js +49 -0
- package/dist/src/faf-core/commands/score.js.map +1 -0
- package/dist/src/faf-core/commands/sync.d.ts +16 -0
- package/dist/src/faf-core/commands/sync.js +210 -0
- package/dist/src/faf-core/commands/sync.js.map +1 -0
- package/dist/src/faf-core/commands/update.d.ts +12 -0
- package/dist/src/faf-core/commands/update.js +46 -0
- package/dist/src/faf-core/commands/update.js.map +1 -0
- package/dist/src/faf-core/commands/validate.d.ts +21 -0
- package/dist/src/faf-core/commands/validate.js +81 -0
- package/dist/src/faf-core/commands/validate.js.map +1 -0
- package/dist/src/faf-core/compiler/faf-compiler.d.ts +138 -0
- package/dist/src/faf-core/compiler/faf-compiler.js +794 -0
- package/dist/src/faf-core/compiler/faf-compiler.js.map +1 -0
- package/dist/src/faf-core/engines/dependency-tsa.d.ts +88 -0
- package/dist/src/faf-core/engines/dependency-tsa.js +361 -0
- package/dist/src/faf-core/engines/dependency-tsa.js.map +1 -0
- package/dist/src/faf-core/engines/fab-formats-processor.d.ts +166 -0
- package/dist/src/faf-core/engines/fab-formats-processor.js +1274 -0
- package/dist/src/faf-core/engines/fab-formats-processor.js.map +1 -0
- package/dist/src/faf-core/engines/faf-dna.d.ts +159 -0
- package/dist/src/faf-core/engines/faf-dna.js +554 -0
- package/dist/src/faf-core/engines/faf-dna.js.map +1 -0
- package/dist/src/faf-core/engines/relentless-context-extractor.d.ts +100 -0
- package/dist/src/faf-core/engines/relentless-context-extractor.js +625 -0
- package/dist/src/faf-core/engines/relentless-context-extractor.js.map +1 -0
- package/dist/src/faf-core/fix-once/colors.d.ts +104 -0
- package/dist/src/faf-core/fix-once/colors.js +236 -0
- package/dist/src/faf-core/fix-once/colors.js.map +1 -0
- package/dist/src/faf-core/fix-once/types.d.ts +257 -0
- package/dist/src/faf-core/fix-once/types.js +26 -0
- package/dist/src/faf-core/fix-once/types.js.map +1 -0
- package/dist/src/faf-core/fix-once/yaml.d.ts +57 -0
- package/dist/src/faf-core/fix-once/yaml.js +172 -0
- package/dist/src/faf-core/fix-once/yaml.js.map +1 -0
- package/dist/src/faf-core/generators/faf-generator-championship.d.ts +16 -0
- package/dist/src/faf-core/generators/faf-generator-championship.js +462 -0
- package/dist/src/faf-core/generators/faf-generator-championship.js.map +1 -0
- package/dist/src/faf-core/utils/balance-visualizer.d.ts +37 -0
- package/dist/src/faf-core/utils/balance-visualizer.js +197 -0
- package/dist/src/faf-core/utils/balance-visualizer.js.map +1 -0
- package/dist/src/faf-core/utils/championship-style.d.ts +109 -0
- package/dist/src/faf-core/utils/championship-style.js +219 -0
- package/dist/src/faf-core/utils/championship-style.js.map +1 -0
- package/dist/src/faf-core/utils/chrome-extension-detector.d.ts +73 -0
- package/dist/src/faf-core/utils/chrome-extension-detector.js +268 -0
- package/dist/src/faf-core/utils/chrome-extension-detector.js.map +1 -0
- package/dist/src/faf-core/utils/fafignore-parser.d.ts +20 -0
- package/dist/src/faf-core/utils/fafignore-parser.js +178 -0
- package/dist/src/faf-core/utils/fafignore-parser.js.map +1 -0
- package/dist/src/faf-core/utils/file-utils.d.ts +112 -0
- package/dist/src/faf-core/utils/file-utils.js +846 -0
- package/dist/src/faf-core/utils/file-utils.js.map +1 -0
- package/dist/src/faf-core/utils/native-file-finder.d.ts +115 -0
- package/dist/src/faf-core/utils/native-file-finder.js +211 -0
- package/dist/src/faf-core/utils/native-file-finder.js.map +1 -0
- package/dist/src/faf-core/utils/platform-detector.d.ts +30 -0
- package/dist/src/faf-core/utils/platform-detector.js +218 -0
- package/dist/src/faf-core/utils/platform-detector.js.map +1 -0
- package/dist/src/faf-core/utils/technical-credit.d.ts +35 -0
- package/dist/src/faf-core/utils/technical-credit.js +286 -0
- package/dist/src/faf-core/utils/technical-credit.js.map +1 -0
- package/dist/src/faf-core/utils/yaml-generator.d.ts +41 -0
- package/dist/src/faf-core/utils/yaml-generator.js +360 -0
- package/dist/src/faf-core/utils/yaml-generator.js.map +1 -0
- package/dist/src/handlers/behavioral-instruction.d.ts +16 -0
- package/dist/src/handlers/behavioral-instruction.js +43 -0
- package/dist/src/handlers/behavioral-instruction.js.map +1 -0
- package/dist/src/handlers/championship-tools.d.ts +113 -0
- package/dist/src/handlers/championship-tools.js +2602 -0
- package/dist/src/handlers/championship-tools.js.map +1 -0
- package/dist/src/handlers/engine-adapter.d.ts +28 -0
- package/dist/src/handlers/engine-adapter.js +606 -0
- package/dist/src/handlers/engine-adapter.js.map +1 -0
- package/dist/src/handlers/fileHandler.d.ts +36 -0
- package/dist/src/handlers/fileHandler.js +246 -0
- package/dist/src/handlers/fileHandler.js.map +1 -0
- package/dist/src/handlers/resources.d.ts +18 -0
- package/dist/src/handlers/resources.js +78 -0
- package/dist/src/handlers/resources.js.map +1 -0
- package/dist/src/handlers/tool-registry.d.ts +23 -0
- package/dist/src/handlers/tool-registry.js +68 -0
- package/dist/src/handlers/tool-registry.js.map +1 -0
- package/dist/src/handlers/tool-types.d.ts +167 -0
- package/dist/src/handlers/tool-types.js +7 -0
- package/dist/src/handlers/tool-types.js.map +1 -0
- package/dist/src/handlers/tools.d.ts +25 -0
- package/dist/src/handlers/tools.js +1160 -0
- package/dist/src/handlers/tools.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +17 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/server.d.ts +28 -0
- package/dist/src/server.js +191 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/test-all-functions.d.ts +15 -0
- package/dist/src/test-all-functions.js +163 -0
- package/dist/src/test-all-functions.js.map +1 -0
- package/dist/src/types/mcp-tools.d.ts +53 -0
- package/dist/src/types/mcp-tools.js +77 -0
- package/dist/src/types/mcp-tools.js.map +1 -0
- package/dist/src/types/project-types.d.ts +22 -0
- package/dist/src/types/project-types.js +85 -0
- package/dist/src/types/project-types.js.map +1 -0
- package/dist/src/types/slots.d.ts +39 -0
- package/dist/src/types/slots.js +162 -0
- package/dist/src/types/slots.js.map +1 -0
- package/dist/src/types/tool-visibility.d.ts +36 -0
- package/dist/src/types/tool-visibility.js +510 -0
- package/dist/src/types/tool-visibility.js.map +1 -0
- package/dist/src/utils/auto-path-detection.d.ts +26 -0
- package/dist/src/utils/auto-path-detection.js +198 -0
- package/dist/src/utils/auto-path-detection.js.map +1 -0
- package/dist/src/utils/championship-format.d.ts +30 -0
- package/dist/src/utils/championship-format.js +79 -0
- package/dist/src/utils/championship-format.js.map +1 -0
- package/dist/src/utils/cli-detector.d.ts +20 -0
- package/dist/src/utils/cli-detector.js +230 -0
- package/dist/src/utils/cli-detector.js.map +1 -0
- package/dist/src/utils/display-protocol.d.ts +57 -0
- package/dist/src/utils/display-protocol.js +131 -0
- package/dist/src/utils/display-protocol.js.map +1 -0
- package/dist/src/utils/faf-file-finder.d.ts +59 -0
- package/dist/src/utils/faf-file-finder.js +139 -0
- package/dist/src/utils/faf-file-finder.js.map +1 -0
- package/dist/src/utils/fuzzy-detector.d.ts +56 -0
- package/dist/src/utils/fuzzy-detector.js +221 -0
- package/dist/src/utils/fuzzy-detector.js.map +1 -0
- package/dist/src/utils/path-resolver.d.ts +51 -0
- package/dist/src/utils/path-resolver.js +214 -0
- package/dist/src/utils/path-resolver.js.map +1 -0
- package/dist/src/utils/type-guards.d.ts +9 -0
- package/dist/src/utils/type-guards.js +27 -0
- package/dist/src/utils/type-guards.js.map +1 -0
- package/dist/src/utils/username-detector.d.ts +27 -0
- package/dist/src/utils/username-detector.js +90 -0
- package/dist/src/utils/username-detector.js.map +1 -0
- package/dist/src/utils/visual-style.d.ts +62 -0
- package/dist/src/utils/visual-style.js +164 -0
- package/dist/src/utils/visual-style.js.map +1 -0
- package/dist/src/version.d.ts +9 -0
- package/dist/src/version.js +37 -0
- package/dist/src/version.js.map +1 -0
- package/package.json +120 -0
- package/project.faf +125 -0
- package/scripts/discord-sync-curated.js +233 -0
- package/scripts/discord-sync-final.js +218 -0
- package/scripts/discord-sync-simple.js +175 -0
- package/scripts/discord-sync-working.js +187 -0
- package/scripts/discord-sync.js +181 -0
- package/scripts/postinstall.js +46 -0
- package/skill/SKILL.md +385 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to faf-mcp will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.1.1] - 2025-11-16
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Updated Discord community invite link to working URL
|
|
12
|
+
- Added Anthropic-approved heritage statement to README
|
|
13
|
+
- Updated package.json description with new branding
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Discord invite link now uses permanent invite (never expires)
|
|
17
|
+
|
|
18
|
+
## [1.0.0] - 2025-11-12
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- **Universal MCP Package** - Platform-agnostic MCP server for all MCP-compatible platforms
|
|
22
|
+
- Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP client
|
|
23
|
+
- 50 MCP tools for FAF context management
|
|
24
|
+
- Auto-installs faf-cli as dependency
|
|
25
|
+
- Orange smiley icon included in package
|
|
26
|
+
- **Platform-Specific Documentation** - Setup guides for each major platform
|
|
27
|
+
- Claude Desktop config instructions
|
|
28
|
+
- Cursor IDE integration steps
|
|
29
|
+
- Windsurf Editor setup
|
|
30
|
+
- VS Code MCP extension guide
|
|
31
|
+
|
|
32
|
+
### Technical
|
|
33
|
+
- Based on claude-faf-mcp v3.3.0 codebase
|
|
34
|
+
- 100% standalone operation (bundled FAF engine)
|
|
35
|
+
- 16.2x faster than CLI versions
|
|
36
|
+
- 19ms average execution time
|
|
37
|
+
- Zero external dependencies
|
|
38
|
+
|
|
39
|
+
### Ecosystem
|
|
40
|
+
This is the universal package for FAF MCP integration. Platform-specific packages (cursor-faf-mcp, windsurf-faf-mcp, etc.) may follow based on demand.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
*For claude-faf-mcp changelog history, see: https://github.com/Wolfe-Jam/claude-faf-mcp/blob/main/CHANGELOG.md*
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# 🏎️ CLAUDE.md - grok-faf-mcp | FAST⚡️AF
|
|
2
|
+
|
|
3
|
+
## PROJECT STATE: SHIPPING 🚀
|
|
4
|
+
**Current Position:** First MCP server built for Grok
|
|
5
|
+
**Tyre Compound:** ULTRASOFT C5 (Maximum Performance)
|
|
6
|
+
**Status:** URL-based, Vercel-deployed, Production-ready
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🎨 CORE CONTEXT
|
|
11
|
+
|
|
12
|
+
### Project Identity
|
|
13
|
+
- **Name:** grok-faf-mcp
|
|
14
|
+
- **Purpose:** First MCP server responding to Grok's URL request
|
|
15
|
+
- **Stack:** Node.js/TypeScript + Vercel
|
|
16
|
+
- **Quality:** F1-INSPIRED (Championship Performance)
|
|
17
|
+
- **Philosophy:** FAST⚡️AF - First to ship, zero friction, exactly what you asked for
|
|
18
|
+
|
|
19
|
+
### The Mission
|
|
20
|
+
|
|
21
|
+
**Grok asked for MCP on a URL. This is it.**
|
|
22
|
+
|
|
23
|
+
This is the FIRST MCP server specifically built for Grok/xAI, deployed on Vercel with URL-based access. No installation required. Point your Grok integration at the endpoint, get instant access to 17 MCP tools + 14 bundled commands.
|
|
24
|
+
|
|
25
|
+
### Repository Structure
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
grok-faf-mcp/
|
|
29
|
+
├── src/ # TypeScript source
|
|
30
|
+
├── api/ # Vercel serverless functions
|
|
31
|
+
│ └── index.ts # Main MCP server endpoint
|
|
32
|
+
├── dist/ # Compiled output
|
|
33
|
+
├── package.json # grok-faf-mcp package config
|
|
34
|
+
├── README.md # FAST⚡️AF documentation
|
|
35
|
+
├── CLAUDE.md # This file - persistent context
|
|
36
|
+
└── vercel.json # Vercel deployment config
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Technical Architecture
|
|
40
|
+
- **What:** URL-based MCP server for Grok
|
|
41
|
+
- **How:** Express app on Vercel with SSE transport
|
|
42
|
+
- **Why:** Grok asked for MCP on a URL - first to deliver
|
|
43
|
+
- **Format:** IANA-registered .faf (application/vnd.faf+yaml)
|
|
44
|
+
|
|
45
|
+
### 📊 Context Quality Status
|
|
46
|
+
- **Overall Assessment:** Production-ready (based on faf-mcp v1.1.1)
|
|
47
|
+
- **Last Updated:** 2025-11-18
|
|
48
|
+
- **Version:** 1.0.0 (First Release)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 🚀 Deployment Architecture
|
|
53
|
+
|
|
54
|
+
### Vercel Production
|
|
55
|
+
- **URL:** https://grok-faf-mcp.vercel.app/
|
|
56
|
+
- **SSE Endpoint:** https://grok-faf-mcp.vercel.app/sse
|
|
57
|
+
- **Health Check:** https://grok-faf-mcp.vercel.app/health
|
|
58
|
+
- **Info:** https://grok-faf-mcp.vercel.app/info
|
|
59
|
+
|
|
60
|
+
### Key Features
|
|
61
|
+
- **Global Edge Deployment** - Vercel's worldwide CDN
|
|
62
|
+
- **Zero Configuration** - Just point to the URL
|
|
63
|
+
- **Production Infrastructure** - Battle-tested on faf-mcp
|
|
64
|
+
- **HTTP-SSE Transport** - MCP over Server-Sent Events
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 💡 Quick Start for AI
|
|
69
|
+
|
|
70
|
+
**Q: How do I use grok-faf-mcp?**
|
|
71
|
+
|
|
72
|
+
**A: Two options:**
|
|
73
|
+
|
|
74
|
+
**Option 1: URL-Based (Instant)**
|
|
75
|
+
```
|
|
76
|
+
Point your MCP client to: https://grok-faf-mcp.vercel.app/sse
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Option 2: Local Install**
|
|
80
|
+
```
|
|
81
|
+
npm install -g grok-faf-mcp
|
|
82
|
+
|
|
83
|
+
Add to MCP config:
|
|
84
|
+
{
|
|
85
|
+
"mcpServers": {
|
|
86
|
+
"grok-faf": {
|
|
87
|
+
"command": "npx",
|
|
88
|
+
"args": ["-y", "grok-faf-mcp"]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Then start every prompt with "Use FAF":**
|
|
95
|
+
```
|
|
96
|
+
Use FAF to initialize my project
|
|
97
|
+
Use FAF to score my AI-readiness
|
|
98
|
+
Use FAF to sync project context
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 🚨 NPM PUBLISH PROTOCOL - MANDATORY 🚨
|
|
104
|
+
|
|
105
|
+
**CRITICAL RULE: `npm publish` IS FORBIDDEN WITHOUT APPROVAL**
|
|
106
|
+
|
|
107
|
+
Before ANY npm publish of grok-faf-mcp:
|
|
108
|
+
|
|
109
|
+
1. **Follow the MCP Publish Checklist** at `/Users/wolfejam/FAF-GOLD/PLANET-FAF/PUBLISH-PROTOCOL.md`
|
|
110
|
+
2. **Run ALL checklist items** (build, tests, version, README, CHANGELOG, etc.)
|
|
111
|
+
3. **Request approval** with checklist results in the format specified
|
|
112
|
+
4. **Wait for OFFICIAL GO!** from wolfejam
|
|
113
|
+
|
|
114
|
+
**Required approval signals:**
|
|
115
|
+
- ✅ **"GO!"** - Approved to publish
|
|
116
|
+
- ✅ **"GREEN LIGHT"** - Approved to publish
|
|
117
|
+
- ❌ Anything else - DO NOT PUBLISH
|
|
118
|
+
|
|
119
|
+
**Why this matters:**
|
|
120
|
+
- First MCP server for Grok - sets the standard
|
|
121
|
+
- Elon/xAI reputation on the line
|
|
122
|
+
- URL-based deployment - production infrastructure
|
|
123
|
+
- One bad publish damages the entire FAF ecosystem
|
|
124
|
+
|
|
125
|
+
**No exceptions. No shortcuts. Professional. Boring. Trusted.**
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 🎯 Strategic Position
|
|
130
|
+
|
|
131
|
+
### Market Positioning
|
|
132
|
+
|
|
133
|
+
**The Story:**
|
|
134
|
+
"Grok asked for MCP on a URL. We built the first Grok-specific MCP server. grok-faf-mcp - exactly what you wanted."
|
|
135
|
+
|
|
136
|
+
**Target Audience:**
|
|
137
|
+
- xAI/Grok developers and users
|
|
138
|
+
- URL-based MCP adopters
|
|
139
|
+
- Fast-moving teams (Elon philosophy)
|
|
140
|
+
- First-mover advantage seekers
|
|
141
|
+
|
|
142
|
+
**Differentiation:**
|
|
143
|
+
- ✅ First MCP server for Grok
|
|
144
|
+
- ✅ URL-based (no installation required)
|
|
145
|
+
- ✅ Vercel deployment (production-ready)
|
|
146
|
+
- ✅ FAST⚡️AF branding (Elon-style execution)
|
|
147
|
+
- ✅ Based on proven faf-mcp codebase
|
|
148
|
+
|
|
149
|
+
### Package Ecosystem
|
|
150
|
+
|
|
151
|
+
**FAF Package Family:**
|
|
152
|
+
- `claude-faf-mcp` - 6.7k downloads (Claude Desktop)
|
|
153
|
+
- `faf-mcp` - 800 downloads in 4 days (Universal)
|
|
154
|
+
- `grok-faf-mcp` - NEW (Grok/xAI specific)
|
|
155
|
+
|
|
156
|
+
**Why grok-faf-mcp exists:**
|
|
157
|
+
- Responds to specific Grok URL request
|
|
158
|
+
- Platform-specific positioning for xAI
|
|
159
|
+
- Download count metrics for FAF ecosystem
|
|
160
|
+
- First-mover advantage in Grok space
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 🔧 Development
|
|
165
|
+
|
|
166
|
+
### Local Development
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Install dependencies
|
|
170
|
+
npm install
|
|
171
|
+
|
|
172
|
+
# Build TypeScript
|
|
173
|
+
npm run build
|
|
174
|
+
|
|
175
|
+
# Run local HTTP server
|
|
176
|
+
npm run dev:http
|
|
177
|
+
# Server: http://localhost:3001
|
|
178
|
+
# SSE: http://localhost:3001/sse
|
|
179
|
+
|
|
180
|
+
# Test MCP tools
|
|
181
|
+
npm run test:mcp
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Vercel Deployment
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Deploy to production
|
|
188
|
+
vercel --prod
|
|
189
|
+
|
|
190
|
+
# View deployment
|
|
191
|
+
vercel ls
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Key Files to Know
|
|
195
|
+
|
|
196
|
+
**api/index.ts** - Main Vercel serverless function
|
|
197
|
+
- Express app with MCP server
|
|
198
|
+
- SSE transport setup
|
|
199
|
+
- Health/info endpoints
|
|
200
|
+
- Version detection from package.json
|
|
201
|
+
|
|
202
|
+
**package.json** - Package configuration
|
|
203
|
+
- Name: grok-faf-mcp
|
|
204
|
+
- Version: 1.0.0
|
|
205
|
+
- Grok-specific keywords
|
|
206
|
+
- faf-cli dependency (for download counts)
|
|
207
|
+
|
|
208
|
+
**vercel.json** - Vercel routing
|
|
209
|
+
- Rewrites all paths to /api/index
|
|
210
|
+
- Zero-config deployment
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## ⚡ Performance Metrics
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
218
|
+
⚡ FAST AF PERFORMANCE
|
|
219
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
220
|
+
|
|
221
|
+
Execution Speed: 19ms average
|
|
222
|
+
Fastest Command: 1ms (formats)
|
|
223
|
+
CLI Speedup: 16.2x faster
|
|
224
|
+
MCP Tools: 17 total
|
|
225
|
+
Bundled Commands: 14 total
|
|
226
|
+
Transport: HTTP-SSE
|
|
227
|
+
Platform: Vercel Edge
|
|
228
|
+
Status: Production
|
|
229
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 🏆 Heritage & Lineage
|
|
235
|
+
|
|
236
|
+
**Built on proven foundation:**
|
|
237
|
+
- Forked from faf-mcp v1.1.1
|
|
238
|
+
- Inherits 17 MCP tools, 14 bundled commands
|
|
239
|
+
- Inherits 16.2x performance gains
|
|
240
|
+
- Inherits championship testing standards
|
|
241
|
+
- Inherits IANA-registered format
|
|
242
|
+
|
|
243
|
+
**Why separate package?**
|
|
244
|
+
- Grok asked for URL-based MCP
|
|
245
|
+
- First-mover positioning for xAI
|
|
246
|
+
- Platform-specific branding
|
|
247
|
+
- Download count metrics
|
|
248
|
+
- Elon-style FAST⚡️AF execution
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 🌐 Community & Ecosystem
|
|
253
|
+
|
|
254
|
+
**Official Links:**
|
|
255
|
+
- Website: https://faf.one
|
|
256
|
+
- Discord: https://discord.com/invite/56fPBUJKfk
|
|
257
|
+
- Chrome Extension: [Chrome Web Store](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)
|
|
258
|
+
- GitHub: https://github.com/Wolfe-Jam/grok-faf-mcp
|
|
259
|
+
- npm: https://www.npmjs.com/package/grok-faf-mcp
|
|
260
|
+
|
|
261
|
+
**Related Packages:**
|
|
262
|
+
- faf-cli - Command-line tooling
|
|
263
|
+
- faf-mcp - Universal MCP server
|
|
264
|
+
- claude-faf-mcp - Claude Desktop-specific
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
**STATUS: PRODUCTION 🚀**
|
|
269
|
+
|
|
270
|
+
*Built for Grok. Built for Speed. Built Right.*
|
|
271
|
+
*FAST⚡️AF • First to Ship • Zero Friction*
|
|
272
|
+
|
|
273
|
+
**Built with F1-inspired engineering principles** 🏎️⚡
|
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 wolfejam (team@faf.one) 🏎️⚡ wolfejam.dev
|
|
4
|
+
PODIUM EDITION 🍊
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# grok-faf-mcp | FAST⚡️AF
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<img src="https://raw.githubusercontent.com/Wolfe-Jam/faf/main/assets/logos/orange-smiley.svg" alt="FAF" width="80" />
|
|
5
|
+
|
|
6
|
+
<h3>Grok asked for MCP on a URL. This is it.</h3>
|
|
7
|
+
|
|
8
|
+
<p><strong>First MCP server built for Grok</strong></p>
|
|
9
|
+
<p><code>URL-based • Zero config • Just works</code></p>
|
|
10
|
+
|
|
11
|
+
[](https://www.npmjs.com/package/grok-faf-mcp)
|
|
12
|
+
[](https://opensource.org/licenses/MIT)
|
|
13
|
+
[](https://grok-faf-mcp.vercel.app)
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## ⚡ What You Get
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
URL: https://grok-faf-mcp.vercel.app/
|
|
22
|
+
Format: IANA-registered .faf (application/vnd.faf+yaml)
|
|
23
|
+
Tools: 17 MCP tools + 14 bundled commands
|
|
24
|
+
Speed: 19ms average execution
|
|
25
|
+
Status: FAST⚡️AF
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**MCP over HTTP-SSE.** Point your Grok integration at the URL. That's it.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 🚀 Quick Start
|
|
33
|
+
|
|
34
|
+
### Option 1: URL-Based (Vercel)
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
https://grok-faf-mcp.vercel.app/sse
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Point your MCP client to this endpoint. All tools available instantly.
|
|
41
|
+
|
|
42
|
+
### Option 2: Local Install
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g grok-faf-mcp
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Add to your MCP config:**
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"grok-faf": {
|
|
54
|
+
"command": "npx",
|
|
55
|
+
"args": ["-y", "grok-faf-mcp"]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🎯 Use Cases
|
|
64
|
+
|
|
65
|
+
**AI Context Intelligence**
|
|
66
|
+
```
|
|
67
|
+
Use FAF to initialize my project
|
|
68
|
+
Use FAF to score my AI-readiness
|
|
69
|
+
Use FAF to sync project context
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Project DNA Management**
|
|
73
|
+
- Persistent context in `project.faf`
|
|
74
|
+
- Cross-platform compatibility
|
|
75
|
+
- Human and AI readable
|
|
76
|
+
- IANA-registered standard
|
|
77
|
+
|
|
78
|
+
**URL-Based MCP**
|
|
79
|
+
- No installation required
|
|
80
|
+
- Instant access via Vercel
|
|
81
|
+
- Production-ready infrastructure
|
|
82
|
+
- Global edge deployment
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 🛠️ MCP Tools
|
|
87
|
+
|
|
88
|
+
### Core Tools (17 Total)
|
|
89
|
+
- `faf_quick` - Lightning-fast project.faf creation (3ms)
|
|
90
|
+
- `faf_enhance` - Intelligent enhancement with auto-detection
|
|
91
|
+
- `faf_read` - Parse and validate FAF files
|
|
92
|
+
- `faf_write` - Create/update FAF with validation
|
|
93
|
+
- `faf_score` - AI-readiness scoring (0-100%)
|
|
94
|
+
- `faf_sync` - Bi-directional CLAUDE.md sync
|
|
95
|
+
- `faf_status` - Health check and diagnostics
|
|
96
|
+
- `faf_init` - Initialize new FAF project
|
|
97
|
+
- `faf_trust` - Verify integrity
|
|
98
|
+
- `faf_bi_sync` - Platform context mirroring
|
|
99
|
+
- `faf_clear` - Reset and cleanup
|
|
100
|
+
- `faf_debug` - Verbose diagnostics
|
|
101
|
+
- `faf_list` - Show all available tools
|
|
102
|
+
- `faf_chat` - Interactive assistance
|
|
103
|
+
- `faf_friday` - Project summaries
|
|
104
|
+
- `faf_guide` - Documentation access
|
|
105
|
+
- `faf_about` - Server information
|
|
106
|
+
|
|
107
|
+
### Bundled Commands (14 Total)
|
|
108
|
+
Direct TypeScript function calls - 16.2x faster than CLI subprocess spawning:
|
|
109
|
+
|
|
110
|
+
- `audit` - Security and quality checks
|
|
111
|
+
- `auto` - Automated workflows
|
|
112
|
+
- `bi-sync` - Bidirectional synchronization
|
|
113
|
+
- `doctor` - Diagnostic and repair
|
|
114
|
+
- `enhance` - Context enhancement
|
|
115
|
+
- `formats` - Format detection
|
|
116
|
+
- `init` - Project initialization
|
|
117
|
+
- `innit` - Quick initialization
|
|
118
|
+
- `migrate` - Version migration
|
|
119
|
+
- `quick` - Fast operations
|
|
120
|
+
- `score` - AI-readiness scoring
|
|
121
|
+
- `sync` - Context synchronization
|
|
122
|
+
- `update` - Version updates
|
|
123
|
+
- `validate` - Validation checks
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 📊 Performance
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
131
|
+
⚡ FAST AF PERFORMANCE METRICS
|
|
132
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
133
|
+
|
|
134
|
+
Execution Speed: 19ms average
|
|
135
|
+
Fastest Command: 1ms (formats)
|
|
136
|
+
CLI Speedup: 16.2x faster
|
|
137
|
+
Memory Footprint: Zero leaks
|
|
138
|
+
Bundled Operations: 14 commands
|
|
139
|
+
Transport: HTTP-SSE (Vercel)
|
|
140
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Why Fast?**
|
|
144
|
+
- Direct function calls (no subprocess spawning)
|
|
145
|
+
- TypeScript strict mode
|
|
146
|
+
- Zero external dependencies for core operations
|
|
147
|
+
- Global edge deployment via Vercel
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 🏆 Why grok-faf-mcp?
|
|
152
|
+
|
|
153
|
+
**Built for Grok**
|
|
154
|
+
- First MCP server responding to Grok's URL request
|
|
155
|
+
- Optimized for xAI integration
|
|
156
|
+
- Production-ready Vercel deployment
|
|
157
|
+
- FAST⚡️AF execution philosophy
|
|
158
|
+
|
|
159
|
+
**IANA-Registered Format**
|
|
160
|
+
- Official MIME type: `application/vnd.faf+yaml`
|
|
161
|
+
- W3C-compliant structured format
|
|
162
|
+
- Universal AI context protocol
|
|
163
|
+
- Cross-platform compatibility
|
|
164
|
+
|
|
165
|
+
**Championship Engineering**
|
|
166
|
+
- F1-inspired performance standards
|
|
167
|
+
- TypeScript strict mode
|
|
168
|
+
- Zero runtime errors
|
|
169
|
+
- Battle-tested in production
|
|
170
|
+
|
|
171
|
+
**FREE FOREVER**
|
|
172
|
+
- MIT License
|
|
173
|
+
- Open source
|
|
174
|
+
- No subscription
|
|
175
|
+
- No strings attached
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 🔗 Endpoints
|
|
180
|
+
|
|
181
|
+
**Production (Vercel):**
|
|
182
|
+
- Root: `https://grok-faf-mcp.vercel.app/`
|
|
183
|
+
- Health: `https://grok-faf-mcp.vercel.app/health`
|
|
184
|
+
- Info: `https://grok-faf-mcp.vercel.app/info`
|
|
185
|
+
- SSE: `https://grok-faf-mcp.vercel.app/sse`
|
|
186
|
+
|
|
187
|
+
**Local Development:**
|
|
188
|
+
```bash
|
|
189
|
+
npm run dev:http
|
|
190
|
+
# Server: http://localhost:3001
|
|
191
|
+
# SSE: http://localhost:3001/sse
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 📦 Ecosystem
|
|
197
|
+
|
|
198
|
+
Built on the FAF (Foundational AI-context Format) ecosystem:
|
|
199
|
+
|
|
200
|
+
- **[FAF Format Spec](https://github.com/Wolfe-Jam/faf)** - Official IANA specification
|
|
201
|
+
- **[FAF CLI](https://github.com/Wolfe-Jam/faf-cli)** - Command-line tooling
|
|
202
|
+
- **[faf-mcp](https://github.com/Wolfe-Jam/faf-mcp)** - Universal MCP server
|
|
203
|
+
- **[claude-faf-mcp](https://github.com/Wolfe-Jam/claude-faf-mcp)** - Claude Desktop-specific
|
|
204
|
+
- **[faf.one](https://faf.one)** - Official website
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 💬 Community
|
|
209
|
+
|
|
210
|
+
- **[Discord](https://discord.com/invite/56fPBUJKfk)** - Join the conversation
|
|
211
|
+
- **[GitHub Issues](https://github.com/Wolfe-Jam/grok-faf-mcp/issues)** - Report bugs, request features
|
|
212
|
+
- **[Chrome Extension](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)** - Browser integration
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 📄 License
|
|
217
|
+
|
|
218
|
+
MIT License - Free and open source
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
<div align="center">
|
|
223
|
+
<p><strong>Built for Grok. Built for Speed. Built Right.</strong></p>
|
|
224
|
+
<p>FAST⚡️AF • First to Ship • Zero Friction</p>
|
|
225
|
+
<p><em>URL-based MCP. Exactly what you asked for.</em></p>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
**Built with F1-inspired engineering principles** 🏎️⚡
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<circle cx="50" cy="50" r="40" fill="#FF6B35" />
|
|
3
|
+
<circle cx="35" cy="40" r="5" fill="black" />
|
|
4
|
+
<circle cx="65" cy="40" r="5" fill="black" />
|
|
5
|
+
<path d="M 30 60 Q 50 70 70 60" stroke="black" stroke-width="3" fill="none" />
|
|
6
|
+
</svg>
|
package/dist/index.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"note":"Placeholder for Vercel build"}
|
package/dist/src/cli.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const server_1 = require("./server");
|
|
5
|
+
// Parse command line arguments
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const transportIndex = args.indexOf('--transport');
|
|
8
|
+
const portIndex = args.indexOf('--port');
|
|
9
|
+
const transport = transportIndex >= 0 ? args[transportIndex + 1] : 'stdio';
|
|
10
|
+
const port = portIndex >= 0 ? parseInt(args[portIndex + 1], 10) : 3001;
|
|
11
|
+
async function main() {
|
|
12
|
+
const server = new server_1.ClaudeFafMcpServer({
|
|
13
|
+
transport,
|
|
14
|
+
port,
|
|
15
|
+
fafEnginePath: 'faf',
|
|
16
|
+
debug: true,
|
|
17
|
+
cors: true
|
|
18
|
+
});
|
|
19
|
+
await server.start();
|
|
20
|
+
console.log(`FAF MCP Server started in ${transport} mode`);
|
|
21
|
+
if (transport === 'http-sse') {
|
|
22
|
+
console.log(`Endpoints:`);
|
|
23
|
+
console.log(` Health: http://localhost:${port}/health`);
|
|
24
|
+
console.log(` Info: http://localhost:${port}/info`);
|
|
25
|
+
console.log(` SSE: http://localhost:${port}/sse`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
main().catch((error) => {
|
|
29
|
+
console.error('Failed to start MCP server:', error);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AAEA,qCAA8C;AAE9C,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzC,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAyB,CAAC,CAAC,CAAC,OAAO,CAAC;AACnG,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEvE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,2BAAkB,CAAC;QACpC,SAAS;QACT,IAAI;QACJ,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,OAAO,CAAC,CAAC;IAC3D,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,OAAO,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,MAAM,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FAF Compiler Engine MK3
|
|
4
|
+
* Championship-grade project type detection and 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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./type-detector"), exports);
|
|
22
|
+
__exportStar(require("./slot-validator"), exports);
|
|
23
|
+
__exportStar(require("./scorer"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,kDAAgC;AAChC,mDAAiC;AACjC,2CAAyB"}
|