Skip to content

feat(code-tools): CodeTool 插件化架构 (UFO-176) - #396

Merged
WitMiao merged 9 commits into
mainfrom
feat/ufo-176-code-tool-plugin-architecture
Aug 23, 2026
Merged

WitMiao merged 9 commits into
mainfrom
feat/ufo-176-code-tool-plugin-architecture

Conversation

@WitMiao

@WitMiao WitMiao commented Jul 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • 引入 CodeToolAdapter 与 src/code-tools/ 注册表,仅内置 Claude Code / Codex
  • init / update / uninstall / 菜单 / config-switch 改经 registry 分发,去掉命令层按工具 ID 分支
  • 恢复与最新 main 一致的 skip / output-style、非法 -T 回退、Codex 菜单更新与 provider 导入反馈
  • ADR:docs/adr/001-code-tool-plugin-architecture.md

范围

  • 基线是最新 main:Claude Code / Codex 在相同输入下的命令、交互、输出、配置文件与副作用保持一致
  • 只做插件化等价重构,不新增第三个产品 CLI

Test plan

  • pnpm install
  • pnpm typecheck / lint / build
  • pnpm test:run(143 files / 2541 tests)
  • Claude/Codex 与 main 同场景对照:tests/unit/code-tools/main-parity.test.ts
  • 人工合并 PR(Agent 禁止合入 main)

Closes UFO-176

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

feat(code-tools): Introduce CodeTool adapter registry (Phase 1)

✨ Enhancement 📝 Documentation 🧪 Tests 🕐 40+ Minutes

Grey Divider

AI Description

• Add CodeToolAdapter interface + registry to decouple commands from tool-specific branching.
• Route Codex init and all update/uninstall through adapters while preserving existing behavior.
• Document phased migration in ADR-001 and add unit coverage for registry + consumers.
Diagram

