Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions openspec/changes/add-trae-support/proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 增加对 Trae IDE 的支持

## Why

Trae IDE 是一个新兴的 AI 驱动开发环境,需要与 OpenSpec 集成以支持规范驱动的开发工作流。目前 OpenSpec 支持多种 AI 工具(Claude、Cline、CodeBuddy 等),但缺少对 Trae IDE 的支持。

## What Changes

- 添加 `TraeConfigurator` 类,实现 `ToolConfigurator` 接口
- 在 `ToolRegistry` 中注册 Trae 配置器
- 支持在项目根目录的 `.trae/rules/project_rules.md` 文件中注入 OpenSpec 指令
- 遵循现有的配置器模式,使用 OPENSPEC 标记管理内容

## Impact

- affected specs: `cli-init` (初始化命令需要支持 Trae 选项)
- affected code:
- `src/core/configurators/trae.ts` (新文件)
- `src/core/configurators/registry.ts` (注册新配置器)
- 相关测试文件
- 向后兼容:不影响现有功能
- 用户体验:Trae IDE 用户可以通过 `openspec init` 自动配置项目规则
24 changes: 24 additions & 0 deletions openspec/changes/add-trae-support/specs/cli-init/spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# CLI Init 规范增量变更

## ADDED Requirements

### Requirement: Trae IDE 配置支持
系统 SHALL 支持为 Trae IDE 生成项目配置文件。

#### Scenario: 用户选择 Trae IDE 工具
- **WHEN** 用户在初始化过程中选择 Trae IDE 作为 AI 工具
- **THEN** 系统应在 `.trae/rules/project_rules.md` 文件中注入 OpenSpec 指令
- **AND** 使用 OPENSPEC 标记管理内容块
- **AND** 内容应包含项目特定的 OpenSpec 使用说明

#### Scenario: Trae 配置文件已存在
- **WHEN** 项目中已存在 `.trae/rules/project_rules.md` 文件
- **THEN** 系统应使用 OPENSPEC 标记更新现有文件
- **AND** 保留文件中的其他内容不变
- **AND** 仅更新 OPENSPEC 标记之间的内容

#### Scenario: Trae 目录不存在
- **WHEN** 项目中不存在 `.trae/rules/` 目录
- **THEN** 系统应自动创建必要的目录结构
- **AND** 创建 `project_rules.md` 文件
- **AND** 注入完整的 OpenSpec 配置内容
22 changes: 22 additions & 0 deletions openspec/changes/add-trae-support/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 实现任务

## 1. 核心实现
- [ ] 1.1 创建 `src/core/configurators/trae.ts` 文件
- [ ] 1.2 实现 `TraeConfigurator` 类,继承 `ToolConfigurator` 接口
- [ ] 1.3 配置目标文件路径为 `.trae/rules/project_rules.md`
- [ ] 1.4 使用 `TemplateManager.getAgentsStandardTemplate()` 获取模板内容

## 2. 注册集成
- [ ] 2.1 在 `src/core/configurators/registry.ts` 中导入 `TraeConfigurator`
- [ ] 2.2 在 `ToolRegistry` 静态块中注册 Trae 配置器
- [ ] 2.3 使用 'trae' 作为工具 ID

## 3. 测试验证
- [ ] 3.1 创建单元测试文件 `test/core/configurators/trae.test.ts`
- [ ] 3.2 测试配置器的基本功能
- [ ] 3.3 验证文件路径和内容生成
- [ ] 3.4 运行现有测试确保无回归

## 4. 文档更新
- [ ] 4.1 确认 CLI 初始化命令自动包含新的配置器
- [ ] 4.2 验证 `openspec init` 命令中 Trae 选项可用
Comment on lines +1 to +22
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Mark completed tasks as done.

All tasks listed in this file have been implemented:

  • Core implementation: TraeConfigurator class created in src/core/configurators/trae.ts
  • Registration: Configurator registered in src/core/configurators/registry.ts with 'trae' ID ✓
  • Testing: Unit tests in test/core/configurators/trae.test.ts and integration test in test/core/init.test.ts
  • Documentation: Trae option available in src/core/config.ts and spec documented ✓

As per coding guidelines, mark each completed item with - [x] once finished.

Apply this diff to mark all tasks as complete:

 # 实现任务
 
 ## 1. 核心实现
-- [ ] 1.1 创建 `src/core/configurators/trae.ts` 文件
-- [ ] 1.2 实现 `TraeConfigurator` 类,继承 `ToolConfigurator` 接口
-- [ ] 1.3 配置目标文件路径为 `.trae/rules/project_rules.md`
-- [ ] 1.4 使用 `TemplateManager.getAgentsStandardTemplate()` 获取模板内容
+- [x] 1.1 创建 `src/core/configurators/trae.ts` 文件
+- [x] 1.2 实现 `TraeConfigurator` 类,继承 `ToolConfigurator` 接口
+- [x] 1.3 配置目标文件路径为 `.trae/rules/project_rules.md`
+- [x] 1.4 使用 `TemplateManager.getAgentsStandardTemplate()` 获取模板内容
 
 ## 2. 注册集成
-- [ ] 2.1 在 `src/core/configurators/registry.ts` 中导入 `TraeConfigurator`
-- [ ] 2.2 在 `ToolRegistry` 静态块中注册 Trae 配置器
-- [ ] 2.3 使用 'trae' 作为工具 ID
+- [x] 2.1 在 `src/core/configurators/registry.ts` 中导入 `TraeConfigurator`
+- [x] 2.2 在 `ToolRegistry` 静态块中注册 Trae 配置器
+- [x] 2.3 使用 'trae' 作为工具 ID
 
 ## 3. 测试验证
-- [ ] 3.1 创建单元测试文件 `test/core/configurators/trae.test.ts`
-- [ ] 3.2 测试配置器的基本功能
-- [ ] 3.3 验证文件路径和内容生成
-- [ ] 3.4 运行现有测试确保无回归
+- [x] 3.1 创建单元测试文件 `test/core/configurators/trae.test.ts`
+- [x] 3.2 测试配置器的基本功能
+- [x] 3.3 验证文件路径和内容生成
+- [x] 3.4 运行现有测试确保无回归
 
 ## 4. 文档更新
-- [ ] 4.1 确认 CLI 初始化命令自动包含新的配置器
-- [ ] 4.2 验证 `openspec init` 命令中 Trae 选项可用
+- [x] 4.1 确认 CLI 初始化命令自动包含新的配置器
+- [x] 4.2 验证 `openspec init` 命令中 Trae 选项可用
🤖 Prompt for AI Agents
In openspec/changes/add-trae-support/tasks.md around lines 1 to 22, the review
says all checklist items are implemented but the file still shows unchecked
boxes; update each task checkbox to checked by replacing every "- [ ]" with "-
[x]" for items 1.1–4.2 so the file accurately reflects completion.

Loading
Loading