issuekit 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {issuekit-0.1.0 → issuekit-0.1.2}/PKG-INFO +56 -53
  2. {issuekit-0.1.0 → issuekit-0.1.2}/README.md +155 -152
  3. {issuekit-0.1.0 → issuekit-0.1.2}/pyproject.toml +1 -1
  4. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/__init__.py +1 -1
  5. issuekit-0.1.2/src/issuekit/agent_skills.py +55 -0
  6. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/agents/__init__.py +1 -1
  7. issuekit-0.1.2/src/issuekit/agents/registry.py +52 -0
  8. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.change.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-change/SKILL.md +7 -8
  9. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-change/agents/openai.yaml +4 -0
  10. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.coding.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-coding/SKILL.md +5 -12
  11. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-coding/agents/openai.yaml +4 -0
  12. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.design.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-design/SKILL.md +6 -13
  13. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-design/agents/openai.yaml +4 -0
  14. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.knowledge.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-knowledge/SKILL.md +6 -4
  15. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-knowledge/agents/openai.yaml +4 -0
  16. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.release.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-release/SKILL.md +85 -90
  17. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-release/agents/openai.yaml +4 -0
  18. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.require.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-require/SKILL.md +7 -14
  19. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-require/agents/openai.yaml +4 -0
  20. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.review.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-review/SKILL.md +5 -6
  21. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-review/agents/openai.yaml +4 -0
  22. issuekit-0.1.0/src/issuekit/bundled_commands/issuekit.test.md → issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-test/SKILL.md +6 -11
  23. issuekit-0.1.2/src/issuekit/bundled_skills/issuekit-test/agents/openai.yaml +4 -0
  24. issuekit-0.1.2/src/issuekit/bundled_templates/release-note.md +123 -0
  25. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/cli.py +3 -1
  26. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/commands/init.py +25 -19
  27. issuekit-0.1.2/src/issuekit/knowledge/__init__.py +5 -0
  28. issuekit-0.1.0/src/issuekit/agent_commands.py +0 -80
  29. issuekit-0.1.0/src/issuekit/agents/registry.py +0 -68
  30. issuekit-0.1.0/src/issuekit/bundled_templates/release-note.md +0 -90
  31. issuekit-0.1.0/src/issuekit/knowledge/__init__.py +0 -32
  32. {issuekit-0.1.0 → issuekit-0.1.2}/.gitignore +0 -0
  33. {issuekit-0.1.0 → issuekit-0.1.2}/LICENSE +0 -0
  34. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/bundled_templates/code-review.md +0 -0
  35. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/bundled_templates/requirement.md +0 -0
  36. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/bundled_templates/technical-design.md +0 -0
  37. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/bundled_templates/test-plan.md +0 -0
  38. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/commands/__init__.py +0 -0
  39. {issuekit-0.1.0 → issuekit-0.1.2}/src/issuekit/templates.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: issuekit
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: AI 辅助开发的 Issue 全生命周期工具。从需求分析到代码审核,由你的 AI 编程助手驱动。
5
5
  Project-URL: Homepage, https://github.com/xsg22/issue-kit
6
6
  Project-URL: Repository, https://github.com/xsg22/issue-kit
@@ -29,18 +29,20 @@ AI 辅助开发的 Issue 全生命周期工具。从需求分析到代码审核
29
29
 
30
30
  ## IssueKit 是什么?
31
31
 
32
- IssueKit 为 AI 辅助开发提供结构化的工作流。它提供一组命令,引导你的 AI 编程助手(Cursor、Claude Code、Codex 等)完成一个 Issue 的完整生命周期:
32
+ IssueKit 为 AI 辅助开发提供结构化的工作流。它提供一组 Skills,引导你的 AI 编程助手(Cursor、Claude Code、Codex 等)完成一个 Issue 的完整生命周期:
33
33
 
