{"_id":"@cnzgray/dsh-claude-rules-bridge","name":"@cnzgray/dsh-claude-rules-bridge","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cnzgray/dsh-claude-rules-bridge","version":"0.1.0","type":"module","main":"index.js","description":"Bridge Claude Code's .claude/rules/*.md (and *.mdc) path-scoped rules plus the cwd→home CLAUDE.md hierarchy into DeepSeek Harness: always-apply rules at session start, path-scoped rules injected on read/edit/write, plus a /claude-rules command and claude_","keywords":["deepseek-harness","dsh","cordis","claude-code","rules","claude-md"],"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/cnzgray/dsh-plugins.git","directory":"packages/claude-rules-bridge"},"homepage":"https://github.com/cnzgray/dsh-plugins/tree/main/packages/claude-rules-bridge#readme","bugs":{"url":"https://github.com/cnzgray/dsh-plugins/issues"},"dependencies":{"picomatch":"^4.0.2"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"gitHead":"6e58c156a694d06b5b8c3d9b8cfc59da7ba8f1cf","_id":"@cnzgray/dsh-claude-rules-bridge@0.1.0","_nodeVersion":"26.4.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-q+rixH7tet7vmnBrlBKUX6i51xy3LOnOeM0MmF3MPJzUH57eU/eSjM+54vySAa6HFImo20isrMDihSubpY5n+w==","shasum":"2e3dd2d8d49fdfb58844cd81543630d6bdb872b1","tarball":"https://registry.npmjs.org/@cnzgray/dsh-claude-rules-bridge/-/dsh-claude-rules-bridge-0.1.0.tgz","fileCount":5,"unpackedSize":27640,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHHgWNquBEN4Tg58jmgbVL081yi/ZcLgoNy2XZuvK/fmAiEAweKdQSYZzZUDiuImGsFooMEcND4jwLg/WSOsmXbAzIM="}]},"_npmUser":{"name":"cnzgray","email":"cnzgray@gmail.com"},"directories":{},"maintainers":[{"name":"cnzgray","email":"cnzgray@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-claude-rules-bridge_0.1.0_1786756836350_0.9144047185807909"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-15T01:20:36.195Z","0.1.0":"2026-08-15T01:20:36.499Z","modified":"2026-08-15T01:20:36.767Z"},"maintainers":[{"name":"cnzgray","email":"cnzgray@gmail.com"}],"description":"Bridge Claude Code's .claude/rules/*.md (and *.mdc) path-scoped rules plus the cwd→home CLAUDE.md hierarchy into DeepSeek Harness: always-apply rules at session start, path-scoped rules injected on read/edit/write, plus a /claude-rules command and claude_","homepage":"https://github.com/cnzgray/dsh-plugins/tree/main/packages/claude-rules-bridge#readme","keywords":["deepseek-harness","dsh","cordis","claude-code","rules","claude-md"],"repository":{"type":"git","url":"git+https://github.com/cnzgray/dsh-plugins.git","directory":"packages/claude-rules-bridge"},"bugs":{"url":"https://github.com/cnzgray/dsh-plugins/issues"},"license":"MIT","readme":"# @cnzgray/dsh-claude-rules-bridge\n\n把 [Claude Code](https://code.claude.com/docs/en/memory) 的 `.claude/rules/*.md` 与 `*.mdc` 规则文件桥接进 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)（DSH / Cordis），与 omp 扩展 `claude-rules-bridge` 对齐：\n\n- **发现** — 从会话 cwd 向上走到 `$HOME`，加上 `~/.claude/rules/`。Frontmatter：\n  - `paths` / `globs` / `applyTo` → 文件匹配 glob（合并）\n  - `alwaysApply` → 会话开始时总是注入\n  - `description` → `/claude-rules` 列表的元数据\n- **alwaysApply 规则** → 会话开始注入一次（从第一次请求即生效）。\n- **路径作用域规则** → 在 `read` / `write` / `edit` 工具结果命中 glob 时动态注入。\n\n> `CLAUDE.md` / `AGENTS.md` **不在此插件处理**——内置 `@deepseek-ai/dsh-agent-instructions` 已经实现了项目根基线与触碰时嵌套加载，采用其行为。\n\n## 行为\n\n| 层 | 时机 | 内容 |\n| --- | --- | --- |\n| 基线 | `agent/session-start`（覆盖 startup、resume、clear、compact） | `.claude/rules/` 中的 `alwaysApply` 规则（cwd→`$HOME` 向上 + `~/.claude/rules/`） |\n| 动态 | 成功的 `read` / `write` / `edit` 工具结果 | 命中触碰文件 glob 的路径作用域规则（cwd 相对路径 + 文件名） |\n\n- **cwd 之外**的文件不获得任何规则。\n- 每会话去重：每条规则每个目标路径只注入一次；resume/compact 重新加载会重置会话状态。\n- Token 上限：每个注入块 12 KB，每个规则文件 6 KB。\n\n## Seams\n\n全部使用 DSH 原生接缝，根作用域监听（可收到每个 agent 的 scoped 事件）：\n\n- `agent/session-start` → `agent.inject()` 基线（与 `@cnzgray/dsh-claude-auto-memory` 相同模式）。\n- `tools/result` → `agent.inject()` 动态上下文消息，由下一次 pre-step 认领（与 `@deepseek-ai/dsh-agent-instructions` 相同机制）。\n- `ctx.commands.register` → `/claude-rules` 状态命令。\n- `ctx.tools.register` → `claude_rules` 按需索引/阅读工具。\n\n运行时零 `@deepseek-ai/*` 依赖；唯一运行时依赖是 `picomatch`（声明在 `package.json` 中）。从 npm 安装时 `dsh plugin add`（pnpm）会自动装好传递依赖。本地 `link:` 开发时，在包目录内先跑一次 `npm install`，插件的 `import picomatch` 即可解析。\n\n## 安装\n\n```bash\ndsh plugin --profile web add @cnzgray/dsh-claude-rules-bridge\ndsh web   # 重启生效\n```\n\n本地开发：\n\n```bash\nnpm install   # 一次性，在 packages/claude-rules-bridge/ 内执行（为 link: 开发安装 picomatch）\ndsh plugin --profile web add ./packages/claude-rules-bridge\n# 改源码 → 重启 `dsh web`\n```\n\n## 用法\n\n- `/claude-rules` — 列出发现的规则（子命令：`reload`）。\n- `claude_rules` 工具 — 模型可按需列出索引或读取某条规则全文；匹配是 read/edit/write 时自动发生的。\n\n## 规则示例\n\n```markdown\n---\npaths:\n  - \"src/api/**/*.ts\"\n  - \"**/*.api.ts\"\ndescription: API endpoint rules\n---\n- 每个 API endpoint 都必须包含输入校验。\n```\n\n```markdown\n---\nalwaysApply: true\n---\n- 使用 2 空格缩进。\n```\n\n## License\n\nMIT\n","readmeFilename":"README.zh-CN.md","_rev":"1-f5197d6dfcfe6fbe6cea269f2e7fcb9d"}