@skrupellose/code-helper 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.
- package/README.md +64 -0
- package/dist/archive.d.ts +26 -0
- package/dist/archive.js +289 -0
- package/dist/archive.js.map +1 -0
- package/dist/checks.d.ts +6 -0
- package/dist/checks.js +351 -0
- package/dist/checks.js.map +1 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.js +651 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.js +84 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +27 -0
- package/dist/constants.js +68 -0
- package/dist/constants.js.map +1 -0
- package/dist/fs-utils.d.ts +46 -0
- package/dist/fs-utils.js +188 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +21 -0
- package/dist/init.js +279 -0
- package/dist/init.js.map +1 -0
- package/dist/input-utils.d.ts +5 -0
- package/dist/input-utils.js +94 -0
- package/dist/input-utils.js.map +1 -0
- package/dist/skills.d.ts +41 -0
- package/dist/skills.js +201 -0
- package/dist/skills.js.map +1 -0
- package/dist/templates.d.ts +35 -0
- package/dist/templates.js +750 -0
- package/dist/templates.js.map +1 -0
- package/dist/terminal-ui.d.ts +44 -0
- package/dist/terminal-ui.js +189 -0
- package/dist/terminal-ui.js.map +1 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/workflows.d.ts +46 -0
- package/dist/workflows.js +284 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +34 -0
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CodeHelperConfig, FeatureKey } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* 返回 code-helper 配置文件相对路径。
|
|
4
|
+
* 该路径固定在工作区下,方便用户清楚区分工具状态和业务文档。
|
|
5
|
+
*/
|
|
6
|
+
export declare function getConfigRelativePath(): string;
|
|
7
|
+
/**
|
|
8
|
+
* 读取并合并项目配置。
|
|
9
|
+
* 老配置缺字段时会自动补默认值,但不会在读取阶段写回磁盘。
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadConfig(projectRoot: string): Promise<CodeHelperConfig>;
|
|
12
|
+
/**
|
|
13
|
+
* 保存项目配置。
|
|
14
|
+
* 输出使用两个空格缩进,便于用户手工审阅和修改。
|
|
15
|
+
*/
|
|
16
|
+
export declare function saveConfig(projectRoot: string, config: CodeHelperConfig): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* 修改单个功能开关。
|
|
19
|
+
* 调用方传入 feature key 和目标状态,本函数负责保留其他配置。
|
|
20
|
+
*/
|
|
21
|
+
export declare function setFeatureEnabled(projectRoot: string, feature: FeatureKey, enabled: boolean): Promise<CodeHelperConfig>;
|
|
22
|
+
/**
|
|
23
|
+
* 合并配置对象。
|
|
24
|
+
* 这样即使用户删除了某些字段,下一次 CLI 运行也能恢复到可用状态。
|
|
25
|
+
*/
|
|
26
|
+
export declare function mergeConfig(input: Partial<CodeHelperConfig>): CodeHelperConfig;
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG, FEATURE_KEYS } from "./constants.js";
|
|
2
|
+
import { ensureTrailingNewline, projectPath, readTextIfExists, writeText } from "./fs-utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* 旧版工具工作区配置路径。
|
|
5
|
+
* 新版把内部状态保留在 `.code-helper`,把可读协作文档迁移到 `code-helper-docs`。
|
|
6
|
+
*/
|
|
7
|
+
const LEGACY_WORKSPACE_DIRECTORY = ".agent/code-helper";
|
|
8
|
+
/**
|
|
9
|
+
* 返回 code-helper 配置文件相对路径。
|
|
10
|
+
* 该路径固定在工作区下,方便用户清楚区分工具状态和业务文档。
|
|
11
|
+
*/
|
|
12
|
+
export function getConfigRelativePath() {
|
|
13
|
+
return `${DEFAULT_CONFIG.directories.workspace}/config.json`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 读取并合并项目配置。
|
|
17
|
+
* 老配置缺字段时会自动补默认值,但不会在读取阶段写回磁盘。
|
|
18
|
+
*/
|
|
19
|
+
export async function loadConfig(projectRoot) {
|
|
20
|
+
const configPath = projectPath(projectRoot, getConfigRelativePath());
|
|
21
|
+
const raw = await readTextIfExists(configPath)
|
|
22
|
+
?? await readTextIfExists(projectPath(projectRoot, `${LEGACY_WORKSPACE_DIRECTORY}/config.json`));
|
|
23
|
+
if (raw === undefined) {
|
|
24
|
+
return cloneDefaultConfig();
|
|
25
|
+
}
|
|
26
|
+
const parsed = JSON.parse(raw);
|
|
27
|
+
return mergeConfig(parsed);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* 保存项目配置。
|
|
31
|
+
* 输出使用两个空格缩进,便于用户手工审阅和修改。
|
|
32
|
+
*/
|
|
33
|
+
export async function saveConfig(projectRoot, config) {
|
|
34
|
+
const configPath = projectPath(projectRoot, getConfigRelativePath());
|
|
35
|
+
await writeText(configPath, ensureTrailingNewline(JSON.stringify(mergeConfig(config), null, 2)));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 修改单个功能开关。
|
|
39
|
+
* 调用方传入 feature key 和目标状态,本函数负责保留其他配置。
|
|
40
|
+
*/
|
|
41
|
+
export async function setFeatureEnabled(projectRoot, feature, enabled) {
|
|
42
|
+
const config = await loadConfig(projectRoot);
|
|
43
|
+
config.features[feature] = { enabled };
|
|
44
|
+
await saveConfig(projectRoot, config);
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 合并配置对象。
|
|
49
|
+
* 这样即使用户删除了某些字段,下一次 CLI 运行也能恢复到可用状态。
|
|
50
|
+
*/
|
|
51
|
+
export function mergeConfig(input) {
|
|
52
|
+
const merged = cloneDefaultConfig();
|
|
53
|
+
merged.version = typeof input.version === "number" ? input.version : merged.version;
|
|
54
|
+
merged.entryFiles = {
|
|
55
|
+
...merged.entryFiles,
|
|
56
|
+
...input.entryFiles
|
|
57
|
+
};
|
|
58
|
+
merged.directories = {
|
|
59
|
+
...merged.directories,
|
|
60
|
+
...input.directories
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* code-helper 目录采用新布局。
|
|
64
|
+
* 旧配置中的 `.agent/*` 或早期 `.code-helper/*` 文档路径只作为迁移输入,不继续作为写入目标。
|
|
65
|
+
*/
|
|
66
|
+
merged.directories = {
|
|
67
|
+
...merged.directories,
|
|
68
|
+
...DEFAULT_CONFIG.directories
|
|
69
|
+
};
|
|
70
|
+
for (const feature of FEATURE_KEYS) {
|
|
71
|
+
merged.features[feature] = {
|
|
72
|
+
enabled: input.features?.[feature]?.enabled ?? merged.features[feature].enabled
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return merged;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 深拷贝默认配置。
|
|
79
|
+
* 防止测试或运行时修改 DEFAULT_CONFIG 常量对象。
|
|
80
|
+
*/
|
|
81
|
+
function cloneDefaultConfig() {
|
|
82
|
+
return JSON.parse(JSON.stringify(DEFAULT_CONFIG));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CodeHelperConfig, FeatureKey } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* code-helper 自身配置版本。
|
|
4
|
+
* 后续如果配置结构变更,可以用这个数字做迁移判断。
|
|
5
|
+
*/
|
|
6
|
+
export declare const CONFIG_VERSION = 1;
|
|
7
|
+
/**
|
|
8
|
+
* 所有内置功能的稳定顺序。
|
|
9
|
+
* 菜单展示、配置合并和测试断言都复用这个顺序。
|
|
10
|
+
*/
|
|
11
|
+
export declare const FEATURE_KEYS: FeatureKey[];
|
|
12
|
+
/**
|
|
13
|
+
* 功能名称的中文展示文案。
|
|
14
|
+
* 这让 CLI 输出保持稳定,也避免各模块重复写同一份文案。
|
|
15
|
+
*/
|
|
16
|
+
export declare const FEATURE_LABELS: Record<FeatureKey, string>;
|
|
17
|
+
/**
|
|
18
|
+
* 默认配置。
|
|
19
|
+
* 核心能力默认启用,Git hooks 默认关闭,符合首版“规则 + 检查”的非侵入定位。
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_CONFIG: CodeHelperConfig;
|
|
22
|
+
/**
|
|
23
|
+
* 入口文档中由 code-helper 管理的区块标记。
|
|
24
|
+
* 只更新标记之间的内容,保护用户手写的其他项目规则。
|
|
25
|
+
*/
|
|
26
|
+
export declare const ENTRY_BLOCK_START = "<!-- code-helper:start -->";
|
|
27
|
+
export declare const ENTRY_BLOCK_END = "<!-- code-helper:end -->";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* code-helper 自身配置版本。
|
|
3
|
+
* 后续如果配置结构变更,可以用这个数字做迁移判断。
|
|
4
|
+
*/
|
|
5
|
+
export const CONFIG_VERSION = 1;
|
|
6
|
+
/**
|
|
7
|
+
* 所有内置功能的稳定顺序。
|
|
8
|
+
* 菜单展示、配置合并和测试断言都复用这个顺序。
|
|
9
|
+
*/
|
|
10
|
+
export const FEATURE_KEYS = [
|
|
11
|
+
"memoryTuning",
|
|
12
|
+
"planWorkbench",
|
|
13
|
+
"resultSummary",
|
|
14
|
+
"testingPolicy",
|
|
15
|
+
"documentArchive",
|
|
16
|
+
"checks",
|
|
17
|
+
"gitHooks",
|
|
18
|
+
"skillRegistration"
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* 功能名称的中文展示文案。
|
|
22
|
+
* 这让 CLI 输出保持稳定,也避免各模块重复写同一份文案。
|
|
23
|
+
*/
|
|
24
|
+
export const FEATURE_LABELS = {
|
|
25
|
+
memoryTuning: "项目记忆规则优化",
|
|
26
|
+
planWorkbench: "项目计划优化",
|
|
27
|
+
resultSummary: "执行结果总结",
|
|
28
|
+
testingPolicy: "测试策略约束",
|
|
29
|
+
documentArchive: "文档归档",
|
|
30
|
+
checks: "项目规则检查",
|
|
31
|
+
gitHooks: "Git hooks 模板",
|
|
32
|
+
skillRegistration: "Skills 管理"
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* 默认配置。
|
|
36
|
+
* 核心能力默认启用,Git hooks 默认关闭,符合首版“规则 + 检查”的非侵入定位。
|
|
37
|
+
*/
|
|
38
|
+
export const DEFAULT_CONFIG = {
|
|
39
|
+
version: CONFIG_VERSION,
|
|
40
|
+
entryFiles: {
|
|
41
|
+
agents: true,
|
|
42
|
+
claude: false
|
|
43
|
+
},
|
|
44
|
+
directories: {
|
|
45
|
+
workspace: ".code-helper",
|
|
46
|
+
userRules: "code-helper-docs/user-rules",
|
|
47
|
+
planDoc: "code-helper-docs/plan-doc",
|
|
48
|
+
resultDoc: "code-helper-docs/result-doc",
|
|
49
|
+
statusDoc: "code-helper-docs/status-doc"
|
|
50
|
+
},
|
|
51
|
+
features: {
|
|
52
|
+
memoryTuning: { enabled: true },
|
|
53
|
+
planWorkbench: { enabled: true },
|
|
54
|
+
resultSummary: { enabled: true },
|
|
55
|
+
testingPolicy: { enabled: true },
|
|
56
|
+
documentArchive: { enabled: true },
|
|
57
|
+
checks: { enabled: true },
|
|
58
|
+
gitHooks: { enabled: false },
|
|
59
|
+
skillRegistration: { enabled: true }
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* 入口文档中由 code-helper 管理的区块标记。
|
|
64
|
+
* 只更新标记之间的内容,保护用户手写的其他项目规则。
|
|
65
|
+
*/
|
|
66
|
+
export const ENTRY_BLOCK_START = "<!-- code-helper:start -->";
|
|
67
|
+
export const ENTRY_BLOCK_END = "<!-- code-helper:end -->";
|
|
68
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,QAAQ;IACR,UAAU;IACV,mBAAmB;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,eAAe,EAAE,MAAM;IACvB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,cAAc;IACxB,iBAAiB,EAAE,WAAW;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;KACd;IACD,WAAW,EAAE;QACX,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,6BAA6B;QACxC,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,6BAA6B;QACxC,SAAS,EAAE,6BAA6B;KACzC;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC/B,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAChC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAChC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAChC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAClC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QACzB,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC5B,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACrC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { OperationResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* 把相对路径解析到项目根目录下。
|
|
4
|
+
* 所有写入都经过这个函数,避免不同模块各自拼接路径产生偏差。
|
|
5
|
+
*/
|
|
6
|
+
export declare function projectPath(projectRoot: string, relativePath: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* 生成面向文档、状态 JSON 和检查结果展示的相对路径。
|
|
9
|
+
* 展示路径固定使用 POSIX 风格 `/`,避免 Windows 下输出反斜杠导致 agent 记忆和测试结果不一致。
|
|
10
|
+
*/
|
|
11
|
+
export declare function portablePath(...segments: string[]): string;
|
|
12
|
+
/**
|
|
13
|
+
* 确保目录存在。
|
|
14
|
+
* recursive 模式让初始化可以同时支持新项目和部分已有目录的老项目。
|
|
15
|
+
*/
|
|
16
|
+
export declare function ensureDirectory(path: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* 读取 UTF-8 文本文件;文件不存在时返回 undefined。
|
|
19
|
+
* 初始化和检查都需要区分“空文件”和“不存在”,所以不用空字符串兜底。
|
|
20
|
+
*/
|
|
21
|
+
export declare function readTextIfExists(path: string): Promise<string | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* 写入文件前自动创建父目录。
|
|
24
|
+
* 所有生成文件都走这里,避免调用方忘记创建目录。
|
|
25
|
+
*/
|
|
26
|
+
export declare function writeText(path: string, content: string): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* 仅在文件不存在时创建文件。
|
|
29
|
+
* 对老项目尤其重要,避免覆盖已有规则、计划或状态文档。
|
|
30
|
+
*/
|
|
31
|
+
export declare function writeTextIfMissing(path: string, content: string): Promise<OperationResult>;
|
|
32
|
+
/**
|
|
33
|
+
* 更新已有 Markdown 文件中的指定二级小节。
|
|
34
|
+
* 如果文件不存在则创建;如果小节不存在则追加;如果内容相同则跳过。
|
|
35
|
+
*/
|
|
36
|
+
export declare function upsertMarkdownSection(path: string, sectionTitle: string, sectionContent: string, fallbackContent: string): Promise<OperationResult>;
|
|
37
|
+
/**
|
|
38
|
+
* 在 Markdown 入口文件中追加或更新 code-helper 管理区块。
|
|
39
|
+
* 这个函数只触碰受控区块,保护用户在区块外维护的项目规则。
|
|
40
|
+
*/
|
|
41
|
+
export declare function upsertManagedMarkdownBlock(path: string, blockContent: string): Promise<OperationResult>;
|
|
42
|
+
/**
|
|
43
|
+
* 确保文本以单个换行结尾。
|
|
44
|
+
* Markdown 和 JSON 文件统一用换行结尾,减少 diff 噪音。
|
|
45
|
+
*/
|
|
46
|
+
export declare function ensureTrailingNewline(content: string): string;
|
package/dist/fs-utils.js
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, posix, resolve } from "node:path";
|
|
3
|
+
import { ENTRY_BLOCK_END, ENTRY_BLOCK_START } from "./constants.js";
|
|
4
|
+
/**
|
|
5
|
+
* 判断未知错误是否表示文件不存在。
|
|
6
|
+
* Node 的 fs 错误对象没有稳定的 TypeScript 类型,因此集中在这里做窄化。
|
|
7
|
+
*/
|
|
8
|
+
function isNotFoundError(error) {
|
|
9
|
+
return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 把相对路径解析到项目根目录下。
|
|
13
|
+
* 所有写入都经过这个函数,避免不同模块各自拼接路径产生偏差。
|
|
14
|
+
*/
|
|
15
|
+
export function projectPath(projectRoot, relativePath) {
|
|
16
|
+
return resolve(projectRoot, relativePath);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 生成面向文档、状态 JSON 和检查结果展示的相对路径。
|
|
20
|
+
* 展示路径固定使用 POSIX 风格 `/`,避免 Windows 下输出反斜杠导致 agent 记忆和测试结果不一致。
|
|
21
|
+
*/
|
|
22
|
+
export function portablePath(...segments) {
|
|
23
|
+
return posix.join(...segments.map((segment) => segment.replace(/\\/gu, "/")));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 确保目录存在。
|
|
27
|
+
* recursive 模式让初始化可以同时支持新项目和部分已有目录的老项目。
|
|
28
|
+
*/
|
|
29
|
+
export async function ensureDirectory(path) {
|
|
30
|
+
await mkdir(path, { recursive: true });
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 读取 UTF-8 文本文件;文件不存在时返回 undefined。
|
|
34
|
+
* 初始化和检查都需要区分“空文件”和“不存在”,所以不用空字符串兜底。
|
|
35
|
+
*/
|
|
36
|
+
export async function readTextIfExists(path) {
|
|
37
|
+
try {
|
|
38
|
+
return await readFile(path, "utf8");
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
if (isNotFoundError(error)) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 写入文件前自动创建父目录。
|
|
49
|
+
* 所有生成文件都走这里,避免调用方忘记创建目录。
|
|
50
|
+
*/
|
|
51
|
+
export async function writeText(path, content) {
|
|
52
|
+
await ensureDirectory(dirname(path));
|
|
53
|
+
await writeFile(path, content, "utf8");
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 仅在文件不存在时创建文件。
|
|
57
|
+
* 对老项目尤其重要,避免覆盖已有规则、计划或状态文档。
|
|
58
|
+
*/
|
|
59
|
+
export async function writeTextIfMissing(path, content) {
|
|
60
|
+
const existing = await readTextIfExists(path);
|
|
61
|
+
if (existing !== undefined) {
|
|
62
|
+
return {
|
|
63
|
+
path,
|
|
64
|
+
action: "skipped",
|
|
65
|
+
message: "文件已存在,保持原内容"
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
await writeText(path, content);
|
|
69
|
+
return {
|
|
70
|
+
path,
|
|
71
|
+
action: "created",
|
|
72
|
+
message: "已创建缺失文件"
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 更新已有 Markdown 文件中的指定二级小节。
|
|
77
|
+
* 如果文件不存在则创建;如果小节不存在则追加;如果内容相同则跳过。
|
|
78
|
+
*/
|
|
79
|
+
export async function upsertMarkdownSection(path, sectionTitle, sectionContent, fallbackContent) {
|
|
80
|
+
const existing = await readTextIfExists(path);
|
|
81
|
+
if (existing === undefined) {
|
|
82
|
+
await writeText(path, fallbackContent);
|
|
83
|
+
return {
|
|
84
|
+
path,
|
|
85
|
+
action: "created",
|
|
86
|
+
message: "已创建缺失文件"
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const normalizedSection = `${sectionTitle}\n\n${sectionContent.trim()}`;
|
|
90
|
+
const nextContent = replaceMarkdownSection(existing, sectionTitle, normalizedSection);
|
|
91
|
+
if (nextContent !== undefined) {
|
|
92
|
+
if (nextContent === existing) {
|
|
93
|
+
return {
|
|
94
|
+
path,
|
|
95
|
+
action: "skipped",
|
|
96
|
+
message: "文件已存在,保持原内容"
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
await writeText(path, ensureTrailingNewline(nextContent));
|
|
100
|
+
return {
|
|
101
|
+
path,
|
|
102
|
+
action: "updated",
|
|
103
|
+
message: `已更新 ${sectionTitle} 小节`
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
await writeText(path, `${ensureTrailingNewline(existing)}\n${normalizedSection}\n`);
|
|
107
|
+
return {
|
|
108
|
+
path,
|
|
109
|
+
action: "updated",
|
|
110
|
+
message: `已追加 ${sectionTitle} 小节`
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 通过行扫描替换 Markdown 二级小节。
|
|
115
|
+
* 不使用复杂正则,是为了保证多次 init 时小节边界稳定、不会残留旧列表项。
|
|
116
|
+
*/
|
|
117
|
+
function replaceMarkdownSection(content, sectionTitle, replacement) {
|
|
118
|
+
const lines = content.split("\n");
|
|
119
|
+
const startIndex = lines.findIndex((line) => line.trim() === sectionTitle);
|
|
120
|
+
if (startIndex === -1) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
let endIndex = lines.length;
|
|
124
|
+
for (let index = startIndex + 1; index < lines.length; index += 1) {
|
|
125
|
+
const line = lines[index];
|
|
126
|
+
if (line.startsWith("## ") && line.trim() !== sectionTitle) {
|
|
127
|
+
endIndex = index;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const before = lines.slice(0, startIndex);
|
|
132
|
+
const after = lines.slice(endIndex);
|
|
133
|
+
return [...before, replacement, ...after].join("\n");
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 在 Markdown 入口文件中追加或更新 code-helper 管理区块。
|
|
137
|
+
* 这个函数只触碰受控区块,保护用户在区块外维护的项目规则。
|
|
138
|
+
*/
|
|
139
|
+
export async function upsertManagedMarkdownBlock(path, blockContent) {
|
|
140
|
+
const normalizedBlock = `${ENTRY_BLOCK_START}\n${blockContent.trim()}\n${ENTRY_BLOCK_END}`;
|
|
141
|
+
const existing = await readTextIfExists(path);
|
|
142
|
+
if (existing === undefined) {
|
|
143
|
+
await writeText(path, `# Agent 协作规则\n\n${normalizedBlock}\n`);
|
|
144
|
+
return {
|
|
145
|
+
path,
|
|
146
|
+
action: "created",
|
|
147
|
+
message: "已创建入口文档并写入 code-helper 区块"
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
if (existing.includes(ENTRY_BLOCK_START) && existing.includes(ENTRY_BLOCK_END)) {
|
|
151
|
+
const pattern = new RegExp(`${escapeRegExp(ENTRY_BLOCK_START)}[\\s\\S]*?${escapeRegExp(ENTRY_BLOCK_END)}`);
|
|
152
|
+
const nextContent = existing.replace(pattern, normalizedBlock);
|
|
153
|
+
if (nextContent === existing) {
|
|
154
|
+
return {
|
|
155
|
+
path,
|
|
156
|
+
action: "skipped",
|
|
157
|
+
message: "入口文档区块已是最新内容"
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
await writeText(path, ensureTrailingNewline(nextContent));
|
|
161
|
+
return {
|
|
162
|
+
path,
|
|
163
|
+
action: "updated",
|
|
164
|
+
message: "已更新入口文档中的 code-helper 区块"
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
await writeText(path, `${ensureTrailingNewline(existing)}\n${normalizedBlock}\n`);
|
|
168
|
+
return {
|
|
169
|
+
path,
|
|
170
|
+
action: "updated",
|
|
171
|
+
message: "已追加 code-helper 受控区块"
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* 转义字符串以安全拼进正则表达式。
|
|
176
|
+
* 这里用于匹配 HTML 注释标记,避免特殊字符影响替换。
|
|
177
|
+
*/
|
|
178
|
+
function escapeRegExp(value) {
|
|
179
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* 确保文本以单个换行结尾。
|
|
183
|
+
* Markdown 和 JSON 文件统一用换行结尾,减少 diff 噪音。
|
|
184
|
+
*/
|
|
185
|
+
export function ensureTrailingNewline(content) {
|
|
186
|
+
return `${content.replace(/\s+$/u, "")}\n`;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=fs-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;GAGG;AACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC"}
|
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CodeHelperConfig, OperationResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* 初始化 code-helper 的入参。
|
|
4
|
+
* 目前只需要项目根目录,保留对象形式方便后续扩展 dry-run 等选项。
|
|
5
|
+
*/
|
|
6
|
+
export interface InitializeOptions {
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 初始化结果。
|
|
11
|
+
* CLI 根据该结构统一输出所有创建、更新和跳过项。
|
|
12
|
+
*/
|
|
13
|
+
export interface InitializeResult {
|
|
14
|
+
config: CodeHelperConfig;
|
|
15
|
+
operations: OperationResult[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 初始化项目中的 code-helper 工作区和协作规则。
|
|
19
|
+
* 该流程默认是非破坏性的:已有专题文档只跳过,入口文档只更新受控区块。
|
|
20
|
+
*/
|
|
21
|
+
export declare function initializeProject(options: InitializeOptions): Promise<InitializeResult>;
|