34
- | 阶段 | 命令 | 说明 |
35
- |------|------|------|
36
- | 1. 需求分析 | `/issuekit.require` | 分析需求,生成面向产品经理的需求文档 |
37
- | 2. 技术方案 | `/issuekit.design` | 架构设计、接口设计、组件设计、开发步骤 |
38
- | 3. 编码实现 | `/issuekit.coding` | 按技术方案编码,交叉校验代码与文档一致性 |
39
- | 4. 测试方案 | `/issuekit.test` | 黑盒业务测试 + 白盒单测/接口测试用例 |
40
- | 5. 发布准备 | `/issuekit.release` | 生成发布文档,创建 Pull Request |
41
- | 6. 代码审核 | `/issuekit.review` | 多维度交叉验证(需求、方案、质量) |
42
34
 
43
- 还有一个 `/issuekit.knowledge` 命令,用于生成项目上下文摘要,让 AI 助手快速理解项目,无需每次从零扫描。
35
+ | 阶段 | Skill | 说明 |
36
+ | ------- | ------------------- | ---------------------- |
37
+ | 1. 需求分析 | `$issuekit-require` | 分析需求,生成面向产品经理的需求文档 |
38
+ | 2. 技术方案 | `$issuekit-design` | 架构设计、接口设计、组件设计、开发步骤 |
39
+ | 3. 编码实现 | `$issuekit-coding` | 按技术方案编码,交叉校验代码与文档一致性 |
40
+ | 4. 测试方案 | `$issuekit-test` | 黑盒业务测试 + 白盒单测/接口测试用例 |
41
+ | 5. 发布准备 | `$issuekit-release` | 生成发布文档,创建 Pull Request |
42
+ | 6. 代码审核 | `$issuekit-review` | 多维度交叉验证(需求、方案、质量) |
43
+
44
+
45
+ 还有一个 `$issuekit-knowledge` skill,用于生成项目上下文摘要,让 AI 助手快速理解项目。
44
46
 
45
47
  ## 安装
46
48
 
@@ -56,10 +58,12 @@ pip install issuekit
56
58
 
57
59
  ```bash
58
60
  cd your-project
59
- issuekit init --ai cursor
61
+ issuekit init --ai cursor # Cursor
62
+ issuekit init --ai codex # Codex
63
+ issuekit init --ai claude # Claude Code
60
64
  ```
61
65
 
62
- 这会创建 `.issuekit/` 目录(模板 + 知识库配置),并将命令文件安装到 `.cursor/commands/`。
66
+ 这会创建 `.issuekit/` 目录(模板 + 知识库配置),并将 Skills 安装到对应目录。
63
67
 
64
68
  默认 Issue 文档存放在项目根目录的 `issues/` 文件夹下。你也可以自定义目录:
65
69
 
@@ -69,10 +73,10 @@ issuekit init --ai cursor --issues-dir doc/issues
69
73
 
70
74
  ### 第 2 步:构建项目知识(可选但推荐)
71
75
 
72
- Cursor 中运行命令:
76
+ AI 助手中运行:
73
77
 
74
78
  ```
75
- /issuekit.knowledge
79
+ $issuekit-knowledge
76
80
  ```
77
81
 
78
82
  AI 助手会分析你的项目,生成结构化的知识摘要到 `.issuekit/knowledge/`。后续的需求分析和技术方案设计会自动读取这些摘要。
