Skip to content

[Feature] Support Cursor/Trae/Windsurf-style glob rules output #8

@TrueNine

Description

@TrueNine

Feature Description

支持在输出阶段生成类似 Cursor、Trae、Windsurf 等编辑器的 glob rules 配置,使同一份规则可以直接映射到多工具的规则系统中。

Problem Statement

  • Current Behavior: 当前 Output 插件更多是按目标工具格式输出,但对基于 glob 的 rules/rulesets 等配置缺少统一抽象和生成能力,需要用户在各工具中手动维护各自的 glob 规则。
  • Problem: 当需要在多个 AI IDE/CLI(例如 Cursor、Trae、Windsurf)之间同步「哪些文件生效、忽略哪些路径、不同目录使用不同规则」时,用户需要分别编写和更新每个工具的 glob 规则,容易不一致且难以维护。

Proposed Solution (Optional)

  • Suggested Solution:
    • 在 CLI/插件层面抽象一套通用的「glob rules 描述格式」,并在 Output 插件侧为 Cursor / Trae / Windsurf 等工具生成对应的配置(例如 .cursor/rules/*.mdc、Trae/Windsurf 的规则文件或 JSON/YAML 配置)。
    • 支持按 workspace group / project prompt / agent / skill 等维度定义作用范围,并通过 glob 将其映射到具体文件/目录。
    • 允许定义 include/exclude、多层优先级,以及对不同工具的最小兼容子集(例如不支持的特性自动降级或忽略)。
  • Alternatives:
    • 仅提供一份通用 JSON schema,由用户自己在各工具适配器层转换;但会增加使用门槛,不如直接在 Output 插件里做好多目标导出友好。

User Scenario

  1. 用户在 memory-sync 中维护一套统一的 workspace / agent / rules 定义,并为不同目录配置 glob 匹配(如 src/, �pps//cli/**, **/*.test.ts 等)。
  2. 运行 CLI,选择输出到 Cursor + Trae + Windsurf 多种目标工具。
  3. 对应工具下自动生成可直接使用的 glob 规则文件/配置,用户只需在各工具里打开项目即可享受同一套规则,而无需手写重复配置。

Expected Outcome

  • Expected Behavior: 从单一的 rules 配置源,自动生成适配 Cursor、Trae、Windsurf 等的 glob-based rules,尽可能保证语义一致;当更新规则后,重新运行 Output 即可完成多工具同步。
  • Impact Scope: 主要影响 Output 插件体系(例如 OpencodeCLIOutputPlugin 及相关 Output plugins)、内部规则抽象层以及文档示例;对现有配置格式保持向后兼容,可以新增一层「规则 → 工具配置」映射。

Context Information

  • File / Module: CLI Output 插件体系(如 cli/src/plugins/OpencodeCLIOutputPlugin.ts 等),以及为 Cursor/其他 IDE 输出的相关插件
  • Branch: dev
  • Latest Commit: 3dee5ce chore: auto-generated commit (0 added, 2 modified, 0 deleted)
  • OS: Windows 10.0.26200 (win32)
  • Node.js: v25.6.1

Additional Notes

  • 可以考虑先实现一个最小可用版本(例如仅支持 Cursor + 1~2 个典型工具的 glob 规则同步),在实践中再抽象出更通用的 schema。
  • 若未来引入 GUI(Tauri 应用),也可以在界面上可视化管理 glob rules,再由 CLI Output 负责多目标导出。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions