Skip to content

Latest commit

 

History

History
28 lines (20 loc) · 2.43 KB

File metadata and controls

28 lines (20 loc) · 2.43 KB

AGENTS.md

本文件规定 Codex 及其他自动化编码代理维护本仓库时应长期遵守的规则。其适用范围为整个仓库。

项目背景

Douban Music Helper 是一个辅助创建和填写豆瓣音乐条目的 Chrome 扩展。它从网易云音乐、Bandcamp、Discogs、Apple Music 等音乐来源采集专辑元数据,通过扩展存储在页面之间传递数据,并填写豆瓣音乐的新条目表单。

维护规则

  1. 保持网易云音乐、Bandcamp、Discogs、Apple Music 等来源之间的兼容性。修改公共工具、消息传递、元数据结构或豆瓣填写流程时,应考虑所有已支持来源。
  2. 修改某一个来源时,只调整该来源所必需的提取逻辑;不要顺带重构、格式化或改写其他来源的代码。
  3. 不要随意重命名已有的 storage key,尤其是 DoubanListingMetadata。确需变更时,必须提供兼容旧数据的迁移或回退方案。
  4. 发布新版本时,manifest.json 与 package.json 中的版本号必须保持一致。
  5. 用户可见的功能新增或 bug 修复应同步记录到 CHANGELOG.md,说明其影响范围。
  6. 保留现有 MIT License,以及 README 和许可证文件中对原项目的 attribution。不要删除、弱化或错误改写相关版权与来源说明。
  7. 网易云音乐曲目标题应优先读取干净的 b[title] 属性,并将 U+00A0、  等不换行空格规范化为普通空格。
  8. 不要将 innerText 或 textContent 作为网易云音乐曲目标题的首选来源,因为页面可能在元素内部插入随机、隐藏或可见的干扰字符。它们只能作为确实不存在可靠 title 属性时的兼容性回退。
  9. 修改代码时尽量保持改动范围最小,避免无关重构、批量格式化、依赖升级或文件改名。
  10. 完成修改后,应说明修改了哪些文件、每项修改的原因,以及建议如何手动或自动测试。若未能执行某项测试,也应明确说明。

验证重点

  • 涉及来源采集逻辑时,至少确认生成的元数据字段仍符合现有结构,并检查来源页面上的 Collect 流程。
  • 涉及公共数据流时,检查“来源页采集 → 扩展存储 → 豆瓣页面填写”的完整流程。
  • 涉及网易云音乐时,特别检查 iframe 页面采集、b[title] 曲目标题和不换行空格清理。
  • 涉及发布版本时,核对 manifest.json、package.json 和 CHANGELOG.md。