这个项目能做什么

CompoMo 是一个与框架无关的 Web 组件库,发布为 @ds-mo/ui。它基于 Stencil.js 构建,采用 TokoMo 设计令牌进行样式化,作为自定义元素以及生成的 Angular、React 和 Vue 适配器进行分发。它被描述为 ds-mo 家族的一部分,与 @ds-mo/tokens 和 @ds-mo/icons 并列。 安装会拉入三个包:@ds-mo/tokens、@ds-mo/icons 和 @ds-mo/ui。TokoMo 令牌在应用程序根目录导入一次(tokens、tokens/reset 和 tokens/globals)。 用法遵循框架规范。在纯 HTML 中,导入组件模块会自动定义其自定义元素,因此标签如 ds-button-filled 可直接使用 label 属性。Angular 应用程序建议使用每个组件独立适配器(例如 @ds-mo/ui/angular/ds-button-filled);React 和 Vue 应用程序分别使用来自 @ds-mo/ui/react 和 @ds-mo/ui/vue 的生成包装器。图标通过 @ds-mo/icons 解析,ds-icon 在打包时匹配精确的 IcoMo 导出名称。 该库记录了几个公共支持表面:@ds-mo/ui/shell 用于框架无关的 shell 合同,@ds-mo/ui/toast 用于 toast 管理器,@ds-mo/ui/utils 用于通用辅助函数如 registerIcons,@ds-mo/ui/prose.css 用于渲染器无关的语义排版样式,以及 @ds-mo/ui/control-elevation.css 用于抬高的外部控件包装器。故意没有全局组件 CSS 包;样式随每个自定义元素分发。 关于浏览器支持,CompoMo 针对不断更新的"Baseline Newly available"集合。一旦某个 Web 平台功能在 Baseline 核心浏览器中实现互操作,组件即可采用该功能,而持有旧版浏览器的消费者需自行提供回退方案或继续使用较早的兼容版本。 一个值得注意的添加是 compomo-mcp,这是一个与包捆绑的本地可执行文件。它为 Custom Elements、Angular、React 和 Vue 暴露生成的组件元数据和可执行的组合配方,并可注册为 MCP 服务器(例如在指向 node_modules/.bin/compomo-mcp 的 Codex 配置文件中)。据描述,它仅使用 stdio,并服务于现代 2026-07-28 协议以及通过 2025-11-25 的遗留 initialize 基础修订版,建议支持现代发现的客户端进行自动版本协商。README 将 API 事实描述为来自 Stencil 元数据,而精心策划的意图来自同位置组件代理 JSON 和可执行模式。 文档分为 Storybook 介绍、框架集成指南、v13 迁移指南、维护者文档路由以及 AGENTS.md 中的仓库说明。README 明确拒绝重复包版本、组件列表、属性、事件和导出信息,将读者引导至 package.json、Storybook 或生成注册表以获取当前事实。