Repository navigation
Releases: SHADOW-LI0327/dsh-process-kit
Releases · SHADOW-LI0327/dsh-process-kit
Release list
v0.9.0 — 双语支持(中文 / English)
v0.9.0 — 双语支持(中文 / English)
同一套流程、两种语言。语言只影响文字,不影响落点与判据;存量中文仓库零改动。
亮点
- 英文项目开箱可用:
process_init({ lang: "en" })落英文骨架 + 英文AGENTS.md+ 英文角色技能;auto(默认)按仓库文档自动判断。 - 语言跟随仓库:
PROCESS_KIT_LANG→.process-kit.json的lang→PROJECT.md的lang:→ 文档推断 →zh。一个仓库一种语言,产物不会中英混排。 - 门禁锚点去语言化:模板加机器标记(
process:owner-table/process:registry),§3 表头、§4/§5 共 26 个配置键、核对件文件名中英都认;标记缺失时全部回退到原来的中文锚点。 - 文档全量英文版:
README、CONFIGURATION、CONTRACT、DESIGN、ACCEPTANCE、ECOSYSTEM各有.en.md,新增双语契约docs/I18N.md。
Added
scripts/i18n.mjs:语言解析(resolveLang)+ 成对取词器(makeMsg),门禁脚本与插件层共用。process_init新增lang参数(zh/en/auto,默认auto);语言写进docs/process/.process-kit.json,成为仓库级真源。scaffold/en/**(10 个文件,与中文骨架逐文件对应)、AGENTS.template.en.md、9 份skills/<role>/SKILL.en.md。test/i18n.test.mjs:两套骨架文件清单一致、零残留、标记与 26 键对照表三方一致、语言优先级、英文仓库里各道门禁跑到绿/越界判红且输出零中文。
Changed
- 门禁与工具跟着仓库语言走:6 个门禁/流程脚本的运行期消息、
process_status/gate_summary/process_journal/process_init/process_uninstall的报告、角色技能正文,全部按仓库语言取用;工具描述改为中英并列。 - 换语言 = 重跑升级:
process_init({ upgrade: true, lang: "en" })(框架自有文件先备份后覆盖;PROJECT.md/ 令牌类文件不覆盖,只报告差异)。 - 需求核对件:中文
<ID>-需求核对件.md与英文<ID>-check.md都认,权威判据为 frontmatterkind: requirement-check。 - 文档:README 精简(227 → 172 行)并中英互链;删除「和同类插件的差别」小节与
docs/ADOPTION.md。
Fixed
check-rules的ok()明细此前从不打印(只有N ✓计数)——现在按「❌ → ⚠ → 通过明细」输出,绿也能逐条抽查。- 台账条目缺
automation时,①/⑪ 不再渲染空括号(① TC-x → (…/⑪ TC-x()…),改为显式「未声明 automation」。
升级已有仓库
process_init({ upgrade: true, dryRun: true }) // 先看会动哪些文件
process_init({ upgrade: true }) // 落地(框架自有文件先备份为 <文件>.bak-<时间戳>)
process_init({ upgrade: true, lang: "en" }) // 顺便把仓库切成英文安装
npm install dsh-process-kit@0.9.0
# 或在 DSH 里用 plugin_manager:action=install_bundle, target=dsh-process-kit@0.9.0核验
npm test四项全绿(host / skill-registry / scripts / i18n)。- 本 tag 指向产出 npm tarball 的那棵树,
npm pack与注册表 tarball 逐字节相同:
sha1 261c5ca8cc63e96411cdf8087f74e94a32234a29· 67 files / 1,118,569 B unpacked。 - 用发布包实测:英文骨架 → 落点门禁
18 checked (18 allowed)绿、越界判红、台账门禁绿,输出零中文;中文骨架同一条命令 → 中文输出原样。
说明:0.6.0 / 0.7.0 / 0.8.0 当时没有打 tag,本版起恢复「tag + Release」记录。
v0.9.0 — Bilingual support (Chinese / English)
One process, two languages. Language affects wording only — never write targets or criteria. Existing Chinese repositories need no changes.
Highlights
- Works out of the box for English projects:
process_init({ lang: "en" })lays down the English scaffold, an EnglishAGENTS.mdand English role skills;auto(the default) infers the language from the repository. - The language follows the repository:
PROCESS_KIT_LANG→langin.process-kit.json→lang:inPROJECT.md→ document inference →zh. One language per repository, so artifacts never mix languages. - Language-neutral gate anchors: machine markers above key sections (
process:owner-table/process:registry); the §3 header, all 26 §4/§5 config keys and both requirement-check filenames are accepted in either language. Without a marker every gate falls back to the original Chinese anchors. - Every document has an English edition:
README,CONFIGURATION,CONTRACT,DESIGN,ACCEPTANCE,ECOSYSTEMship as.en.md, plus the new bilingual contractdocs/I18N.md.
Added
scripts/i18n.mjs: language resolution (resolveLang) and the paired message picker (makeMsg), shared by the gate scripts and the plugin layer.process_initgainslang(zh/en/auto, defaultauto); the resolved language is recorded indocs/process/.process-kit.jsonas the repository-level source of truth.scaffold/en/**(10 files mirroring the Chinese scaffold),AGENTS.template.en.md, and 9skills/<role>/SKILL.en.md.test/i18n.test.mjs: identical scaffold file lists, zero residue, markers and the 26-key mapping consistent across three sources, language-resolution priority, and all gates running green / judging out-of-bounds red with zero Chinese in an English repository.
Changed
- Gates and tools follow the repository language: runtime messages of the six gate/journal scripts, the reports of
process_status/gate_summary/process_journal/process_init/process_uninstall, and the role-skill bodies; tool descriptions are bilingual (English then Chinese). - Switching language = re-running the upgrade:
process_init({ upgrade: true, lang: "en" })(framework-owned files are backed up then overwritten;PROJECT.mdand the token files are never overwritten, only reported). - Requirement check: both
<ID>-需求核对件.mdand<ID>-check.mdare recognized; the authoritative criterion is frontmatterkind: requirement-check. - Docs: README trimmed (227 → 172 lines) with zh/en cross-links; the comparison section and
docs/ADOPTION.mdwere removed.
Fixed
check-rulesnever printed itsok()details (only theN ✓count) — it now prints ❌ → ⚠ → passed checks, so a green can be spot-checked criterion by criterion.- With a missing
automationfield, ①/⑪ no longer render empty parentheses, but say explicitly that automation is undeclared.
Upgrading an existing repository
process_init({ upgrade: true, dryRun: true }) // preview which files would change
process_init({ upgrade: true }) // apply (framework files are backed up as <file>.bak-<timestamp>)
process_init({ upgrade: true, lang: "en" }) // also switch the repository to EnglishVerification
npm test: all four suites green (host / skill-registry / scripts / i18n).- This tag points at the tree that produced the npm tarball:
npm packis byte-identical to the registry tarball (sha1 261c5ca8cc63e96411cdf8087f74e94a32234a29, 67 files / 1,118,569 B unpacked). - Checked against the published package: English scaffold ⇒ write-target gate
18 checked (18 allowed)green, out-of-bounds red, rules ledger gate green, zero Chinese; Chinese scaffold with the same command ⇒ Chinese output unchanged.
Note: 0.6.0 / 0.7.0 / 0.8.0 were released without tags; tagging plus Release notes resumes with this version.