@xfe-repo/cli-plugin-ai-rules 2.0.3 → 2.0.4
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.
- package/CHANGELOG.md +9 -0
- package/dist/formats/agent-md.js +22 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
package/dist/formats/agent-md.js
CHANGED
|
@@ -18,6 +18,21 @@ const INJECTED_END = '<!-- xfe:injected:end -->';
|
|
|
18
18
|
const INJECTED_SOURCE_BEGIN = (source) => `<!-- xfe:injected:${source}:begin -->`;
|
|
19
19
|
const INJECTED_SOURCE_END = (source) => `<!-- xfe:injected:${source}:end -->`;
|
|
20
20
|
const AUTO_GENERATED_HEADER = '<!-- Auto-generated by xfe rules sync — do not edit manually -->';
|
|
21
|
+
var MarkdownItemOrder;
|
|
22
|
+
(function (MarkdownItemOrder) {
|
|
23
|
+
MarkdownItemOrder[MarkdownItemOrder["Agent"] = 0] = "Agent";
|
|
24
|
+
MarkdownItemOrder[MarkdownItemOrder["Rule"] = 1] = "Rule";
|
|
25
|
+
MarkdownItemOrder[MarkdownItemOrder["Subagent"] = 2] = "Subagent";
|
|
26
|
+
MarkdownItemOrder[MarkdownItemOrder["Skill"] = 3] = "Skill";
|
|
27
|
+
MarkdownItemOrder[MarkdownItemOrder["McpServer"] = 4] = "McpServer";
|
|
28
|
+
})(MarkdownItemOrder || (MarkdownItemOrder = {}));
|
|
29
|
+
const MARKDOWN_ITEM_ORDER = {
|
|
30
|
+
[SyncItemType.Agent]: MarkdownItemOrder.Agent,
|
|
31
|
+
[SyncItemType.Rule]: MarkdownItemOrder.Rule,
|
|
32
|
+
[SyncItemType.Subagent]: MarkdownItemOrder.Subagent,
|
|
33
|
+
[SyncItemType.Skill]: MarkdownItemOrder.Skill,
|
|
34
|
+
[SyncItemType.McpServer]: MarkdownItemOrder.McpServer,
|
|
35
|
+
};
|
|
21
36
|
// ─── Plan ──────
|
|
22
37
|
/**
|
|
23
38
|
* 将同步项按 target 配置转换为 PlannedFile 列表
|
|
@@ -28,7 +43,7 @@ const AUTO_GENERATED_HEADER = '<!-- Auto-generated by xfe rules sync — do not
|
|
|
28
43
|
export function planMarkdownFiles(target, items, injections) {
|
|
29
44
|
const mergeMap = new Map();
|
|
30
45
|
const files = [];
|
|
31
|
-
for (const item of items) {
|
|
46
|
+
for (const item of sortMarkdownItems(items)) {
|
|
32
47
|
if (item.type === SyncItemType.McpServer || item.type === SyncItemType.Skill)
|
|
33
48
|
continue;
|
|
34
49
|
const template = resolvePathTemplate(target, item.type);
|
|
@@ -185,6 +200,9 @@ function appendInjections(target, files, injections) {
|
|
|
185
200
|
});
|
|
186
201
|
}
|
|
187
202
|
}
|
|
203
|
+
function sortMarkdownItems(items) {
|
|
204
|
+
return [...items].sort((left, right) => MARKDOWN_ITEM_ORDER[left.type] - MARKDOWN_ITEM_ORDER[right.type]);
|
|
205
|
+
}
|
|
188
206
|
function filterMarkdownInjections(injections) {
|
|
189
207
|
const filtered = new Map();
|
|
190
208
|
for (const [source, items] of injections) {
|
|
@@ -199,7 +217,9 @@ function buildInjectedBlock(injections) {
|
|
|
199
217
|
for (const [source, items] of injections) {
|
|
200
218
|
if (items.length === 0)
|
|
201
219
|
continue;
|
|
202
|
-
const content = items
|
|
220
|
+
const content = sortMarkdownItems(items)
|
|
221
|
+
.map((item) => `## ${item.name}\n\n${item.content}`)
|
|
222
|
+
.join('\n\n---\n\n');
|
|
203
223
|
sections.push([INJECTED_SOURCE_BEGIN(source), '', content, '', INJECTED_SOURCE_END(source)].join('\n'));
|
|
204
224
|
}
|
|
205
225
|
if (sections.length === 0)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xfe-repo/cli-plugin-ai-rules",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "XFE AI Rules plugin - sync AI coding rules from remote repo to IDE configs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"fs-extra": "^11.3.0",
|
|
10
10
|
"gray-matter": "^4.0.3",
|
|
11
11
|
"zod": "^4.3.6",
|
|
12
|
-
"@xfe-repo/cli-core": "2.0.
|
|
13
|
-
"@xfe-repo/cli-plugin-git": "2.0.
|
|
12
|
+
"@xfe-repo/cli-core": "2.0.5",
|
|
13
|
+
"@xfe-repo/cli-plugin-git": "2.0.4"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@types/fs-extra": "^11.0.4",
|