@dzhechkov/core (中文(简体) )
站点 : https://aicoding.space (英语) 资料来源: https://github.com/djd1m/dz-harness/tree/main/packages/core 页面存档备份,存于互联网档案馆
一揽子基础方案 DZ 跨平台吊带它拥有
平台中立的合同,其他合同 @dzhechkov/* 软件包取决于.
它提供的东西
| 模块 | 出口 | 目的 |
|---|---|---|
skill.schema | CanonicalSkillFrontmatter, (中文(简体) ), ClaudeSkillFrontmatter | 双层 Zod 计划 SKILL.md 前题 |
hooks.schema | HookSchema | 生命周期钩的形状 |
adapter | Adapter, (中文(简体) ), Platform, (中文(简体) ), EmitResult,, , , , , , , , | 合同每一份 @dzhechkov/adapter-* 执行 |
integration.schema | HarnessIntegrationManifestV1Schema, (中文(简体) ), integrationManifestDigest,结果类型 | 边界 INTEGRATIONS.json 解析、条形文摘和MCP/hoks 生成实时注册探测器所消耗的词汇 |
mods-runtime.schema | ModRuntimeIntentV1Schema, (中文(简体) ), ModRuntimeObservationV1Schema | Claude Code mods 的单独、限定意图和证据词汇; 解析时没有插件加载或运行时间要求 |
agents-md | mergeAgentsMd, (中文(简体) ), mergeGeminiMd, (中文(简体) ), mergePolicyBlock,栅栏常数 | 一个参数化的管理- Markdown 合并路径,用于技能和总是在政策块;每个栅栏外的作者字节保留 |
双层技能计划
这个 代理技能打开标准 定义 6
前题字段( e)name, (中文(简体) ), description 需要; license, (中文(简体) ), compatibility, (中文(简体) ),
metadata, (中文(简体) ), allowed-tools (可选). Claude Code 使用这个标准并添加
和这个repo的90个技能附加了~26
项目本地密钥.
所以这个计划有两个层次:
CanonicalSkillFrontmatter——严格代理技能.io标准. 用于 由可移植/动膜层和由非克洛德适配器相接.ClaudeSkillFrontmatter- 警犬计划放松,加上克洛德代码 扩展,加上未知密钥的传递,所以每个已有的SKILL.md验证而不编辑.
见 features/extended-a-migration/agentskills-spec-verification.md 联 合 国
已校验的 spec , 此计划是针对 .
管理马克德
使用 mergePolicyBlock(existing, sections) 当在根上添加恒常政策围栏时
AGENTS.md它使用与现有合并执行相同的 mergeAgentsMd 财务报告和审定财务报表
mergeGeminiMd 预测,但用自己的 dz:policies 标记和早期放置
代码切入上限在可选技能内容前达到策略.
mergePolicyBlock('# AGENTS.md\n\nTeam notes.\n', ['## Integrity Rule\n\nMeasure before asserting.']);
预期成果:小组说明仍为字节,然后是一字节
<!-- dz:policies BEGIN … --> 编号 : <!-- dz:policies END --> 块。 重复电话是
专有权; a dz:skills 块,如果存在,则保持独立.
同伴融合意向
INTEGRATIONS.json 严格, 版本, 大小/ 深度/ 计数, 拒绝字面外观
证书。 它只代表意向:解析从不运行命令或执行网络一/O.
管弦乐将犬科文摘与操作员授权相接,需要分开
适配器面前的活证据可能释放出目标载体.
Claude Code Mods合同
ModRuntimeIntentV1Schema 描述一个插件模块和目标主机:事件处理器,
mods API 调用,意图使站点,生命周期失效并倒置. 是个绳子
合同,不是克劳德代码的 plugin.json。 。 。 . ModRuntimeObservationV1Schema 继续安装,
API可用性,处理器完成和可见UI是四个独立的事实. 离线检查
必须离开运行时间/ UI 事实 unknown被观察的运行时间需要精确的宿主结构,
会话、插件散列、非ce和适当的证据。 观测到的 UI 显示也需要
以可见标记抓取。 解析不验证证据或运行探测器.
计划没有规定 Claude 代码的最小版本 也没有证明一个命名的事件,
方法或制成地点存在于某一建筑物中。 检查已安装的建筑的申报
编辑 官方模式参考
在启用一个模式之前。 设置钩仍然由 hooks.schema.ts; 匹配名称
不使两种机制相等。 警卫的相互作用 和现场的UI探测器
单独的后续工作.
试运行的临时基地警卫
在创建 Vitest 运行根之前, dzTmpRunRoot 检查系统临时的物理路径
目录和每个祖先通过文件系统根。 A 类 .dz 目录, 一个真实 .git
仓库或 gitdir: 文件,或不可读路径拒绝运行。 空或已断开 .git
条目警告并允许运行继续 : dz root finders 跳过它们, 源普查在
harness-core/test/root-finder-census.test.ts 守护着那无常之地 继承活动运行根
也检查。 共享 Vitest 模块也导出
findTempRootHazards 财务报告和审定财务报表 assertTempRootClean;两者都接受可注射的文件系统外观.
一个干净的支票打印一个标准收据:
dz tmp-root: clean — <n> ancestor(s) of <realpath> checked
仅包含咨询风险的检查会显示每个风险一个警告,然后是干净的收据:
dz tmp-root: WARN — <path> — <kind> — not a repository boundary; no dz root finder adopts a .git without HEAD (census: harness-core test/root-finder-census.test.ts)
拒绝日志 dz tmp-root: REFUSED 标语在投出前为 stderr 标语,命名第一个屏蔽危险和全部危险计数,并解释跑者"找不到测试文件"可以指此拒绝.
拒绝与每一个危险, 最深的祖先第一:
dz tmp-root: refused — unsafe temp-root ancestor chain
<absolute path> — <kind> — <one-sentence consequence>
remedy: move the entry aside or point TMPDIR at a clean root — this guard never deletes anything
没有环境变量可以禁用检查 。 将违法条目移出或使用
干净 TMPDIR。守护者只读:它从不创建、移动或删除文件.
检查有运行后的一半( 特长 ) temp-root-post-run-check) (中文(简体) ). 运行前拒绝名称 a
eARLIER运行留下的危险,所以创建的运行 /tmp/.dz 用来完成绿色和下一个
运行支付。 现在 dzTmpRunRoot 保持预运行扫描作为快照,当最后的用户流泪时
向下运行,先去掉运行的根,然后再次扫描相同的祖先链(
系统临时根,或共享运行根的父 DZ_VITEST_TMP_ROOT 分支——运行
根本身在那时已去. diffTempRootHazards(before, after) 纯度,从共享出口
模块,只保留其危险 (path, kind) 双人跑前缺席。 每一个
登录为 stderr ; 一个新的屏蔽危险也失败了拆解, Vitest 报告为
globalSetup 拆卸错误 :
dz tmp-root: CREATED DURING THIS RUN of <package> — <absolute path> — <kind> — <one-sentence consequence>
remedy: move the entry aside or point TMPDIR at a clean root — this guard never deletes anything
新的咨询危险(空的或破的) .git)打印出一个 dz tmp-root: WARN — CREATED DURING THIS RUN of <package> — … 线条,并且不辜负拆解。 已经存在的危险
在设置时,绝不是运行。 运行后半个也不删除: 它命名为
运行,进入会留 你移动一边.
状态
0.2.26 ——发表于2026-09-24 (上) 0.2.25他们的焦油球缺乏 LICENSE 其已署名的一览表
软件包现在带有它自己的 LICENSE,字节与 repo 根相同;积压 71f1919d) (中文(简体) ). 0.2.25 - 同一天: findTempRootHazards 编号 : assertTempRootClean (专题)
temp-root-guard-before-run拒绝试跑,其临时根坐落在 .dz 存储或一个 .git 祖师相传,
接入 dzTmpRunRoot 在两个分支上; 0.2.24 是同一个代码(一个兄弟行走的门动脉,积压)
71f1919d) (中文(简体) ).
0.2.22 ——已上演,未出版. 添加边框融合表和共享
emitted 编号 : refused 编号 : not-requested 由有证据的目标适配器使用的合同.
脚本
pnpm --filter @dzhechkov/core build # tsc -> dist/
pnpm --filter @dzhechkov/core test # vitest run
pnpm --filter @dzhechkov/core typecheck # tsc --noEmit