rulemux 0.2.7 → 0.3.1

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 CHANGED
@@ -45,6 +45,7 @@ directory and hook location have been confirmed by a real canary test. Today:
45
45
  | trae (Trae) | Tier-1 | `.trae/rules/` | ⚠️ registered, **not verified yet** — cannot be installed |
46
46
  | codex | Tier-2 (injection) | none — injects into context | ⚠️ registered, **not verified yet** |
47
47
  | opencode | Tier-2 (injection) | none — injects into context | ⚠️ registered, **not verified yet** |
48
+ | **dsh** (DeepSeek Harness) | Tier-1 (real copy) | `.dsh/rules/` | ✅ **Verified — installable**; the reading half is a **separate dsh plugin** — install it with `dsh plugin --profile <p> add rulemux-dsh` (rulemux only syncs; it does not install the plugin) |
48
49
 
49
50
  - `rulemux init` **refuses** any agent that is not verified — it will not half-install an adapter
50
51
  whose behaviour has not been proven. `rulemux doctor` marks unverified agents with ⚠.
@@ -52,6 +53,19 @@ directory and hook location have been confirmed by a real canary test. Today:
52
53
  single `AGENTS.md`). It injects via the session hook and never touches your own `AGENTS.md`, but
53
54
  it cannot satisfy the "never fades out" bar. See
54
55
  [design/features/hook-injection.md](docs/design/features/hook-injection.md).
56
+ - **dsh is a two-part story**: it has no hook file. rulemux writes `.dsh/rules/` (Tier-1); a
57
+ **separate plugin package** in this repo ([`dsh-plugin/`](dsh-plugin/)) reads it back, installed
58
+ the normal dsh way — straight from git, no npm publish needed:
59
+ `dsh plugin --profile web add "github:cq-guojia/rulemux#path:/dsh-plugin"`. So
60
+ `rulemux init --agent dsh` installs nothing — it just prints the plugin command.
61
+ That plugin then **sets itself up as dsh starts** (restart dsh after installing): readiness is three
62
+ steps and **all of them must hold** — the `rulemux` CLI is resolved *and* its version satisfies the
63
+ plugin's minimum (an older one is upgraded with pnpm/npm and re-checked — never accepted as-is),
64
+ the plugin itself is loaded, and `~/.rulemux/config.toml` exists (created for you when missing,
65
+ never overwritten). Any step that does not hold **raises**, so the session fails visibly instead of
66
+ quietly running without rules. Because it happens at startup, `~/.rulemux/config.toml` is already
67
+ there when you go to edit it: install → restart → edit the config → open **one** session. Syncing
68
+ is a separate concern: a failing `rulemux sync` is logged, and the session carries on.
55
69
 
56
70
  ---
57
71
 
package/README.zh-CN.md CHANGED
@@ -39,12 +39,23 @@ rulemux **每个 agent 一套适配器**;只有「规则目录 + 钩子落点
39
39
  | trae(Trae) | Tier-1 | `.trae/rules/` | ⚠️ 已注册,**尚未验证**,不可安装 |
40
40
  | codex | Tier-2(注入) | 无 —— 注入上下文 | ⚠️ 已注册,**尚未验证** |
41
41
  | opencode | Tier-2(注入) | 无 —— 注入上下文 | ⚠️ 已注册,**尚未验证** |
42
+ | **dsh**(DeepSeek Harness) | Tier-1(真实拷贝) | `.dsh/rules/` | ✅ **已验证,可安装**;读取那半由**独立的 dsh 插件**做 —— 用 `dsh plugin --profile <p> add rulemux-dsh` 安装(rulemux 只负责同步,不替你装插件) |
42
43
 
43
44
  - `rulemux init` **会拒绝**未验证的 agent —— 不会给你装一个行为未经验证的半成品。
44
45
  `rulemux doctor` 会给未验证的 agent 标 ⚠。
45
46
  - **Tier-2 是刻意的降级**:面向没有规则目录、只认单个 `AGENTS.md` 的 agent,走会话钩子注入,
46
47
  且绝不碰你自己的 `AGENTS.md`;但它满足不了「永不淡出」。见
47
48
  [`docs/design/features/hook-injection.md`](docs/design/features/hook-injection.md)。
49
+ - **dsh 是「两半」的故事**:它没有钩子配置文件。rulemux 负责写 `.dsh/rules/`(Tier-1);读取那半由本仓库里
50
+ **独立的插件包** [`dsh-plugin/`](dsh-plugin/) 做,按 dsh 正常方式安装 —— **直接 git 装,无需发 npm**:
51
+ `dsh plugin --profile web add "github:cq-guojia/rulemux#path:/dsh-plugin"`。
52
+ 所以 `rulemux init --agent dsh` 什么都不装 —— 只打印插件安装命令。
53
+ 装完后该插件会**在 dsh 启动时(插件装载)自动就绪**(装完插件记得重启 dsh)。就绪是**三步,必须全部成立**:
54
+ `rulemux` 命令行工具可得**且版本满足插件要求**(偏旧会用 pnpm/npm 升级并复查,不会「装了就当成过」)、
55
+ 插件本身已装载、`~/.rulemux/config.toml` 存在(缺失则替你生成,**已存在绝不覆盖**)。
56
+ 任何一步不成立就**抛错**,让失败在会话里可见,绝不悄悄跑在没有规则的状态下。
57
+ 因为发生在启动时,你**去改配置时那份 `config.toml` 已经在**:装插件 → 重启 → 改配置 → 开**一次**会话即可。
58
+ 同步是另一回事:`rulemux sync` 失败只记日志,会话照常继续。
48
59
 
49
60
  ---
50
61
 
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulemux",
3
- "version": "0.2.7",
3
+ "version": "0.3.1",
4
4
  "description": "One set of rules, delivered to every AI coding agent: copies the rule files you declare into each agent's native workspace rules directory, with the same effect and token cost as writing AGENTS.md by hand.",
5
5
  "license": "MIT",
6
6
  "repository": {