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: 3b9d632f3320840062e4a01c6778af96b76636de64ef3596e70fa571bec73f62
4
- data.tar.gz: b697979c35319751a6546320ec79bc07f9319b92ab21c3888828dbb7f5040929
3
+ metadata.gz: 7329de070687076963279068fb6f1368e24932d8266925bee5165bd05041829d
4
+ data.tar.gz: 06d824edd6f39f30fae98aecb8b998288b91a4c44afa34880aea4a9114aa5e6c
5
5
  SHA512:
6
- metadata.gz: 90672dac17b785772912c7f7fe173a1246e5cdb7ace22f979daa404e7244a57b7f31d611807e43dc7d65e172ba04fdc7391d1d21d0c7df0f5ef752c4a7658838
7
- data.tar.gz: 2484751a06514442ab62ff30a20692354379286dc0efa8609eef1d4cb00e005dae25d584ed795a40aab44c9ba5e576a32aee4004432aab5af77d815b82975731
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
- def self.gem_data_root
9
- @gem_data_root ||= begin
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 源
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CangmingAiDevKit
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.2"
5
5
  end
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.0
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