graph TD
  A["src/cli-setup.ts"] --> B["code-tools registry"] --> C["Built-in adapters"] --> D["Existing utils/"]
  E["commands init/update/uninstall"] --> B --> C
  F["utils code-type-resolver"] --> B
  G["utils skills-installer"] --> B

  subgraph Legend
    direction LR
    _cmd["Command"] ~~~ _mod["Module"] ~~~ _util["Utils"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep constants-based routing (CODE_TOOL_TYPES + per-command if/else)
  • ➕ Least churn in the short term
  • ➕ No new registry state to manage
  • ➖ Adding a new tool continues to require edits across commands/tests/templates
  • ➖ Command layer remains tightly coupled to tool implementations
2. Dynamic plugin discovery (filesystem scan / package-based plugins)
  • ➕ True plug-and-play: add a directory/package and auto-register
  • ➕ Enables third-party adapters without core changes
  • ➖ More complexity (loading order, security, compatibility, error handling)
  • ➖ Harder to keep unit tests deterministic; higher runtime failure modes
3. Inversion-of-control container / DI wiring
  • ➕ Clear dependency boundaries and testability for adapters/services
  • ➕ Scales well as lifecycle surface grows (backup/switch/checkUpdates)
  • ➖ Adds framework-like complexity for a CLI project
  • ➖ Overkill for Phase 1 when most logic still lives in utils/commands

Recommendation: The current registry + thin facade adapters is the right Phase 1 tradeoff: it removes command-level branching and centralizes metadata (aliases/banners/skillsAgents) without forcing a risky migration of existing tool logic. Consider dynamic discovery only after Phase 2+ consolidates Claude/Codex logic into adapter-owned modules and establishes stable adapter ABI/versioning.

Files changed (18) +752 / -167

Enhancement (7) +504 / -0
cli-setup.tsRegister built-in code tools during CLI setup +2/-0

Register built-in code tools during CLI setup

• Ensures built-in adapters are registered before commands rely on registry lookups (banners, dispatch). Keeps registration idempotent and centralized at CLI bootstrap.

src/cli-setup.ts

backup.tsIntroduce timestamped config backup helper for adapters +22/-0

Introduce timestamped config backup helper for adapters

• Adds a shared utility to create backups of tool config files under a tool home directory. Used by adapters to standardize backup behavior without coupling to commands.

src/code-tools/backup.ts

adapter.tsAdd Claude Code adapter facade (metadata + update + backup) +99/-0

Add Claude Code adapter facade (metadata + update + backup)

• Introduces a Phase 1 adapter exposing Claude Code metadata (paths, aliases, skillsAgents) and delegating update behavior to existing utils. Leaves uninstall intentionally unimplemented in the adapter to avoid a large migration (planned for Phase 2).

src/code-tools/claude-code/adapter.ts

adapter.tsAdd Codex adapter facade with init/update/uninstall delegation +148/-0

Add Codex adapter facade with init/update/uninstall delegation

• Implements a Codex adapter that maps init options to existing codex helper APIs, and routes init/update/uninstall plus config switching and update checks through the adapter. Also standardizes metadata (paths, aliases, skillsAgents) and provides backup support.

src/code-tools/codex/adapter.ts

register-builtins.tsAdd idempotent built-in adapter registration +17/-0

Add idempotent built-in adapter registration

• Registers Claude Code and Codex adapters exactly once to avoid duplicate-registration errors in repeated imports or test environments. Centralizes built-in wiring away from commands.

src/code-tools/register-builtins.ts

registry.tsImplement CodeTool adapter registry with alias resolution and metadata APIs +105/-0

Implement CodeTool adapter registry with alias resolution and metadata APIs

• Adds registration, alias/id resolution, listing, installed-tool detection, and helpers for alias maps and banners. Enforces uniqueness for ids and aliases to prevent ambiguous command routing.

src/code-tools/registry.ts

types.tsDefine CodeToolAdapter contract and shared option/type model +111/-0

Define CodeToolAdapter contract and shared option/type model

• Introduces the adapter interface (metadata + lifecycle + optional capabilities) and shared option/context types to match existing command option surfaces. Establishes canonical CodeToolId union for Phase 1 tools.

src/code-tools/types.ts

Refactor (6) +83 / -161
index.tsExport CodeTool registry, adapters, and shared types +28/-0

Export CodeTool registry, adapters, and shared types

• Provides a single public entrypoint for registry operations (get/resolve/list/detect) and adapter/types exports. Enables command and utility consumers to import from one module.

src/code-tools/index.ts

init.tsRoute banners and Codex init through CodeTool registry +15/-47

Route banners and Codex init through CodeTool registry

• Replaces CODE_TOOL_BANNERS usage with registry-provided banners and delegates Codex initialization via the codex adapter (including option mapping moved into adapter). Keeps Claude Code init flow in commands for now per Phase 1 scope.

src/commands/init.ts

uninstall.tsDelegate Codex uninstall to adapter via registry +5/-3

Delegate Codex uninstall to adapter via registry

• Removes direct Codex uninstall helper invocation and instead resolves the adapter and calls uninstall through the registry. Preserves existing special-casing to only route tools whose adapter owns uninstall in Phase 1.

src/commands/uninstall.ts

update.tsReplace tool-specific update branching with adapter dispatch +10/-69

Replace tool-specific update branching with adapter dispatch

• Removes hardcoded Codex/Claude update logic from the command and routes update via the resolved adapter. Builds a minimal context for language/skipPrompt to keep existing behaviors while decoupling command logic.

src/commands/update.ts

code-type-resolver.tsUse shared alias/type constants for code tool resolution +9/-34

Use shared alias/type constants for code tool resolution

• Replaces local abbreviation mapping and hardcoded valid-type checks with CODE_TOOL_ALIASES and CODE_TOOL_TYPES. Centralizes accepted tool identifiers to reduce duplication as more tools are added.

src/utils/code-type-resolver.ts

skills-installer.tsFetch skills agent identifiers from registry with fallback +16/-8

Fetch skills agent identifiers from registry with fallback

• Moves skills agent mapping behind a lazy registry lookup to align with the new adapter metadata source while remaining test-friendly. Keeps a static fallback map to avoid runtime failures if registry is unavailable.

src/utils/skills-installer.ts

Tests (4) +101 / -6
registry.test.tsAdd unit tests for registry behavior and adapter metadata +63/-0

Add unit tests for registry behavior and adapter metadata

• Covers built-in registration, alias resolution, banner/alias-map helpers, registration checks, and duplicate registration errors. Adds light metadata assertions for Codex and Claude Code adapters to enforce contract expectations for consumers.

tests/unit/code-tools/registry.test.ts

init.test.tsUpdate init tests to mock registry dispatch and new banners +29/-2

Update init tests to mock registry dispatch and new banners

• Mocks the code-tools entrypoint to provide deterministic banners and adapter resolution for Codex init. Updates expectations to match registry-provided banner strings and expands constants mocking to include CODE_TOOL_TYPES/CODE_TOOL_ALIASES and Codex paths.

tests/unit/commands/init.test.ts

skills-installer.test.tsUpdate skills-installer tests for async registry-backed lookup +4/-4

Update skills-installer tests for async registry-backed lookup

• Switches from asserting a static exported mapping to validating getSkillsAgentsForCodeTool() results. Preserves the key behavior that claude-code includes 'universal' for symlink installs.

tests/unit/utils/skills-installer.test.ts

tools.test.tsExtend constants mocks for new alias/type usage +5/-0

Extend constants mocks for new alias/type usage

• Adds CODE_TOOL_TYPES and CODE_TOOL_ALIASES to mocked constants to keep tool-related tests consistent with the updated resolver behavior.

tests/utils/tools.test.ts

Documentation (1) +64 / -0
001-code-tool-plugin-architecture.mdAdd ADR-001 describing CodeTool plugin registry and phased migration +64/-0

Add ADR-001 describing CodeTool plugin registry and phased migration

• Documents the motivation for replacing command-layer hardcoding with a registry + adapter contract, and defines the Phase 1–5 migration plan. Explicitly calls out the non-goal of moving existing codex utils in Phase 1 and forbids adapter→command circular dependencies based on prior rollback learnings.

docs/adr/001-code-tool-plugin-architecture.md

@codecov

codecov Bot commented Jul 12, 2026 •

Copy link
Copy Markdown

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Jul 12, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. ADR not in English ✓ Resolved 📘 Rule violation ⚙ Maintainability
Description
The new ADR is written in Chinese outside the allowed README_zh-CN exception, which violates the
project’s documentation language requirement. This reduces accessibility/maintainability for
non-Chinese contributors.
Code

docs/adr/001-code-tool-plugin-architecture.md[R1-12]

+# ADR 001: CodeTool 插件化架构
+
+## 状态
+
+已接受(Phase 1 落地)
+
+## 背景
+
+ZCF 当前通过 `CODE_TOOL_TYPES` 硬编码与 `if (codex)` 分支支持 Claude Code / Codex 两种 CLI。新增第三种 CLI(如 Gemini CLI)需改动 constants、commands、templates、tests 多处,边际成本高。
+
+[UFO-175](https://github.com/UfoMiao/zcf/issues) 调研结论:参考 vercel-labs/skills 的注册表模式与 cc-switch-cli 的 AppType 路由,引入 **CodeTool 插件注册表 + 统一适配器接口**。
+
Evidence
PR Compliance ID 1 requires documentation to be in English (except README_zh-CN). The added ADR
content (e.g., headings and paragraphs) is in Chinese, violating this rule.

CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Project Documentation and Code Comments Must Be in English (Except README_zh-CN): CLAUDE.md: Proj...

Comment thread docs/adr/001-code-tool-plugin-architecture.md Outdated
Comment thread src/code-tools/backup.ts Outdated
Comment thread src/code-tools/registry.ts Outdated
Comment thread src/code-tools/registry.ts Outdated
@WitMiao
WitMiao force-pushed the feat/ufo-176-code-tool-plugin-architecture branch from 482061a to 9b2ab7c Compare July 28, 2026 02:35
@WitMiao
WitMiao force-pushed the feat/ufo-176-code-tool-plugin-architecture branch from 9b2ab7c to 7a15a6d Compare August 22, 2026 15:05
…/ Codex

Route init, update, uninstall, menu, and config-switch through the built-in registry so command handlers no longer branch on tool IDs.
Lock built-in tools, aliases, banners, and unknown-type rejection to the current main behavior.
Keep the conservative in-process adapter boundary and Claude Code / Codex compatibility constraints.
@WitMiao
WitMiao force-pushed the feat/ufo-176-code-tool-plugin-architecture branch from 064524c to a35e67d Compare August 22, 2026 19:14
@WitMiao WitMiao changed the title feat(code-tools): CodeTool 插件化架构 Phase 1 (UFO-176) feat(code-tools): CodeTool 插件化架构 (UFO-176) Aug 22, 2026
Keep skip/output-style, illegal -T fallback, Codex menu update, and provider import feedback aligned with main, and stop adapters from importing command handlers.
Keep Claude/Codex --api-configs success summary, sink tool-owned menu
actions to adapters, and import providers as ProviderProfile.
Fail invalid Codex -o before writes, switch profiles via adapter, and
derive Claude/Codex path constants from definitions.
Keep the real CLI path from writing on invalid -o, and stop Claude menu switch from re-entering the command handler.
Keep the adapter-to-Codex boundary on CodexFullInitOptions, and send reachable Claude/Codex menu and uninstall paths through CodeToolDefinition.
@WitMiao
WitMiao merged commit aec3d1e into main Aug 23, 2026
4 of 5 checks passed
@WitMiao
WitMiao deleted the feat/ufo-176-code-tool-plugin-architecture branch August 23, 2026 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant