mcpField
M
meteor-community-packages

meteor-community-packages

github.com/meteor开发10288 次安装5 天前更新
代码仓库

关于 meteor-community-packages

用于发现、评估和采用 Meteor 社区包的技能。它帮助开发者在添加依赖前核实维护方、版本兼容性、行为变化、集成要求及针对性测试。

主要功能

  1. 01包的发现与比较
  2. 02维护方和发布状态核查
  3. 03Meteor 版本兼容性核查
  4. 04集成与回滚指导
  5. 05制定包专属测试计划

适用场景

  1. 01为缺失功能寻找合适的包
  2. 02Meteor 升级前检查包兼容性
  3. 03评估行为与安全变化
  4. 04规划包的采用和回滚

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/meteor/agent-skills --skill meteor-community-packages

安装后在 Claude Code 中输入/meteor-community-packages确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
archive.md
cluster.md
eval-cases.md
jam-method.md
jam-pub-sub.md
mail-preview.md
meteor-rpc.md
mongo-transactions.md
offline.md
package-catalog.md
package-installation.md
roles.md
soft-delete.md
wormhole.md

详细介绍

Meteor 社区包

将 Meteor 社区包页面用作经过筛选的发现目录。页面收录并不意味着某个包属于 Meteor 核心、由 Meteor 组织接手维护,或保证与每个 Meteor 3 版本兼容。只有在检查所有权、当前版本、支持的 Meteor 范围以及对应用行为的影响后,才选择该包。

此技能负责包的发现、比较、首次采用,以及 Meteor 核心文档中记录的包专属集成内容。它不能替代核心技能;核心技能涵盖方法、发布、Mongo、账户、安全、测试、构建或部署。

决策流程

  1. 明确缺少的功能以及必须保持不变的行为。区分首次采用与 Meteor 升级期间停止解析的包。后者应转交给 migrate-to-meteor-3。
  2. 检查 .meteor/release、.meteor/packages、.meteor/versions、package.json 和 npm 锁文件。包 API 取决于解析出的包版本,而不仅仅是 Meteor 版本。
  3. 如果请求符合已记录的目录条目或推荐包,请阅读 references/package-catalog.md。只打开所选包的本地指南,并在回复前阅读其中的基准、选择规则和必需检查。之后再查阅指南链接的上游仓库,了解超出 Meteor 维护指南范围的 API 或版本。
  4. 正确分类候选包:
    • 文档中列出的社区包由其列明的维护者负责,并有独立的发布周期。
    • Meteor Community 下的包由社区维护,不属于 Meteor 核心。
    • 已晋升为核心的包(例如 Meteor 3.1+ 中的 roles)使用核心包名称和 Meteor 文档。
  5. 比较行为,而非功能标签。识别猴子补丁、查询或删除语义的变化、客户端持久化、重放、外部端点、数据库拓扑要求,以及对生产运行时的影响。
  6. 从官方文档核实 Meteor 最低版本要求,并从其注册表或仓库核实包版本。如果文档未说明最低版本要求,应明确指出,并检查当前发布版本,而不是推断兼容性。
  7. 通过包文档指定的生态系统安装。Atmosphere 包使用 meteor add,npm 包使用 meteor npm install。不要臆造版本约束。安装后,在 .meteor/versions 或 npm 锁文件中确认解析出的版本。 对于 Meteor 3.6-beta.0 中通过交互方式或 Git 采用的 Atmosphere 包,请阅读包安装。在脚本中使用明确的注册表名称;保留 npm 工作区选定的包管理器。
  8. 执行所选包指南中所有相关的必需检查。不要在询问项目路径后就停止。如果无法访问文件,应说明必须进行的具体版本、安全、行为和测试检查。 对于指南未涵盖的选项,应通过上游仓库核实解析出的版本,而不是根据其他版本进行推断。
  9. 添加最小化的代表性集成,并测试包专属行为以及底层 Meteor 不变量。授权、验证、发布选择器、索引、事务设计、构建输出或部署架构应使用对应的核心技能。

生态系统选择

当某项能力依赖 Meteor 包、客户端/服务端打包、Meteor 构建插件、包全局变量或 Meteor 约束求解器时,使用 Atmosphere 包。通用 JavaScript 库和面向 npm 生态系统设计的包则使用 npm。Meteor 应用可以同时使用两者。

Atmosphere 和 Packosphere 均提供包元数据。Packosphere 的维护信号有助于分诊,但不能取代对源代码仓库、发布历史、未解决的兼容性问题、许可证和解析版本的检查。

实用检查命令:

meteor --version
meteor show <atmosphere-package>
meteor list
meteor npm view <npm-package> version

采用检查

对于每个选定的包,回复必须说明:

  • 它为何比文档中列出的替代方案更适合。
  • 由谁维护,以及它由社区维护还是属于核心组件。
  • 如何验证当前上游版本和解析出的包版本,以及文档中说明的 Meteor 兼容范围。
  • 它会改变哪些应用语义。
  • 它会暴露哪些数据、端点或服务端能力。
  • 如何移除或回滚集成。
  • 所选指南中有哪些具体的重点测试,可证明预期行为及其安全边界。

应将封装器视为扩展,而不是 Meteor 安全模型的替代品。方法和发布辅助工具仍需服务端授权和参数校验。客户端持久化仍需遵循最小权限原则来选择数据。外部方法桥接需要明确审查其暴露范围和身份验证。 对于 Wormhole 或其他外部方法桥接,回复必须包含暴露前检查清单,涵盖方法清单、现有身份验证和授权、输入校验、速率限制、副作用、返回字段、凭据测试,以及证明未暴露的方法仍不可访问。

路由

请求负责的技能
软件包在升级期间无法解析、构建或支持 Meteor 3migrate-to-meteor-3
方法实现、校验、乐观 UI 或速率限制meteor-methods
发布设计、授权或响应式数据语义meteor-pubsub
集合选择器、索引、Change Streams 或 Mongo 行为meteor-mongo-minimongo
账户与授权设计,包括角色如何保护服务端操作meteor-accounts 和 meteor-security
集群拓扑或生产环境部署meteor-deployment
发布或维护 Atmosphere 软件包软件包创作工作流,不属于此技能

反模式

  • 仅因某个软件包出现在 Meteor 文档中就推荐它。
  • 将 Meteor Community 维护误认为 Meteor 核心支持。
  • 假设某个软件包支持此技能支持的所有 Meteor 3 版本。
  • 未检查已安装的软件包版本,就照搬最新 API。
  • 在选择数据模型之前,同时采用两种替代方案,例如归档和软删除。
  • 任由封装器的默认设置悄然削弱方法、发布或数据访问控制。
  • 将兼容性桥接作为新系统的默认架构。

另请参阅

评论

支持 Markdown