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 CLAUDE.md Markdown format
21
+ * 🔄 Convert project.faf YAML content to platform-specific format
21
22
  */
22
- export declare function fafToClaudeMd(fafContent: string): string;
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.fafToClaudeMd = fafToClaudeMd;
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 CLAUDE.md Markdown format
73
+ * 🔄 Convert project.faf YAML content to platform-specific format
48
74
  */
49
- function fafToClaudeMd(fafContent) {
75
+ function fafToPlatformFormat(fafContent, targetPlatform) {
50
76
  try {
51
77
  const fafData = (0, yaml_1.parse)(fafContent);
52
- let claudeMd = `# 🏎️ CLAUDE.md - ${fafData.project?.name || 'Project'} Persistent Context & Intelligence\n\n`;
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
- claudeMd += `## PROJECT STATE: ${fafData.context_quality?.overall_assessment || 'ACTIVE'} 🚀\n`;
85
+ content += `## PROJECT STATE: ${fafData.context_quality?.overall_assessment || 'ACTIVE'} 🚀\n`;
56
86
  if (fafData.project.goal) {
57
- claudeMd += `**Current Position:** ${fafData.project.goal}\n`;
87
+ content += `**Current Position:** ${fafData.project.goal}\n`;
58
88
  }
59
- claudeMd += `**Tyre Compound:** ULTRASOFT C5 (Maximum Performance)\n\n`;
60
- claudeMd += `---\n\n`;
89
+ content += `**Tyre Compound:** ULTRASOFT C5 (Maximum Performance)\n\n`;
90
+ content += `---\n\n`;
61
91
  }
62
92
  // Core Context
63
- claudeMd += `## 🎨 CORE CONTEXT\n\n`;
93
+ content += `## 🎨 CORE CONTEXT\n\n`;
64
94
  if (fafData.project) {
65
- claudeMd += `### Project Identity\n`;
66
- claudeMd += `- **Name:** ${fafData.project.name || 'Unknown'}\n`;
95
+ content += `### Project Identity\n`;
96
+ content += `- **Name:** ${fafData.project.name || 'Unknown'}\n`;
67
97
  if (fafData.instant_context?.tech_stack) {
68
- claudeMd += `- **Stack:** ${fafData.instant_context.tech_stack}\n`;
98
+ content += `- **Stack:** ${fafData.instant_context.tech_stack}\n`;
69
99
  }
70
- claudeMd += `- **Quality:** F1-INSPIRED (Championship Performance)\n\n`;
100
+ content += `- **Quality:** F1-INSPIRED (Championship Performance)\n\n`;
71
101
  }
72
102
  // Technical Context
73
103
  if (fafData.instant_context) {
74
- claudeMd += `### Technical Architecture\n`;
104
+ content += `### Technical Architecture\n`;
75
105
  if (fafData.instant_context.what_building) {
76
- claudeMd += `- **What Building:** ${fafData.instant_context.what_building}\n`;
106
+ content += `- **What Building:** ${fafData.instant_context.what_building}\n`;
77
107
  }
78
108
  if (fafData.instant_context.main_language) {
79
- claudeMd += `- **Main Language:** ${fafData.instant_context.main_language}\n`;
109
+ content += `- **Main Language:** ${fafData.instant_context.main_language}\n`;
80
110
  }
81
- claudeMd += `\n`;
111
+ content += `\n`;
82
112
  }
83
113
  // Context Quality
84
114
  if (fafData.context_quality) {
85
- claudeMd += `### 📊 Context Quality Status\n`;
86
- claudeMd += `- **Overall Assessment:** ${fafData.context_quality.overall_assessment || 'Good'}\n`;
87
- claudeMd += `- **Last Updated:** ${new Date().toISOString().split('T')[0]}\n\n`;
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
- claudeMd += `---\n\n`;
91
- claudeMd += `**STATUS: BI-SYNC ACTIVE 🔗 - Synchronized with .faf context!**\n\n`;
92
- claudeMd += `*Last Sync: ${new Date().toISOString()}*\n`;
93
- claudeMd += `*Sync Engine: F1-Inspired Software Engineering*\n`;
94
- claudeMd += `*🏎️⚡️_championship_sync*\n`;
95
- return claudeMd;
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
- const claudeMdPath = path.join(projectDir, 'CLAUDE.md');
124
- // Check what exists
125
- const claudeMdExists = await (0, file_utils_1.fileExists)(claudeMdPath);
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
- if (!claudeMdExists) {
131
- // Create CLAUDE.md from project.faf
132
- const claudeMdContent = fafToClaudeMd(fafContent);
133
- await fs_1.promises.writeFile(claudeMdPath, claudeMdContent, 'utf-8');
134
- result.success = true;
135
- result.direction = 'faf-to-claude';
136
- result.filesChanged.push('CLAUDE.md');
137
- result.message = `CLAUDE.md created! Bi-sync now active! FAF Score: ${currentScore}`;
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
- // Both files exist - update CLAUDE.md from project.faf
141
- const claudeMdContent = fafToClaudeMd(fafContent);
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":"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"}
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.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"