Skip to content
Closed
Show file tree
Hide file tree
Changes from all 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
54 changes: 54 additions & 0 deletions openspec/changes/add-chinese-localization/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
## Context
OpenSpec项目目前完全使用英文,包括规范模板、AI交互指令和文档。为了支持中文开发者团队,需要进行全面的本地化,同时保持项目的核心设计原则和功能完整性。

## Goals / Non-Goals
- **Goals**:
- 提供完整的中文规范模板
- 确保AI交互使用中文
- 改进工作流以支持串行提案处理
- 保持与现有功能的完全兼容性
- 提供清晰的实施指导

- **Non-Goals**:
- 不改变核心架构和数据模型
- 不影响现有的英文用户
- 不增加额外的运行时依赖

## Decisions
- **Decision: 双语支持策略**
- 实现方式:创建独立的中文模板文件,通过配置选项选择语言
- 理由:避免破坏现有英文用户,同时为中文用户提供完整体验

- **Decision: AI交互语言强制**
- 实现方式:在AGENTS.md中明确要求使用中文,并在模板中设置语言标识
- 理由:确保AI助手理解并遵循中文交互约定

- **Decision: 工作流改进**
- 实现方式:在AGENTS.md中更新工作流说明,添加串行处理和明确授权要求
- 理由:提高提案质量和实施准确性

- **Decision: 技术方案前置**
- 实现方式:在任务清单前强制要求技术方案讨论
- 理由:确保技术可行性,减少实施过程中的返工

## Risks / Trade-offs
- **Risk**: 模板维护复杂度增加
- **Mitigation**: 建立模板同步机制,确保中英文版本的一致性

- **Risk**: AI工具可能不完全支持中文指令
- **Mitigation**: 在AGENTS.md中提供详细的中文交互示例和fallback策略

- **Risk**: 工作流变更可能影响现有用户习惯
- **Mitigation**: 提供清晰的迁移指南和向后兼容支持

## Migration Plan
1. 创建中文模板文件
2. 更新AGENTS.md中的AI交互约定
3. 更新项目文档和示例
4. 测试所有支持的AI工具的中文兼容性
5. 发布新版本并提供迁移指南

## Open Questions
- 是否需要支持动态语言切换?
- 如何处理混合语言环境(部分团队成员使用英文,部分使用中文)?
- 是否需要为其他语言提供类似的本地化支持?
16 changes: 16 additions & 0 deletions openspec/changes/add-chinese-localization/proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Why
当前OpenSpec项目使用英文文档和交互,这对中国开发者团队造成了使用障碍。为了提高本地化体验和团队协作效率,需要将规范模板翻译为中文,并明确要求使用中文进行交互。同时,改进工作流以确保提案的串行处理和明确的实施授权。

## What Changes
- 将OpenSpec的规范文件模板翻译为中文,确保符合当前项目的设计目标
- 在AI交互约定中明确要求使用中文进行交互和问答
- 改进工作流:强制串行处理提案,一个提案完成后才能开始下一个
- 明确提案流程:创建提案 → 反复讨论 → 接收明确指令 → 开始实现 → 归档提案
- 禁止在未收到明确指令前实施提案
- 将提案讨论期间的所有交互自动视为对当前提案的更新
- 在生成任务清单前,先生成技术方案并讨论可行性

## Impact
- Affected specs: `specs/openspec-conventions`, `specs/docs-agent-instructions`
- Affected code: `src/core/templates/`, `openspec/AGENTS.md`, `openspec/project.md`
- Affected tools: 所有支持的AI编码助手
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
## MODIFIED Requirements
### Requirement: AI交互语言要求

AI编码助手SHALL使用简体中文进行所有交互,包括提案创建、讨论、实施和归档的全过程。

#### Scenario: 中文交互强制

- **WHEN** 与用户进行任何交互时
- **THEN** 必须使用简体中文进行沟通
- **AND** 所有生成的文档、注释和代码说明都必须使用中文
- **AND** 保持技术术语的准确性和专业性

### Requirement: 工作流改进

AI编码助手SHALL遵循改进后的工作流,确保提案的串行处理和明确授权。

#### Scenario: 串行提案处理

- **WHEN** 用户提出新功能请求时
- **THEN** 首先检查是否存在活跃提案:`openspec list`
- **AND** 如果存在活跃提案,提醒用户完成当前提案后再开始新提案
- **AND** 只有在确认没有活跃提案时才创建新提案

#### Scenario: 明确实施授权

- **WHEN** 提案创建和讨论完成后
- **THEN** 必须等待用户明确的实施指令
- **AND** 在收到"开始实施"、"执行此变更"等明确指令前不得进行代码实现
- **AND** 将所有讨论期间的交互视为对当前提案的更新

#### Scenario: 技术方案前置

- **WHEN** 提案内容基本确定后
- **THEN** 必须先创建技术方案文档 `design.md`
- **AND** 与用户讨论方案的可行性和具体实施细节
- **AND** 获得方案确认后才能生成任务清单 `tasks.md`

## ADDED Requirements
### Requirement: 提案讨论自动更新

在提案讨论期间,所有交互SHALL自动更新当前提案内容。

#### Scenario: 自动提案更新