@@ -81,13 +85,8 @@ AI 助手会分析你的项目,生成结构化的知识摘要到 `.issuekit/kn
81
85
 
82
86
  假设产品经理给了一个需求:"用户个人资料页面增加修改头像功能,支持裁剪和压缩"。
83
87
 
84
- Cursor 中运行:
88
+ AI 助手中调用 `$issuekit-require`,AI 助手会:
85
89
 
86
- ```
87
- /issuekit.require 用户个人资料页面增加修改头像功能,支持裁剪和压缩
88
- ```
89
-
90
- AI 助手会:
91
90
  1. 深入分析代码,理解现有用户模块的实现
92
91
  2. 生成 Issue ID(如 `FEAT-20260228-avatar-upload`)
93
92
  3. 创建 `issues/FEAT-20260228-avatar-upload/requirement.md`
@@ -97,51 +96,48 @@ AI 助手会:
97
96
 
98
97
  ### 第 4 步:设计技术方案
99
98
 
100
- 需求确认后,运行:
101
-
102
- ```
103
- /issuekit.design
104
- ```
99
+ 需求确认后,调用 `$issuekit-design`。
105
100
 
106
101
  生成 `technical-design.md`,涵盖技术调研、架构设计、核心流程、组件设计、接口设计、开发步骤。
107
102
 
108
103
  ### 第 5 步:编码实现
109
104
 
110
- ```
111
- /issuekit.coding
112
- ```
105
+ 调用 `$issuekit-coding`。
113
106
 
114
107
  AI 助手按技术文档的开发步骤逐步实现,完成后自动交叉校验代码与技术文档、需求文档的一致性。
115
108
 
116
109
  ### 第 6 步:后续流程
117
110
 
118
111
  ```
119
- /issuekit.test # 生成测试方案
120
- /issuekit.release # 生成发布文档 + 创建 PR
121
- /issuekit.review # 多维度代码审核
112
+ $issuekit-test # 生成测试方案
113
+ $issuekit-release # 生成发布文档 + 创建 PR
114
+ $issuekit-review # 多维度代码审核
122
115
  ```
123
116
 
124
117
  ## `init` 做了什么
125
118
 
126
119
  1. 创建 `.issuekit/` 目录:
127
- - `config.yaml` — 项目配置(Issue 文档目录等)
128
- - `templates/` — 各阶段文档模板(需求、技术方案、测试、发布、审核)
129
- - `knowledge/` — 项目上下文知识摘要(由 `/issuekit.knowledge` 生成)
120
+ - `config.yaml` — 项目配置(Issue 文档目录等)
121
+ - `templates/` — 各阶段文档模板(需求、技术方案、测试、发布、审核)
122
+ - `knowledge/` — 项目上下文知识摘要
123
+ 2. 安装 Skills 到对应目录:
124
+ - Cursor → `.cursor/skills/`
125
+ - Claude Code → `.claude/skills/`
126
+ - Codex → `.agents/skills/`
127
+ - GitHub Copilot → `.github/skills/`
130
128
 
131
- 2. 安装 AI 助手命令到对应目录:
132
- - Cursor → `.cursor/commands/`
133
- - Claude Code → `.claude/commands/`
134
- - Codex → `.codex/commands/`
135
- - GitHub Copilot → `.github/agents/`
129
+ 每个 Skill 包含 `SKILL.md`(指令)和 `agents/openai.yaml`(元数据)。
136
130
 
137
131
  ## 支持的 AI 助手
138
132
 
139
- | AI 助手 | 参数 | 状态 |
140
- |---------|------|------|
141
- | Cursor | `--ai cursor` | 已支持 |
142
- | Claude Code | `--ai claude` | 已支持 |
143
- | Codex | `--ai codex` | 已支持 |
144
- | GitHub Copilot | `--ai copilot` | 已支持 |
133
+
134
+ | AI 助手 | 参数 | Skills 目录 |
135
+ | -------------- | -------------- | ----------------- |
136
+ | Cursor | `--ai cursor` | `.cursor/skills/` |
137
+ | Claude Code | `--ai claude` | `.claude/skills/` |
138
+ | Codex | `--ai codex` | `.agents/skills/` |
139
+ | GitHub Copilot | `--ai copilot` | `.github/skills/` |
140
+
145
141
 
146
142
  ## 目录结构
147
143
 
@@ -156,22 +152,29 @@ AI 助手按技术文档的开发步骤逐步实现,完成后自动交叉校
156
152
  │ └── code-review.md # 代码审核模板
157
153
  └── knowledge/ # 项目上下文知识摘要
158
154
  ├── config.yaml # 知识库配置
159
- ├── project-overview.md # 项目概览(/issuekit.knowledge 生成)
155
+ ├── project-overview.md # 项目概览
160
156
  ├── architecture.md # 架构分析
161
157
  ├── api-surface.md # API 接口摘要
162
158
  ├── data-model.md # 数据模型摘要
163
159
  ├── integrations.md # 外部集成摘要
164
160
  └── conventions.md # 编码约定摘要
165
161
 
162
+ .cursor/skills/ # Cursor Skills(示例)
163
+ ├── issuekit-require/
164
+ │ └── SKILL.md
165
+ ├── issuekit-design/
166
+ │ └── SKILL.md
167
+ └── ...
168
+
166
169
  issues/ # Issue 文档(默认目录,可通过 --issues-dir 自定义)
167
170
  └── FEAT-20260228-xxx/
168
- ├── requirement.md # 需求文档
169
- ├── technical-design.md # 技术方案
170
- ├── test-plan.md # 测试方案
171
- ├── release-note.md # 发布文档
172
- └── code-review.md # 代码审核
171
+ ├── requirement.md
172
+ ├── technical-design.md
173
+ ├── test-plan.md
174
+ ├── release-note.md
175
+ └── code-review.md
173
176
  ```
