summaryrefslogtreecommitdiff
path: root/src/main/fileSyncBridge.ts
diff options
context:
space:
mode:
authorhaoyuren <13851610112@163.com>2026-07-28 06:29:04 +0800
committerhaoyuren <13851610112@163.com>2026-07-28 06:29:04 +0800
commitd35a6a0ef366f86aeba28c06f40e44cd29cf1f07 (patch)
tree1f9e08527da6720722dde971636273d859af89d6 /src/main/fileSyncBridge.ts
parent1ab00142191f4e3b94ba36d2a33914697864c892 (diff)
Codex/agent-neutral setup, terminal IME fix, hide own overlay cursor
- Write AGENTS.md (the cross-tool agent-instructions standard) at the project root alongside .claude/CLAUDE.md, generated from one guide; includes an Agent Setup section with the project-specific Codex MCP registration command. AGENTS.md is excluded from Overleaf sync. - MCP server resolves the project directory from its own script location when cwd doesn't contain the state file, so clients that launch MCP servers from a global config (Codex) work without special setup - Terminal: swallow the duplicate compositionend commit when switching input sources mid-composition (xterm finalizes on the keydown and then again on compositionend, sending pinyin text twice) - Don't render our own colored overlay cursor — the native caret already marks our position; overlay cursors are collaborators-only (web parity) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'src/main/fileSyncBridge.ts')
-rw-r--r--src/main/fileSyncBridge.ts8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/fileSyncBridge.ts b/src/main/fileSyncBridge.ts
index b7e1979..3072ae6 100644
--- a/src/main/fileSyncBridge.ts
+++ b/src/main/fileSyncBridge.ts
@@ -207,7 +207,7 @@ export class FileSyncBridge {
ignored: [
/(^|[/\\])\../, // dotfiles (also covers .build/ and .claude/)
JUNK_EXT_RE, // pure build noise (aux/log/synctex/…) — never project content
- /(?:^|[/\\])(?:CLAUDE\.md|\.mcp\.json)$/, // App-generated config files
+ /(?:^|[/\\])(?:CLAUDE\.md|AGENTS\.md|\.mcp\.json)$/, // App-generated config files
/(?:^|[/\\])(?:claude-workspace|__MACOSX)(?:[/\\]|$)/ // scratch space + zip junk
]
})
@@ -752,7 +752,7 @@ export class FileSyncBridge {
// Skip app-generated config files and scratch space that should not be synced
const basename = relPath.split('/').pop() || relPath
- if (basename === 'CLAUDE.md' || basename === '.mcp.json') return
+ if (basename === 'CLAUDE.md' || basename === 'AGENTS.md' || basename === '.mcp.json') return
if (relPath.startsWith('claude-workspace/') || relPath === 'claude-workspace') return
// Layer 1: Skip if bridge is currently writing this file
@@ -1412,7 +1412,7 @@ export class FileSyncBridge {
// Skip LaTeX build artifacts, dotfiles, app config files, and scratch space
if (this.isCompileArtifact(relPath)) continue
if (/(^|[/\\])\./.test(relPath)) continue
- if (/(?:^|[/\\])(?:CLAUDE\.md|\.mcp\.json)$/.test(relPath)) continue
+ if (/(?:^|[/\\])(?:CLAUDE\.md|AGENTS\.md|\.mcp\.json)$/.test(relPath)) continue
if (relPath.startsWith('claude-workspace/') || relPath === 'claude-workspace') continue
bridgeLog(`[FileSyncBridge] orphaned file found: ${relPath}`)
@@ -1433,7 +1433,7 @@ export class FileSyncBridge {
// Skip LaTeX build artifacts, dotfiles, app config files, and scratch space
if (this.isCompileArtifact(relPath)) return
if (/(^|[/\\])\./.test(relPath)) return
- if (/(?:^|[/\\])(?:CLAUDE\.md|\.mcp\.json)$/.test(relPath)) return
+ if (/(?:^|[/\\])(?:CLAUDE\.md|AGENTS\.md|\.mcp\.json)$/.test(relPath)) return
if (relPath.startsWith('claude-workspace/') || relPath === 'claude-workspace') return
// Debounce 1s to let the tool finish writing