cangming-ai-dev-kit 0.1.0 → 0.1.2
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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7329de070687076963279068fb6f1368e24932d8266925bee5165bd05041829d
|
|
4
|
+
data.tar.gz: 06d824edd6f39f30fae98aecb8b998288b91a4c44afa34880aea4a9114aa5e6c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3e488229d511a6046beafd312cd2cea372210105f47ab97020aff52e265afd20d2fdca6966ee7c0c668567e4791b12e3409b7f536ce7cf7e4798e041e1a8ac3d
|
|
7
|
+
data.tar.gz: b298021e9ecfcbd6f031f4316f2ca0d4aa74d8b17e112acf3c7958370b11def844b46115d390a8b0d058412a865f8debb56221c52a53eef098a559ef741637d9
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# gem-dev-workflow — cangming-ai-dev-kit 开发工作流
|
|
2
|
+
|
|
3
|
+
## description
|
|
4
|
+
cangming-ai-dev-kit 插件的完整开发与发布工作流,包括 skills 编辑、Gem 打包、RubyGems 发布、版本管理。
|
|
5
|
+
|
|
6
|
+
## when to use
|
|
7
|
+
- 修改 core/ domains/ 下的 skills / references / scripts
|
|
8
|
+
- 修改 lib/ exe/ 下的 Ruby CLI 代码
|
|
9
|
+
- 修改 gemspec、版本号、README
|
|
10
|
+
- 发布新版本到 RubyGems.org
|
|
11
|
+
- 提交代码到 GitHub
|
|
12
|
+
|
|
13
|
+
## workflow
|
|
14
|
+
|
|
15
|
+
### 1. 修改阶段
|
|
16
|
+
|
|
17
|
+
```mermaid
|
|
18
|
+
flowchart LR
|
|
19
|
+
A[编辑 SKILL.md] --> B[编辑 Ruby CLI]
|
|
20
|
+
B --> C[编辑 references/scripts]
|
|
21
|
+
C --> D[本地验证]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- **skills**: `core/skills/*/SKILL.md` 或 `domains/*/skills/*/SKILL.md`
|
|
25
|
+
- **references**: `core/references/` 或 `domains/*/references/`
|
|
26
|
+
- **scripts**: `core/scripts/` 或 `domains/*/scripts/`
|
|
27
|
+
- **Ruby CLI**: `lib/cangming_ai_dev_kit/` 或 `exe/cangming-dev-kit`
|
|
28
|
+
|
|
29
|
+
### 2. 本地验证
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# 1. 验证项目结构完整性
|
|
33
|
+
cangming-dev-kit verify
|
|
34
|
+
|
|
35
|
+
# 2. 验证 sync 能正确同步 skills
|
|
36
|
+
bash scripts/sync_skills_to_adapters.sh --dry-run
|
|
37
|
+
|
|
38
|
+
# 3. 实际同步(清空并重新生成)
|
|
39
|
+
bash scripts/sync_skills_to_adapters.sh
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 3. 构建与安装测试
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 1. 构建 gem
|
|
46
|
+
gem build cangming-ai-dev-kit.gemspec
|
|
47
|
+
|
|
48
|
+
# 2. 本地安装测试
|
|
49
|
+
gem install --user-install ./cangming-ai-dev-kit-<VERSION>.gem
|
|
50
|
+
|
|
51
|
+
# 3. 验证 CLI
|
|
52
|
+
cangming-dev-kit version
|
|
53
|
+
cangming-dev-kit sync --dry-run
|
|
54
|
+
cangming-dev-kit verify
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 4. 版本管理
|
|
58
|
+
|
|
59
|
+
| 场景 | 版本变动 | 示例 |
|
|
60
|
+
|------|---------|------|
|
|
61
|
+
| Bug 修复 / 小调整 | PATCH +1 | 0.1.0 → 0.1.1 |
|
|
62
|
+
| 新增功能(兼容) | MINOR +1 | 0.1.0 → 0.2.0 |
|
|
63
|
+
| 破坏性变更 | MAJOR +1 | 0.1.0 → 1.0.0 |
|
|
64
|
+
|
|
65
|
+
**修改位置**:
|
|
66
|
+
- `lib/cangming_ai_dev_kit/version.rb` — `VERSION` 常量
|
|
67
|
+
- `cangming-ai-dev-kit.gemspec` — 如果有文件增删,同步更新 `spec.files`
|
|
68
|
+
|
|
69
|
+
### 5. 发布
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# 1. 推送到 RubyGems.org
|
|
73
|
+
gem push cangming-ai-dev-kit-<VERSION>.gem
|
|
74
|
+
|
|
75
|
+
# 2. 验证安装
|
|
76
|
+
gem install cangming-ai-dev-kit --user-install
|
|
77
|
+
|
|
78
|
+
# 3. 提交 git 并打 tag
|
|
79
|
+
git add -A
|
|
80
|
+
git commit -m "feat: ... (v<VERSION>)"
|
|
81
|
+
git tag v<VERSION>
|
|
82
|
+
git push && git push --tags
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 6. 发布后检查清单
|
|
86
|
+
|
|
87
|
+
- [ ] `gem install cangming-ai-dev-kit` 成功
|
|
88
|
+
- [ ] `cangming-dev-kit version` 输出正确版本
|
|
89
|
+
- [ ] `cangming-dev-kit sync --dry-run` 发现所有 skills
|
|
90
|
+
- [ ] `cangming-dev-kit verify` 全部 PASS
|
|
91
|
+
- [ ] GitHub 已推送并打 tag
|
|
92
|
+
- [ ] RubyGems.org 页面可访问
|
|
93
|
+
|
|
94
|
+
## 目录结构速查
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
cangming-ai-dev-kit/
|
|
98
|
+
├── core/skills/ # 通用开发 skills(plan / code / review / verify)
|
|
99
|
+
├── core/references/ # 通用参考文档
|
|
100
|
+
├── core/scripts/ # 通用检测/验证脚本
|
|
101
|
+
├── domains/*/skills/ # 领域 skills(harmony-plan / harmony-code / ...)
|
|
102
|
+
├── domains/*/references/ # 领域知识文档
|
|
103
|
+
├── domains/*/scripts/ # 领域构建/测试脚本
|
|
104
|
+
├── lib/ # Ruby Gem 核心代码
|
|
105
|
+
├── exe/ # CLI 可执行入口
|
|
106
|
+
├── adapters/ # 适配器骨架(源码,skills/ 目录由 sync 生成)
|
|
107
|
+
├── scripts/ # Shell wrapper 委托给 CLI
|
|
108
|
+
└── marketplace/ # 私有 marketplace 示例
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 注意事项
|
|
112
|
+
|
|
113
|
+
- **skills 目录** `adapters/*/skills/` 由 `sync` 命令自动生成,**不要手动编辑**,修改源文件后重新 sync 即可
|
|
114
|
+
- **gemspec 同步**: 新增文件时必须在 `cangming-ai-dev-kit.gemspec` 的 `spec.files` 中添加对应路径
|
|
115
|
+
- **零依赖**: 保持纯 Ruby stdlib,不引入外部 gem 依赖
|
|
116
|
+
- **Ruby >= 2.6**: 兼容 macOS 系统 Ruby,不使用过新的语法特性
|
|
117
|
+
- **shell 脚本**: 保持可执行 (`chmod +x`),在 `.gemspec` 中登记
|
|
118
|
+
|
|
119
|
+
## done criteria
|
|
120
|
+
|
|
121
|
+
- [ ] 所有修改已在本地验证通过(verify / sync --dry-run)
|
|
122
|
+
- [ ] gem 构建成功
|
|
123
|
+
- [ ] 新版本 gem 本地安装测试通过
|
|
124
|
+
- [ ] RubyGems.org 已发布
|
|
125
|
+
- [ ] GitHub 已提交并打 tag
|
|
@@ -15,14 +15,6 @@ module CangmingAiDevKit
|
|
|
15
15
|
"#{relative_root}/#{plugin_file}"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
def skill_paths(data_root)
|
|
19
|
-
paths = []
|
|
20
|
-
skills_dir = File.join(data_root, relative_root, plugin_dir_name)
|
|
21
|
-
return paths unless Dir.exist?(skills_dir)
|
|
22
|
-
Dir.glob("#{skills_dir}/skills/*")
|
|
23
|
-
paths
|
|
24
|
-
end
|
|
25
|
-
|
|
26
18
|
def adapter_full_path(target_dir)
|
|
27
19
|
File.join(target_dir, "adapters", name)
|
|
28
20
|
end
|
|
@@ -83,6 +83,11 @@ module CangmingAiDevKit
|
|
|
83
83
|
puts " version Print version"
|
|
84
84
|
puts ""
|
|
85
85
|
puts "Adapters: claude-code, codex"
|
|
86
|
+
puts ""
|
|
87
|
+
puts "Note: if 'cangming-dev-kit' is not found after install,"
|
|
88
|
+
puts " add the gem bin directory to your PATH:"
|
|
89
|
+
puts ' export PATH="$HOME/.gem/$(ruby -e "print RbConfig::CONFIG[\"ruby_version\"]")/bin:$PATH"'
|
|
90
|
+
puts " Or upgrade: gem update cangming-ai-dev-kit"
|
|
86
91
|
end
|
|
87
92
|
end
|
|
88
93
|
end
|
|
@@ -5,18 +5,14 @@ require "fileutils"
|
|
|
5
5
|
module CangmingAiDevKit
|
|
6
6
|
class Syncer
|
|
7
7
|
# 返回 gem 安装后的项目根目录
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
# 优先使用 __dir__ 相对路径(开发/安装均可靠),备选 Gem::Specification
|
|
9
|
+
def self.data_root
|
|
10
|
+
@data_root ||= begin
|
|
11
|
+
File.expand_path("../..", __dir__)
|
|
12
|
+
rescue
|
|
10
13
|
spec = Gem::Specification.find_by_name("cangming-ai-dev-kit")
|
|
11
14
|
spec.gem_dir
|
|
12
15
|
end
|
|
13
|
-
rescue Gem::LoadError
|
|
14
|
-
# 开发模式:从 lib/ 往上找到项目根目录
|
|
15
|
-
File.expand_path("../..", __dir__)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def self.data_root
|
|
19
|
-
@data_root ||= gem_data_root
|
|
20
16
|
end
|
|
21
17
|
|
|
22
18
|
# 收集所有 skill 源
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cangming-ai-dev-kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- cangming
|
|
@@ -35,6 +35,7 @@ files:
|
|
|
35
35
|
- core/scripts/summarize_context.sh
|
|
36
36
|
- core/scripts/verify_project.sh
|
|
37
37
|
- core/skills/code-review/SKILL.md
|
|
38
|
+
- core/skills/gem-dev-workflow/SKILL.md
|
|
38
39
|
- core/skills/plan-first/SKILL.md
|
|
39
40
|
- core/skills/safe-code-change/SKILL.md
|
|
40
41
|
- core/skills/verify-before-done/SKILL.md
|