faf_bi_sync
Synchronize project documentation across multiple platforms including CLAUDE.md, AGENTS.md, .cursorrules, and GEMINI.md to maintain consistency and enable real-time updates.
Instructions
Bi-directional sync between project.faf and CLAUDE.md. v4.5.0: Also sync to AGENTS.md, .cursorrules, GEMINI.md!
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| auto | No | Enable automatic synchronization | |
| watch | No | Start real-time file watching for changes | |
| force | No | Force overwrite conflicting changes | |
| target | No | Sync target: auto (detect existing), specific platform, or all |
Implementation Reference
- src/handlers/tools.ts:697-735 (handler)Implementation of the faf_bi_sync tool, handling arguments and calling the engine adapter.
private async handleFafBiSync(args: any): Promise<CallToolResult> { const biSyncArgs: string[] = []; if (args?.auto) { biSyncArgs.push('--auto'); } if (args?.watch) { biSyncArgs.push('--watch'); } if (args?.force) { biSyncArgs.push('--force'); } if (args?.target) { biSyncArgs.push(`--target=${args.target}`); } const result = await this.engineAdapter.callEngine('bi-sync', biSyncArgs); if (!result.success) { return { content: [{ type: 'text', text: `🔗 Claude FAF Bi-Sync:\n\nFailed to bi-sync: ${result.error}` }], isError: true }; } const output = typeof result.data === 'string' ? result.data : result.data?.output || JSON.stringify(result.data, null, 2); return { content: [{ type: 'text', text: `🔗 Claude FAF Bi-Sync:\n\n${output}` }] }; } - src/handlers/tools.ts:95-105 (schema)Tool definition and input schema for faf_bi_sync.
name: 'faf_bi_sync', description: 'Bi-directional sync between project.faf and CLAUDE.md. v4.5.0: Also sync to AGENTS.md, .cursorrules, GEMINI.md!', inputSchema: { type: 'object', properties: { auto: { type: 'boolean', description: 'Enable automatic synchronization' }, watch: { type: 'boolean', description: 'Start real-time file watching for changes' }, force: { type: 'boolean', description: 'Force overwrite conflicting changes' }, target: { type: 'string', enum: ['auto', '.clinerules', '.cursorrules', '.windsurfrules', 'CLAUDE.md', 'all'], - src/handlers/tools.ts:272-273 (registration)Registration/dispatch logic for faf_bi_sync within the tool handler class.
case 'faf_bi_sync': return await this.handleFafBiSync(args);