- **WHEN** 用户对提案内容提出修改建议时
- **THEN** 自动更新 `proposal.md` 文件中的相关内容
- **AND** 保持提案结构的完整性
- **AND** 记录所有重要的讨论要点和决策

### Requirement: 中文模板支持

OpenSpec SHALL提供完整的中文模板支持,确保 `openspec init` 生成的都是中文文档。

#### Scenario: 中文模板生成

- **WHEN** 执行 `openspec init` 命令时
- **THEN** 生成的 `AGENTS.md`、`project.md` 和规范模板都必须是中文
- **AND** 保持与英文模板相同的功能和结构
- **AND** 遵循中文技术文档的最佳实践
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
## MODIFIED Requirements
### Requirement: 结构化规范格式

行为规范SHALL使用结构化格式,包含一致的章节标题和关键词,以确保视觉一致性和可解析性。

#### Scenario: 编写需求章节

- **WHEN** 在行为规范中记录需求时
- **THEN** 使用三级标题格式 `### Requirement: [名称]`
- **AND** 紧跟描述核心行为的SHALL语句
- **AND** 保持需求名称描述性且不超过50个字符

#### Scenario: 记录场景

- **WHEN** 记录特定行为或用例时
- **THEN** 使用四级标题格式 `#### Scenario: [描述]`
- **AND** 使用粗体关键词的项目符号表示步骤:
- **GIVEN** 表示初始状态(可选)
- **WHEN** 表示条件或触发器
- **THEN** 表示预期结果
- **AND** 表示额外结果或条件

#### Scenario: 添加实现细节

- **WHEN** 步骤需要额外细节时
- **THEN** 在主步骤下使用子项目符号
- **AND** 保持一致的缩进
- 子项目符号提供示例或具体信息
- 保持子项目符号简洁

### Requirement: AI交互语言约定

AI编码助手SHALL使用中文进行所有交互和问答,确保中文开发者团队的无障碍协作。

#### Scenario: AI交互语言强制

- **WHEN** 与AI编码助手进行交互时
- **THEN** 所有指令、响应和文档必须使用简体中文
- **AND** 保持专业和技术准确性
- **AND** 遵循中文技术文档的最佳实践

## ADDED Requirements
### Requirement: 串行提案处理

变更提案SHALL按照串行方式处理,确保每个提案得到充分关注和完整实施。

#### Scenario: 串行提案处理

- **WHEN** 处理多个变更提案时
- **THEN** 必须完成当前提案的归档后才能开始下一个提案
- **AND** 不允许并行处理多个活跃提案
- **AND** 使用 `openspec list` 命令验证当前没有其他活跃提案

### Requirement: 明确实施授权

在开始实施任何提案之前,SHALL收到明确的实施指令。

#### Scenario: 实施授权流程

- **WHEN** 提案创建和讨论完成后
- **THEN** 必须等待用户明确指令如"开始实施此提案"或"执行此变更"
- **AND** 在收到明确指令前不得进行任何代码实现
- **AND** 所有讨论期间的交互都视为对当前提案内容的更新

### Requirement: 技术方案前置

在生成任务清单之前,SHALL先创建和讨论技术方案。

#### Scenario: 技术方案讨论

- **WHEN** 提案内容确定后准备实施时
- **THEN** 必须先创建 `design.md` 文件详细说明技术方案
- **AND** 讨论方案的可行性和具体执行方式
- **AND** 获得方案确认后才能生成 `tasks.md` 任务清单
30 changes: 30 additions & 0 deletions openspec/changes/add-chinese-localization/tasks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## 1. 中文模板创建
- [ ] 1.1 创建中文版AGENTS.md模板,包含中文交互约定和改进后的工作流说明
- [ ] 1.2 创建中文版project.md模板,提供中文项目上下文说明
- [ ] 1.3 创建中文版规范模板,包括openspec-conventions和docs-agent-instructions的中文版本

## 2. 模板管理器更新
- [ ] 2.1 更新TemplateManager,添加中文模板支持
- [ ] 2.2 实现语言选择机制,支持通过配置选择中文或英文模板
- [ ] 2.3 确保中文模板与英文模板的功能一致性

## 3. AI交互约定更新
- [ ] 3.1 更新所有AI工具配置器,确保生成的配置文件包含中文交互要求
- [ ] 3.2 在AGENTS.md中明确要求使用中文进行所有交互
- [ ] 3.3 添加工作流改进说明,包括串行处理、明确授权和技术方案前置要求

## 4. CLI命令更新
- [ ] 4.1 更新openspec init命令,支持中文模板选项
- [ ] 4.2 更新CLI帮助文档,提供中文选项说明
- [ ] 4.3 确保所有CLI输出在中文模式下使用中文

## 5. 测试和验证
- [ ] 5.1 创建中文模板的单元测试,验证格式和内容正确性
- [ ] 5.2 测试所有支持的AI工具的中文兼容性
- [ ] 5.3 验证工作流改进的正确实施
- [ ] 5.4 确保openspec validate --strict对中文模板的验证通过

## 6. 文档更新
- [ ] 6.1 更新README.md,添加中文本地化说明
- [ ] 6.2 更新CHANGELOG.md,记录中文本地化功能
- [ ] 6.3 提供中文用户的迁移指南和使用说明
Loading