@mison/ling 1.0.0 → 1.0.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.
- package/CHANGELOG.md +20 -1
- package/README.md +1 -2
- package/bin/ling.js +0 -0
- package/package.json +2 -3
- package/scripts/health-check.js +9 -3
- package/tests/versioning.test.js +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [ling-1.0.2] - 2026-03-13
|
|
11
|
+
|
|
12
|
+
### 变更
|
|
13
|
+
|
|
14
|
+
- npm 全局命令:移除 `ag-kit` bin 别名,仅保留 `ling`。
|
|
15
|
+
|
|
16
|
+
## [ling-1.0.1] - 2026-03-13
|
|
17
|
+
|
|
18
|
+
### 修复
|
|
19
|
+
|
|
20
|
+
- 健康检查脚本:允许 `ling spec status --quiet` 在 `missing` 状态返回非 0 退出码,并继续校验输出内容。
|
|
21
|
+
- Web 文档站 lint:移除 `useEffect` 内同步 `setState` 的用法,改为渲染期平台判断并对快捷键提示增加 `suppressHydrationWarning`。
|
|
22
|
+
|
|
23
|
+
### 维护
|
|
24
|
+
|
|
25
|
+
- CLI 入口权限:`bin/ling.js` 设置为可执行,保持与 `bin/ag-kit.js` 一致。
|
|
26
|
+
|
|
10
27
|
## [ling-1.0.0] - 2026-03-13
|
|
11
28
|
|
|
12
29
|
### 版本与标签
|
|
@@ -39,5 +56,7 @@
|
|
|
39
56
|
|
|
40
57
|
本项目在 Ling 重启前的 2.x/3.x 版本记录已冻结,不再维护。
|
|
41
58
|
|
|
42
|
-
[Unreleased]: https://github.com/MisonL/Ling/compare/ling-1.0.
|
|
59
|
+
[Unreleased]: https://github.com/MisonL/Ling/compare/ling-1.0.2...HEAD
|
|
60
|
+
[ling-1.0.2]: https://github.com/MisonL/Ling/releases/tag/ling-1.0.2
|
|
61
|
+
[ling-1.0.1]: https://github.com/MisonL/Ling/releases/tag/ling-1.0.1
|
|
43
62
|
[ling-1.0.0]: https://github.com/MisonL/Ling/releases/tag/ling-1.0.0
|
package/README.md
CHANGED
|
@@ -36,7 +36,6 @@ ling init --target codex # 安装 Codex 结构(.agents + 托管规则注入
|
|
|
36
36
|
|
|
37
37
|
说明:
|
|
38
38
|
- npm 安装的主命令入口为 `ling`。
|
|
39
|
-
- 为兼容历史用法与上游文档,本包仍提供 `ag-kit` 命令别名。
|
|
40
39
|
|
|
41
40
|
可选:不做全局安装,直接在仓库目录执行:
|
|
42
41
|
|
|
@@ -331,7 +330,7 @@ rmdir /s /q .codex
|
|
|
331
330
|
ling exclude add --path /path/to/your-project
|
|
332
331
|
```
|
|
333
332
|
|
|
334
|
-
说明:全局卸载只会移除 `ling`
|
|
333
|
+
说明:全局卸载只会移除 `ling` 命令,不会删除你本地 clone 的源码目录。
|
|
335
334
|
|
|
336
335
|
## 请我喝咖啡
|
|
337
336
|
|
package/bin/ling.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mison/ling",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "AI Agent templates - Skills, Agents, and Workflows for enhanced coding assistance",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
"docs/TECH.md"
|
|
51
51
|
],
|
|
52
52
|
"bin": {
|
|
53
|
-
"ling": "
|
|
54
|
-
"ag-kit": "./bin/ag-kit.js"
|
|
53
|
+
"ling": "bin/ling.js"
|
|
55
54
|
}
|
|
56
55
|
}
|
package/scripts/health-check.js
CHANGED
|
@@ -12,6 +12,7 @@ function logStep(message) {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
function runCommand(command, options = {}) {
|
|
15
|
+
const allowedStatuses = options.allowedStatuses || [0];
|
|
15
16
|
const result = spawnSync(command, {
|
|
16
17
|
cwd: options.cwd || ROOT_DIR,
|
|
17
18
|
env: {
|
|
@@ -22,9 +23,11 @@ function runCommand(command, options = {}) {
|
|
|
22
23
|
shell: true,
|
|
23
24
|
});
|
|
24
25
|
|
|
25
|
-
if (result.status
|
|
26
|
+
if (!allowedStatuses.includes(result.status)) {
|
|
26
27
|
const detail = result.stderr || result.stdout || "";
|
|
27
|
-
throw new Error(
|
|
28
|
+
throw new Error(
|
|
29
|
+
`${command}\n(exit=${result.status})\n${detail}`.trim(),
|
|
30
|
+
);
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
return result.stdout || "";
|
|
@@ -106,7 +109,10 @@ function main() {
|
|
|
106
109
|
throw new Error(`spec status 结果异常: ${specStatus}`);
|
|
107
110
|
}
|
|
108
111
|
runCommand("node bin/ling.js spec disable --target codex --quiet", { env });
|
|
109
|
-
const specStatusAfterDisable = runCommand("node bin/ling.js spec status --quiet", {
|
|
112
|
+
const specStatusAfterDisable = runCommand("node bin/ling.js spec status --quiet", {
|
|
113
|
+
env,
|
|
114
|
+
allowedStatuses: [0, 2],
|
|
115
|
+
}).trim();
|
|
110
116
|
if (specStatusAfterDisable !== "missing") {
|
|
111
117
|
throw new Error(`spec disable 后状态异常: ${specStatusAfterDisable}`);
|
|
112
118
|
}
|
package/tests/versioning.test.js
CHANGED
|
@@ -7,7 +7,6 @@ const { spawnSync } = require("node:child_process");
|
|
|
7
7
|
|
|
8
8
|
const REPO_ROOT = path.resolve(__dirname, "..");
|
|
9
9
|
const LING_CLI = path.join(REPO_ROOT, "bin", "ling.js");
|
|
10
|
-
const AG_KIT_CLI = path.join(REPO_ROOT, "bin", "ag-kit.js");
|
|
11
10
|
const pkg = require(path.join(REPO_ROOT, "package.json"));
|
|
12
11
|
|
|
13
12
|
function runCli(cliPath, args, envOverrides = {}) {
|
|
@@ -40,12 +39,3 @@ test("ling --version should print ling- prefixed version tag", () => {
|
|
|
40
39
|
assert.strictEqual(stdout, `ling version ling-${pkg.version}`);
|
|
41
40
|
assert.ok(!stdout.includes("[warn]"), "ling entry should not include legacy alias warning");
|
|
42
41
|
});
|
|
43
|
-
|
|
44
|
-
test("ag-kit --version should warn and print ling- prefixed version tag", () => {
|
|
45
|
-
const result = runCli(AG_KIT_CLI, ["--version"]);
|
|
46
|
-
assert.strictEqual(result.status, 0, result.stderr || result.stdout);
|
|
47
|
-
const lines = String(result.stdout || "").trim().split(/\r?\n/);
|
|
48
|
-
assert.ok(lines.some((line) => line.includes("[warn]")), "ag-kit entry should include legacy alias warning");
|
|
49
|
-
assert.strictEqual(lines[lines.length - 1], `ling version ling-${pkg.version}`);
|
|
50
|
-
});
|
|
51
|
-
|