174
177
 
175
178
  ## 许可证
176
179
 
177
- MIT
180
+ MIT
@@ -1,152 +1,155 @@
1
- # IssueKit
2
-
3
- AI 辅助开发的 Issue 全生命周期工具。从需求分析到代码审核,由你的 AI 编程助手驱动。
4
-
5
- ## IssueKit 是什么?
6
-
7
- IssueKit 为 AI 辅助开发提供结构化的工作流。它提供一组命令,引导你的 AI 编程助手(Cursor、Claude Code、Codex 等)完成一个 Issue 的完整生命周期:
8
-
9
- | 阶段 | 命令 | 说明 |
10
- |------|------|------|
11
- | 1. 需求分析 | `/issuekit.require` | 分析需求,生成面向产品经理的需求文档 |
12
- | 2. 技术方案 | `/issuekit.design` | 架构设计、接口设计、组件设计、开发步骤 |
13
- | 3. 编码实现 | `/issuekit.coding` | 按技术方案编码,交叉校验代码与文档一致性 |
14
- | 4. 测试方案 | `/issuekit.test` | 黑盒业务测试 + 白盒单测/接口测试用例 |
15
- | 5. 发布准备 | `/issuekit.release` | 生成发布文档,创建 Pull Request |
16
- | 6. 代码审核 | `/issuekit.review` | 多维度交叉验证(需求、方案、质量) |
17
-
18
- 还有一个 `/issuekit.knowledge` 命令,用于生成项目上下文摘要,让 AI 助手快速理解项目,无需每次从零扫描。
19
-
20
- ## 安装
21
-
22
- ```bash
23
- pip install issuekit
24
- ```
25
-
26
- ## 快速上手
27
-
28
- ### 第 1 步:初始化
29
-
30
- 在你的项目根目录运行:
31
-
32
- ```bash
33
- cd your-project
34
- issuekit init --ai cursor
35
- ```
36
-
37
- 这会创建 `.issuekit/` 目录(模板 + 知识库配置),并将命令文件安装到 `.cursor/commands/`。
38
-
39
- 默认 Issue 文档存放在项目根目录的 `issues/` 文件夹下。你也可以自定义目录:
40
-
41
- ```bash
42
- issuekit init --ai cursor --issues-dir doc/issues
43
- ```
44
-
45
- ### 第 2 步:构建项目知识(可选但推荐)
46
-
47
- 在 Cursor 中运行命令:
48
-
49
- ```
50
- /issuekit.knowledge
51
- ```
52
-
53
- AI 助手会分析你的项目,生成结构化的知识摘要到 `.issuekit/knowledge/`。后续的需求分析和技术方案设计会自动读取这些摘要。
54
-
55
- ### 第 3 步:创建第一个 Issue
56
-
57
- 假设产品经理给了一个需求:"用户个人资料页面增加修改头像功能,支持裁剪和压缩"。
58
-
59
- Cursor 中运行:
60
-
61
- ```
62
- /issuekit.require 用户个人资料页面增加修改头像功能,支持裁剪和压缩
63
- ```
64
-
65
- AI 助手会:
66
- 1. 深入分析代码,理解现有用户模块的实现
67
- 2. 生成 Issue ID(如 `FEAT-20260228-avatar-upload`)
68
- 3. 创建 `issues/FEAT-20260228-avatar-upload/requirement.md`
69
- 4. 从 master 拉出特性分支 `feature/FEAT-20260228-avatar-upload`
70
-
71
- 需求文档包含:用户故事(Mermaid 流程图)、边界场景、验收标准、AI 需求评审、待确认问题。
72
-
73
- ### 第 4 步:设计技术方案
74
-
75
- 需求确认后,运行:
76
-
77
- ```
78
- /issuekit.design
79
- ```
80
-
81
- 生成 `technical-design.md`,涵盖技术调研、架构设计、核心流程、组件设计、接口设计、开发步骤。
82
-
83
- ### 第 5 步:编码实现
84
-
85
- ```
86
- /issuekit.coding
87
- ```
88
-
89
- AI 助手按技术文档的开发步骤逐步实现,完成后自动交叉校验代码与技术文档、需求文档的一致性。
90
-
91
- ### 第 6 步:后续流程
92
-
93
- ```
94
- /issuekit.test # 生成测试方案
95
- /issuekit.release # 生成发布文档 + 创建 PR
96
- /issuekit.review # 多维度代码审核
97
- ```
98
-
99
- ## `init` 做了什么
100
-
101
- 1. 创建 `.issuekit/` 目录:
102
- - `config.yaml` 项目配置(Issue 文档目录等)
103
- - `templates/` — 各阶段文档模板(需求、技术方案、测试、发布、审核)
104
- - `knowledge/` 项目上下文知识摘要(由 `/issuekit.knowledge` 生成)
105
-
106
- 2. 安装 AI 助手命令到对应目录:
107
- - Cursor → `.cursor/commands/`
108
- - Claude Code → `.claude/commands/`
109
- - Codex `.codex/commands/`
110
- - GitHub Copilot `.github/agents/`
111
-
112
- ## 支持的 AI 助手
113
-
114
- | AI 助手 | 参数 | 状态 |
115
- |---------|------|------|
116
- | Cursor | `--ai cursor` | 已支持 |
117
- | Claude Code | `--ai claude` | 已支持 |
118
- | Codex | `--ai codex` | 已支持 |
119
- | GitHub Copilot | `--ai copilot` | 已支持 |
120
-
121
- ## 目录结构
122
-
123
- ```
124
- .issuekit/
125
- ├── config.yaml # 项目配置(issues_dir 等)
126
- ├── templates/ # 文档模板
127
- ├── requirement.md # 需求文档模板
128
- │ ├── technical-design.md # 技术方案模板
129
- ├── test-plan.md # 测试方案模板
130
- ├── release-note.md # 发布文档模板
131
- │ └── code-review.md # 代码审核模板
132
- └── knowledge/ # 项目上下文知识摘要
133
- ├── config.yaml # 知识库配置
134
- ├── project-overview.md # 项目概览(/issuekit.knowledge 生成)
135
- ├── architecture.md # 架构分析
136
- ├── api-surface.md # API 接口摘要
137
- ├── data-model.md # 数据模型摘要
138
- ├── integrations.md # 外部集成摘要
139
- └── conventions.md # 编码约定摘要
140
-
141
- issues/ # Issue 文档(默认目录,可通过 --issues-dir 自定义)
142
- └── FEAT-20260228-xxx/
143
- ├── requirement.md # 需求文档
144
- ├── technical-design.md # 技术方案
145
- ├── test-plan.md # 测试方案
146
- ├── release-note.md # 发布文档
147
- └── code-review.md # 代码审核
148
- ```
149
-
150
- ## 许可证
151
-
152
- MIT
1
+ # IssueKit
2
+
3
+ AI 辅助开发的 Issue 全生命周期工具。从需求分析到代码审核,由你的 AI 编程助手驱动。
4
+
5
+ ## IssueKit 是什么?
6
+
7
+ IssueKit 为 AI 辅助开发提供结构化的工作流。它提供一组 Skills,引导你的 AI 编程助手(Cursor、Claude Code、Codex 等)完成一个 Issue 的完整生命周期:
8
+
9
+
10
+ | 阶段 | Skill | 说明 |
11
+ | ------- | ------------------- | ---------------------- |
12
+ | 1. 需求分析 | `$issuekit-require` | 分析需求,生成面向产品经理的需求文档 |
13
+ | 2. 技术方案 | `$issuekit-design` | 架构设计、接口设计、组件设计、开发步骤 |
14
+ | 3. 编码实现 | `$issuekit-coding` | 按技术方案编码,交叉校验代码与文档一致性 |
15
+ | 4. 测试方案 | `$issuekit-test` | 黑盒业务测试 + 白盒单测/接口测试用例 |
16
+ | 5. 发布准备 | `$issuekit-release` | 生成发布文档,创建 Pull Request |
17
+ | 6. 代码审核 | `$issuekit-review` | 多维度交叉验证(需求、方案、质量) |
18
+
19
+
20
+ 还有一个 `$issuekit-knowledge` skill,用于生成项目上下文摘要,让 AI 助手快速理解项目。
21
+
22
+ ## 安装
23
+
24
+ ```bash
25
+ pip install issuekit
26
+ ```
27
+
28
+ ## 快速上手
29
+
30
+ ### 第 1 步:初始化
31
+
32
+ 在你的项目根目录运行:
33
+
34
+ ```bash
35
+ cd your-project
36
+ issuekit init --ai cursor # Cursor
37
+ issuekit init --ai codex # Codex
38
+ issuekit init --ai claude # Claude Code
39
+ ```
40
+
41
+ 这会创建 `.issuekit/` 目录(模板 + 知识库配置),并将 Skills 安装到对应目录。
42
+
43
+ 默认 Issue 文档存放在项目根目录的 `issues/` 文件夹下。你也可以自定义目录:
44
+
45
+ ```bash
46
+ issuekit init --ai cursor --issues-dir doc/issues
47
+ ```
48
+
49
+ ### 第 2 步:构建项目知识(可选但推荐)
50
+
51
+ 在 AI 助手中运行:
52
+
53
+ ```
54
+ $issuekit-knowledge
55
+ ```
56
+
57
+ AI 助手会分析你的项目,生成结构化的知识摘要到 `.issuekit/knowledge/`。后续的需求分析和技术方案设计会自动读取这些摘要。
58
+
59
+ ### 3 步:创建第一个 Issue
60
+
61
+ 假设产品经理给了一个需求:"用户个人资料页面增加修改头像功能,支持裁剪和压缩"。
62
+
63
+ 在 AI 助手中调用 `$issuekit-require`,AI 助手会:
64
+
65
+ 1. 深入分析代码,理解现有用户模块的实现
66
+ 2. 生成 Issue ID(如 `FEAT-20260228-avatar-upload`)
67
+ 3. 创建 `issues/FEAT-20260228-avatar-upload/requirement.md`
68
+ 4. master 拉出特性分支 `feature/FEAT-20260228-avatar-upload`
69
+
70
+ 需求文档包含:用户故事(Mermaid 流程图)、边界场景、验收标准、AI 需求评审、待确认问题。
71
+
72
+ ### 第 4 步:设计技术方案
73
+
74
+ 需求确认后,调用 `$issuekit-design`。
75
+
76
+ 生成 `technical-design.md`,涵盖技术调研、架构设计、核心流程、组件设计、接口设计、开发步骤。
77
+
78
+ ### 第 5 步:编码实现
79
+
80
+ 调用 `$issuekit-coding`。
81
+
82
+ AI 助手按技术文档的开发步骤逐步实现,完成后自动交叉校验代码与技术文档、需求文档的一致性。
83
+
84
+ ### 第 6 步:后续流程
85
+
86
+ ```
87
+ $issuekit-test # 生成测试方案
88
+ $issuekit-release # 生成发布文档 + 创建 PR
89
+ $issuekit-review # 多维度代码审核
90
+ ```
91
+
92
+ ## `init` 做了什么
93
+
94
+ 1. 创建 `.issuekit/` 目录:
95
+ - `config.yaml` 项目配置(Issue 文档目录等)
96
+ - `templates/` — 各阶段文档模板(需求、技术方案、测试、发布、审核)
97
+ - `knowledge/` — 项目上下文知识摘要
98
+ 2. 安装 Skills 到对应目录:
99
+ - Cursor → `.cursor/skills/`
100
+ - Claude Code → `.claude/skills/`
101
+ - Codex `.agents/skills/`
102
+ - GitHub Copilot `.github/skills/`
103
+
104
+ 每个 Skill 包含 `SKILL.md`(指令)和 `agents/openai.yaml`(元数据)。
105
+
106
+ ## 支持的 AI 助手
107
+
108
+
109
+ | AI 助手 | 参数 | Skills 目录 |
110
+ | -------------- | -------------- | ----------------- |
111
+ | Cursor | `--ai cursor` | `.cursor/skills/` |
112
+ | Claude Code | `--ai claude` | `.claude/skills/` |
113
+ | Codex | `--ai codex` | `.agents/skills/` |
114
+ | GitHub Copilot | `--ai copilot` | `.github/skills/` |
115
+
116
+
117
+ ## 目录结构
118
+
119
+ ```
120
+ .issuekit/
121
+ ├── config.yaml # 项目配置(issues_dir 等)
122
+ ├── templates/ # 文档模板
123
+ │ ├── requirement.md # 需求文档模板
124
+ │ ├── technical-design.md # 技术方案模板
125
+ ├── test-plan.md # 测试方案模板
126
+ ├── release-note.md # 发布文档模板
127
+ └── code-review.md # 代码审核模板
128
+ └── knowledge/ # 项目上下文知识摘要
129
+ ├── config.yaml # 知识库配置
130
+ ├── project-overview.md # 项目概览
131
+ ├── architecture.md # 架构分析
132
+ ├── api-surface.md # API 接口摘要
133
+ ├── data-model.md # 数据模型摘要
134
+ ├── integrations.md # 外部集成摘要
135
+ └── conventions.md # 编码约定摘要
136
+
137
+ .cursor/skills/ # Cursor Skills(示例)
138
+ ├── issuekit-require/
139
+ └── SKILL.md
140
+ ├── issuekit-design/
141
+ │ └── SKILL.md
142
+ └── ...
143
+
144
+ issues/ # Issue 文档(默认目录,可通过 --issues-dir 自定义)
145
+ └── FEAT-20260228-xxx/
146
+ ├── requirement.md
147
+ ├── technical-design.md
148
+ ├── test-plan.md
149
+ ├── release-note.md
150
+ └── code-review.md
151
+ ```
152
+
153
+ ## 许可证
154
+
155
+ MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "issuekit"
3
- version = "0.1.0"
3
+ version = "0.1.2"
4
4
  description = "AI 辅助开发的 Issue 全生命周期工具。从需求分析到代码审核,由你的 AI 编程助手驱动。"
