@devflow-tools/plugin-git 0.1.0

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.
@@ -0,0 +1,3 @@
1
+ import type { DevFlowPlugin } from "@devflow-tools/sdk";
2
+ export declare const gitPlugin: DevFlowPlugin;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,aA0JvB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,151 @@
1
+ export const gitPlugin = {
2
+ meta: {
3
+ name: "git",
4
+ version: "0.1.0",
5
+ description: "Git 专家 — 提交规范、分支审查、Changelog 生成、冲突解决",
6
+ icon: "🔀",
7
+ tags: ["git", "version-control", "ci", "changelog"],
8
+ },
9
+ knowledge: {
10
+ sources: [
11
+ {
12
+ name: "conventional-commits",
13
+ urls: ["https://www.conventionalcommits.org/en/v1.0.0/"],
14
+ pluginName: "git",
15
+ version: "1.0.0",
16
+ },
17
+ {
18
+ name: "git-scm-docs",
19
+ urls: ["https://git-scm.com/docs", "https://git-scm.com/book/en/v2"],
20
+ pluginName: "git",
21
+ version: "2.45.0",
22
+ },
23
+ ],
24
+ },
25
+ memory: {
26
+ project: {
27
+ stack: ["Git", "Conventional Commits", "Semantic Release"],
28
+ conventions: [
29
+ { key: "commits", value: "使用 Conventional Commits 规范(type(scope): description)", source: "manual", confidence: 0.9 },
30
+ { key: "branch", value: "GitFlow 分支策略(main/develop/feature/hotfix)", source: "manual", confidence: 0.8 },
31
+ { key: "pr", value: "每个 PR 必须关联 Issue 并有清晰描述", source: "manual", confidence: 0.85 },
32
+ { key: "changelog", value: "使用语义化版本自动生成 Changelog", source: "manual", confidence: 0.7 },
33
+ { key: "review", value: "所有代码合并前必须经过 Code Review", source: "manual", confidence: 0.95 },
34
+ ],
35
+ },
36
+ global: [
37
+ {
38
+ id: "git:conventional-commits",
39
+ source: "git",
40
+ title: "Conventional Commits 规范",
41
+ content: "格式:<type>(<scope>): <description>。类型:feat、fix、docs、style、refactor、test、chore、perf、ci。BREAKING CHANGE 在 body 或 footer 标注。",
42
+ embedding: [],
43
+ },
44
+ {
45
+ id: "git:branch-strategy",
46
+ source: "git",
47
+ title: "GitFlow 分支策略",
48
+ content: "main 保持稳定可发布。develop 为开发主线。feature/ 为功能分支。hotfix/ 为紧急修复。功能分支从 develop 拉出,合并回 develop。",
49
+ embedding: [],
50
+ },
51
+ {
52
+ id: "git:commit-message-best-practice",
53
+ source: "git",
54
+ title: "提交信息最佳实践",
55
+ content: "主题行不超过 50 字符,祈使语气。正文每行不超过 72 字符。每个提交是逻辑上独立的变更。描述做了什么以及为什么。",
56
+ embedding: [],
57
+ },
58
+ {
59
+ id: "git:rebase-vs-merge",
60
+ source: "git",
61
+ title: "Rebase vs Merge 策略",
62
+ content: "功能分支推荐 rebase 保持历史线性。公共分支(main、develop)禁止 rebase,只使用 merge。git pull --rebase 拉取远程更新。冲突解决后 git rebase --continue。",
63
+ embedding: [],
64
+ },
65
+ {
66
+ id: "git:conflict-resolution",
67
+ source: "git",
68
+ title: "冲突解决策略",
69
+ content: "使用 git mergetool 或手动编辑解决冲突。理解 <<<<<<< ======= >>>>>>> 标记。解决后 git add 标记已解决。复杂冲突考虑 cherry-pick 替代 merge。",
70
+ embedding: [],
71
+ },
72
+ ],
73
+ },
74
+ workflow: {
75
+ steps: [],
76
+ templates: [
77
+ {
78
+ name: "commit",
79
+ description: "规范化提交:分支检查 → 变更分析 → Conventional Commits 生成",
80
+ version: "1.0.0",
81
+ steps: [
82
+ { id: "check-branch", description: "检查当前分支命名是否合规", type: "simple", timeout: 3000 },
83
+ { id: "analyze-changes", description: "分析变更内容(新增/修改/删除 + 文件类型)", type: "simple", depends: ["check-branch"], timeout: 10000 },
84
+ { id: "detect-scope", description: "自动检测 scope(基于变更文件路径)", type: "simple", depends: ["analyze-changes"], timeout: 5000 },
85
+ { id: "generate-message", description: "生成 Conventional Commits 格式提交信息", type: "llm", depends: ["analyze-changes", "detect-scope"], timeout: 10000 },
86
+ { id: "review-message", description: "人工审查并编辑提交信息", type: "manual", depends: ["generate-message"], timeout: 60000 },
87
+ { id: "run-precommit", description: "运行 pre-commit hooks(lint + test)", type: "simple", depends: ["review-message"], timeout: 30000 },
88
+ { id: "commit", description: "执行 git commit", type: "simple", depends: ["run-precommit"], timeout: 5000 },
89
+ ],
90
+ triggers: [{ type: "cli", command: "commit" }],
91
+ },
92
+ {
93
+ name: "release",
94
+ description: "发布流程:版本号确定 → Changelog 生成 → Tag 创建",
95
+ version: "1.0.0",
96
+ steps: [
97
+ { id: "analyze-commits", description: "分析自上次 release 以来的所有提交", type: "simple", timeout: 10000 },
98
+ { id: "determine-version", description: "根据提交类型确定版本号(major/minor/patch)", type: "llm", depends: ["analyze-commits"], timeout: 5000 },
99
+ { id: "generate-changelog", description: "生成完整 Changelog(分组 feat/fix/breaking/perf)", type: "llm", depends: ["analyze-commits"], timeout: 10000 },
100
+ { id: "review-changelog", description: "人工审查 Changelog 并编辑", type: "manual", depends: ["generate-changelog"], timeout: 120000 },
101
+ { id: "bump-version", description: "更新 package.json version 字段", type: "simple", depends: ["determine-version", "review-changelog"], timeout: 5000 },
102
+ { id: "create-tag", description: "创建 Git Tag(语义化版本号)", type: "simple", depends: ["bump-version"], timeout: 5000 },
103
+ { id: "push-tag", description: "推送 Tag 到远程仓库", type: "simple", depends: ["create-tag"], timeout: 10000 },
104
+ ],
105
+ triggers: [{ type: "cli", command: "release" }],
106
+ },
107
+ {
108
+ name: "branch-audit",
109
+ description: "分支审查:命名规范 → 合并状态 → 清理建议",
110
+ version: "1.0.0",
111
+ steps: [
112
+ { id: "list-branches", description: "列出所有本地和远程分支", type: "simple", timeout: 5000 },
113
+ { id: "check-naming", description: "检查分支命名是否符合 GitFlow 规范", type: "simple", depends: ["list-branches"], timeout: 5000 },
114
+ { id: "check-merged", description: "检查已合并但未删除的分支", type: "simple", depends: ["list-branches"], timeout: 10000 },
115
+ { id: "check-stale", description: "检查长期未更新的分支(>30 天)", type: "simple", depends: ["list-branches"], timeout: 10000 },
116
+ { id: "generate-report", description: "生成分支清理建议报告", type: "llm", depends: ["check-naming", "check-merged", "check-stale"], timeout: 10000 },
117
+ { id: "cleanup-approval", description: "人工确认要删除的分支列表", type: "manual", depends: ["generate-report"], timeout: 60000 },
118
+ ],
119
+ triggers: [{ type: "cli", command: "audit:branches" }],
120
+ },
121
+ {
122
+ name: "conflict-resolve",
123
+ description: "冲突解决辅助:冲突分析 → 策略建议 → 逐文件解决",
124
+ version: "1.0.0",
125
+ steps: [
126
+ { id: "detect-conflicts", description: "检测所有冲突文件和冲突类型(内容/重命名/删除)", type: "simple", timeout: 5000 },
127
+ { id: "analyze-conflict-source", description: "分析冲突来源(git log 查看两边的最后修改者)", type: "simple", depends: ["detect-conflicts"], timeout: 10000 },
128
+ { id: "suggest-strategy", description: "建议解决策略(保留 ours/theirs/手动合并)", type: "llm", depends: ["analyze-conflict-source"], timeout: 15000 },
129
+ { id: "resolve-files", description: "逐文件解决冲突", type: "llm", depends: ["suggest-strategy"], timeout: 30000 },
130
+ { id: "verify-build", description: "构建验证冲突解决后代码可正常编译", type: "simple", depends: ["resolve-files"], timeout: 15000 },
131
+ { id: "run-tests", description: "运行测试验证无回归", type: "simple", depends: ["verify-build"], timeout: 60000 },
132
+ ],
133
+ triggers: [{ type: "cli", command: "resolve:conflicts" }],
134
+ },
135
+ ],
136
+ },
137
+ prompt: {
138
+ system: "你是一个 Git 工作流专家。遵循 Conventional Commits 规范和 GitFlow 分支策略。",
139
+ rules: [
140
+ "提交信息使用 Conventional Commits 格式:type(scope): description",
141
+ "功能分支从 develop 拉出,完成后合并回 develop",
142
+ "提交信息主题行不超过 50 字符",
143
+ "每个提交是逻辑上独立的变更",
144
+ "公共分支禁止 force push 和 rebase",
145
+ "PR 必须关联 Issue",
146
+ "解决冲突前先理解两边变更的意图",
147
+ ],
148
+ },
149
+ tools: [],
150
+ };
151
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@devflow-tools/plugin-git",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/index.js",
10
+ "types": "./dist/index.d.ts"
11
+ }
12
+ },
13
+ "scripts": {
14
+ "build": "tsc -b",
15
+ "test": "vitest run",
16
+ "typecheck": "tsc --noEmit",
17
+ "clean": "rm -rf dist"
18
+ },
19
+ "dependencies": {
20
+ "@devflow-tools/sdk": "*"
21
+ },
22
+ "devDependencies": {
23
+ "typescript": "^5.5.0",
24
+ "vitest": "^2.0.0"
25
+ },
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "gitHead": "4cede97fc7fc673f929427fac169acab100ca8ed"
30
+ }