faf-mcp 1.0.0 → 1.0.1
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.
|
Binary file
|
|
@@ -7,6 +7,7 @@ export interface BiSyncOptions {
|
|
|
7
7
|
watch?: boolean;
|
|
8
8
|
force?: boolean;
|
|
9
9
|
json?: boolean;
|
|
10
|
+
target?: 'auto' | '.clinerules' | '.cursorrules' | '.windsurfrules' | 'CLAUDE.md' | 'all';
|
|
10
11
|
}
|
|
11
12
|
export interface BiSyncResult {
|
|
12
13
|
success: boolean;
|
|
@@ -17,10 +18,10 @@ export interface BiSyncResult {
|
|
|
17
18
|
message: string;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
|
-
* 🔄 Convert project.faf YAML content to
|
|
21
|
+
* 🔄 Convert project.faf YAML content to platform-specific format
|
|
21
22
|
*/
|
|
22
|
-
export declare function
|
|
23
|
+
export declare function fafToPlatformFormat(fafContent: string, targetPlatform: string): string;
|
|
23
24
|
/**
|
|
24
|
-
* 🔗 Main Bi-Sync function
|
|
25
|
+
* 🔗 Main Bi-Sync function - Platform-Aware
|
|
25
26
|
*/
|
|
26
27
|
export declare function syncBiDirectional(projectPath?: string, options?: BiSyncOptions): Promise<BiSyncResult>;
|
|
@@ -37,69 +37,100 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.
|
|
40
|
+
exports.fafToPlatformFormat = fafToPlatformFormat;
|
|
41
41
|
exports.syncBiDirectional = syncBiDirectional;
|
|
42
42
|
const yaml_1 = require("../fix-once/yaml");
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
44
|
const fs_1 = require("fs");
|
|
45
45
|
const file_utils_1 = require("../utils/file-utils");
|
|
46
|
+
const PLATFORM_TARGETS = {
|
|
47
|
+
'.clinerules': { filename: '.clinerules', displayName: 'Cline' },
|
|
48
|
+
'.cursorrules': { filename: '.cursorrules', displayName: 'Cursor' },
|
|
49
|
+
'.windsurfrules': { filename: '.windsurfrules', displayName: 'Windsurf' },
|
|
50
|
+
'CLAUDE.md': { filename: 'CLAUDE.md', displayName: 'Claude Desktop' }
|
|
51
|
+
};
|
|
52
|
+
async function detectPlatformTargets(projectDir) {
|
|
53
|
+
const existingTargets = [];
|
|
54
|
+
for (const targetKey of Object.keys(PLATFORM_TARGETS)) {
|
|
55
|
+
const targetPath = path.join(projectDir, PLATFORM_TARGETS[targetKey].filename);
|
|
56
|
+
if (await (0, file_utils_1.fileExists)(targetPath)) {
|
|
57
|
+
existingTargets.push(targetKey);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return existingTargets;
|
|
61
|
+
}
|
|
62
|
+
function resolveTargets(targetOption, existingTargets) {
|
|
63
|
+
if (targetOption === 'all') {
|
|
64
|
+
return Object.keys(PLATFORM_TARGETS);
|
|
65
|
+
}
|
|
66
|
+
if (targetOption && targetOption !== 'auto' && PLATFORM_TARGETS[targetOption]) {
|
|
67
|
+
return [targetOption];
|
|
68
|
+
}
|
|
69
|
+
// Auto-detect: use existing files or default to CLAUDE.md
|
|
70
|
+
return existingTargets.length > 0 ? existingTargets : ['CLAUDE.md'];
|
|
71
|
+
}
|
|
46
72
|
/**
|
|
47
|
-
* 🔄 Convert project.faf YAML content to
|
|
73
|
+
* 🔄 Convert project.faf YAML content to platform-specific format
|
|
48
74
|
*/
|
|
49
|
-
function
|
|
75
|
+
function fafToPlatformFormat(fafContent, targetPlatform) {
|
|
50
76
|
try {
|
|
51
77
|
const fafData = (0, yaml_1.parse)(fafContent);
|
|
52
|
-
|
|
78
|
+
const platformInfo = PLATFORM_TARGETS[targetPlatform] || PLATFORM_TARGETS['CLAUDE.md'];
|
|
79
|
+
const headerName = platformInfo.filename.toUpperCase().replace(/\./g, '');
|
|
80
|
+
let content = `# 🏎️ ${headerName} - ${fafData.project?.name || 'Project'} Persistent Context\n\n`;
|
|
81
|
+
content += `**Platform:** ${platformInfo.displayName}\n`;
|
|
82
|
+
content += `**Synced from:** project.faf (IANA format: application/vnd.faf+yaml)\n\n`;
|
|
53
83
|
// Project State
|
|
54
84
|
if (fafData.project) {
|
|
55
|
-
|
|
85
|
+
content += `## PROJECT STATE: ${fafData.context_quality?.overall_assessment || 'ACTIVE'} 🚀\n`;
|
|
56
86
|
if (fafData.project.goal) {
|
|
57
|
-
|
|
87
|
+
content += `**Current Position:** ${fafData.project.goal}\n`;
|
|
58
88
|
}
|
|
59
|
-
|
|
60
|
-
|
|
89
|
+
content += `**Tyre Compound:** ULTRASOFT C5 (Maximum Performance)\n\n`;
|
|
90
|
+
content += `---\n\n`;
|
|
61
91
|
}
|
|
62
92
|
// Core Context
|
|
63
|
-
|
|
93
|
+
content += `## 🎨 CORE CONTEXT\n\n`;
|
|
64
94
|
if (fafData.project) {
|
|
65
|
-
|
|
66
|
-
|
|
95
|
+
content += `### Project Identity\n`;
|
|
96
|
+
content += `- **Name:** ${fafData.project.name || 'Unknown'}\n`;
|
|
67
97
|
if (fafData.instant_context?.tech_stack) {
|
|
68
|
-
|
|
98
|
+
content += `- **Stack:** ${fafData.instant_context.tech_stack}\n`;
|
|
69
99
|
}
|
|
70
|
-
|
|
100
|
+
content += `- **Quality:** F1-INSPIRED (Championship Performance)\n\n`;
|
|
71
101
|
}
|
|
72
102
|
// Technical Context
|
|
73
103
|
if (fafData.instant_context) {
|
|
74
|
-
|
|
104
|
+
content += `### Technical Architecture\n`;
|
|
75
105
|
if (fafData.instant_context.what_building) {
|
|
76
|
-
|
|
106
|
+
content += `- **What Building:** ${fafData.instant_context.what_building}\n`;
|
|
77
107
|
}
|
|
78
108
|
if (fafData.instant_context.main_language) {
|
|
79
|
-
|
|
109
|
+
content += `- **Main Language:** ${fafData.instant_context.main_language}\n`;
|
|
80
110
|
}
|
|
81
|
-
|
|
111
|
+
content += `\n`;
|
|
82
112
|
}
|
|
83
113
|
// Context Quality
|
|
84
114
|
if (fafData.context_quality) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
115
|
+
content += `### 📊 Context Quality Status\n`;
|
|
116
|
+
content += `- **Overall Assessment:** ${fafData.context_quality.overall_assessment || 'Good'}\n`;
|
|
117
|
+
content += `- **Last Updated:** ${new Date().toISOString().split('T')[0]}\n\n`;
|
|
88
118
|
}
|
|
89
119
|
// Championship Footer
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
120
|
+
content += `---\n\n`;
|
|
121
|
+
content += `**STATUS: BI-SYNC ACTIVE 🔗 - Synchronized with project.faf (.FAF Foundation)**\n\n`;
|
|
122
|
+
content += `*Last Sync: ${new Date().toISOString()}*\n`;
|
|
123
|
+
content += `*Sync Engine: .FAF Foundation*\n`;
|
|
124
|
+
content += `*Target Platform: ${platformInfo.displayName}*\n`;
|
|
125
|
+
content += `*🏎️⚡️_championship_sync*\n`;
|
|
126
|
+
return content;
|
|
96
127
|
}
|
|
97
128
|
catch (error) {
|
|
98
129
|
throw new Error(`Failed to convert .faf to CLAUDE.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
99
130
|
}
|
|
100
131
|
}
|
|
101
132
|
/**
|
|
102
|
-
* 🔗 Main Bi-Sync function
|
|
133
|
+
* 🔗 Main Bi-Sync function - Platform-Aware
|
|
103
134
|
*/
|
|
104
135
|
async function syncBiDirectional(projectPath, options = {}) {
|
|
105
136
|
const startTime = Date.now();
|
|
@@ -120,32 +151,34 @@ async function syncBiDirectional(projectPath, options = {}) {
|
|
|
120
151
|
return result;
|
|
121
152
|
}
|
|
122
153
|
const projectDir = path.dirname(fafPath);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
154
|
+
// Detect existing platform files
|
|
155
|
+
const existingTargets = await detectPlatformTargets(projectDir);
|
|
156
|
+
// Resolve which targets to sync
|
|
157
|
+
const targetsToSync = resolveTargets(options.target, existingTargets);
|
|
126
158
|
// Read .faf content
|
|
127
159
|
const fafContent = await fs_1.promises.readFile(fafPath, 'utf-8');
|
|
128
160
|
const fafData = (0, yaml_1.parse)(fafContent);
|
|
129
161
|
const currentScore = fafData.faf_score || '0%';
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
result.
|
|
162
|
+
// Sync to all resolved targets
|
|
163
|
+
for (const target of targetsToSync) {
|
|
164
|
+
const platformInfo = PLATFORM_TARGETS[target];
|
|
165
|
+
const targetPath = path.join(projectDir, platformInfo.filename);
|
|
166
|
+
// Generate platform-specific content
|
|
167
|
+
const platformContent = fafToPlatformFormat(fafContent, target);
|
|
168
|
+
await fs_1.promises.writeFile(targetPath, platformContent, 'utf-8');
|
|
169
|
+
result.filesChanged.push(platformInfo.filename);
|
|
170
|
+
}
|
|
171
|
+
result.success = true;
|
|
172
|
+
result.direction = 'faf-to-claude'; // Keep for backward compat
|
|
173
|
+
result.duration = Date.now() - startTime;
|
|
174
|
+
if (targetsToSync.length === 1) {
|
|
175
|
+
const platformName = PLATFORM_TARGETS[targetsToSync[0]].displayName;
|
|
176
|
+
result.message = `Synced to ${platformName}! FAF Score: ${currentScore}`;
|
|
138
177
|
}
|
|
139
178
|
else {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
await fs_1.promises.writeFile(claudeMdPath, claudeMdContent, 'utf-8');
|
|
143
|
-
result.success = true;
|
|
144
|
-
result.direction = 'faf-to-claude';
|
|
145
|
-
result.filesChanged.push('CLAUDE.md');
|
|
146
|
-
result.message = `Files synchronized! Perfect harmony achieved! FAF Score: ${currentScore}`;
|
|
179
|
+
const platforms = targetsToSync.map(t => PLATFORM_TARGETS[t].displayName).join(', ');
|
|
180
|
+
result.message = `Synced to ${targetsToSync.length} platforms (${platforms})! FAF Score: ${currentScore}`;
|
|
147
181
|
}
|
|
148
|
-
result.duration = Date.now() - startTime;
|
|
149
182
|
return result;
|
|
150
183
|
}
|
|
151
184
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bi-sync.js","sourceRoot":"","sources":["../../../../src/faf-core/commands/bi-sync.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bi-sync.js","sourceRoot":"","sources":["../../../../src/faf-core/commands/bi-sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "faf-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"mcpName": "io.github.Wolfe-Jam/faf-mcp",
|
|
5
5
|
"description": "IANA-registered format (application/vnd.faf+yaml) • Persistent project context • MCP server for all platforms • MIT License",
|
|
6
6
|
"icon": "./assets/icons/faf-icon-256.png",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"license": "MIT",
|
|
69
69
|
"repository": {
|
|
70
70
|
"type": "git",
|
|
71
|
-
"url": "https://github.com/Wolfe-Jam/faf-mcp.git"
|
|
71
|
+
"url": "git+https://github.com/Wolfe-Jam/faf-mcp.git"
|
|
72
72
|
},
|
|
73
73
|
"bugs": {
|
|
74
74
|
"url": "https://github.com/Wolfe-Jam/faf-mcp/issues"
|