5
5
  requires-python = ">=3.10"
6
6
  license = "MIT"
@@ -1,3 +1,3 @@
1
1
  """IssueKit - AI 辅助开发的 Issue 全生命周期工具。"""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.1.2"
@@ -0,0 +1,55 @@
1
+ """将 issuekit skills 安装到目标目录。
2
+
3
+ 每个 skill 是一个独立目录,包含 SKILL.md。
4
+ Codex 额外需要 agents/openai.yaml 元数据文件。
5
+ 源模板在 bundled_skills/ 下,按 skill-name/{SKILL.md, agents/openai.yaml} 组织。
6
+ """
7
+
8
+ from importlib import resources
9
+ from pathlib import Path
10
+
11
+ SKILL_DIRS = [
12
+ "issuekit-require",
13
+ "issuekit-design",
14
+ "issuekit-coding",
15
+ "issuekit-test",
16
+ "issuekit-release",
17
+ "issuekit-review",
18
+ "issuekit-change",
19
+ "issuekit-knowledge",
20
+ ]
21
+
22
+
23
+ def install_agent_skills(skills_dir: Path, *, include_openai_yaml: bool = False) -> int:
24
+ """将所有 bundled skills 安装到目标目录,返回安装数。
25
+
26
+ Args:
27
+ skills_dir: 目标 skills 目录。
28
+ include_openai_yaml: 是否同时复制 agents/openai.yaml(仅 Codex 需要)。
29
+ """
30
+ bundled = resources.files("issuekit") / "bundled_skills"
31
+ count = 0
32
+
33
+ for skill_name in SKILL_DIRS:
34
+ source_dir = bundled / skill_name
35
+ skill_md = source_dir / "SKILL.md"
36
+ if not skill_md.is_file():
37
+ continue
38
+
39
+ dest_dir = skills_dir / skill_name
40
+ dest_dir.mkdir(parents=True, exist_ok=True)
41
+
42
+ content = skill_md.read_text(encoding="utf-8")
43
+ (dest_dir / "SKILL.md").write_text(content, encoding="utf-8")
44
+
45
+ if include_openai_yaml:
46
+ openai_yaml = source_dir / "agents" / "openai.yaml"
47
+ if openai_yaml.is_file():
48
+ agents_dir = dest_dir / "agents"
49
+ agents_dir.mkdir(parents=True, exist_ok=True)
50
+ yaml_content = openai_yaml.read_text(encoding="utf-8")
51
+ (agents_dir / "openai.yaml").write_text(yaml_content, encoding="utf-8")
52
+
53
+ count += 1
54
+
55
+ return count
@@ -1,4 +1,4 @@
1
- """AI 助手适配层,支持不同编程助手的命令格式。"""
1
+ """AI 助手适配层,支持不同编程助手的 Skills 安装。"""
2
2
 
3
3
  from .registry import AGENT_REGISTRY, get_agent_config
4
4
 
@@ -0,0 +1,52 @@
1
+ """AI 助手配置注册表。
2
+
3
+ 每个助手定义了 Skills 的安装位置。
4
+ """
5
+
6
+ from dataclasses import dataclass
7
+ from typing import Optional
8
+
9
+
10
+ @dataclass
11
+ class AgentConfig:
12
+ """AI 助手配置项。"""
13
+ name: str
14
+ skills_dir: str
15
+ """Skills 安装目录(每个 skill 一个子目录,含 SKILL.md)。"""
16
+ has_openai_yaml: bool = False
17
+ """是否安装 agents/openai.yaml 元数据(仅 Codex 需要)。"""
18
+
19
+ def format_description(self) -> str:
20
+ return f"{self.name} ({self.skills_dir})"
21
+
22
+
23
+ AGENT_REGISTRY: dict[str, AgentConfig] = {
24
+ "cursor": AgentConfig(
25
+ name="Cursor",
26
+ skills_dir=".cursor/skills",
27
+ ),
28
+ "claude": AgentConfig(
29
+ name="Claude Code",
30
+ skills_dir=".claude/skills",
31
+ ),
32
+ "codex": AgentConfig(
33
+ name="Codex",
34
+ skills_dir=".agents/skills",
35
+ has_openai_yaml=True,
36
+ ),
37
+ "copilot": AgentConfig(
38
+ name="GitHub Copilot",
39
+ skills_dir=".github/skills",
40
+ ),
41
+ }
42
+
43
+ AGENT_ALIASES: dict[str, str] = {
44
+ "cursor-agent": "cursor",
45
+ "claude-code": "claude",
46
+ }
47
+
48
+
49
+ def get_agent_config(name: str) -> Optional[AgentConfig]:
50
+ """根据名称获取 AI 助手配置,支持别名解析。"""
51
+ resolved = AGENT_ALIASES.get(name, name)
52
+ return AGENT_REGISTRY.get(resolved)