dsh-plugin-guide 0.1.1 → 0.2.0

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.es.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **Todo lo que necesitas para construir plugins de [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).**
6
6
 
7
- *Archivo de documentación oficial · primer de Cordis · deep-dives de la comunidad · trampas probadas en batalla · agent skill*
7
+ *Archivo de documentación oficial · primer de Cordis · deep-dives de la comunidad · trampas probadas en batalla · agent skill · toolchain CLI*
8
8
 
9
9
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
10
10
  [![DSH plugin](https://img.shields.io/badge/dsh-plugin-✅-green)](https://github.com/topics/dsh-plugin)
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Surface | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2` |
28
28
  | Node | `^22.19.0 || >=24.0.0` (runtime de DeepSeek Harness) |
29
29
  | Platforms | Todas (bundle ESM plano; sin código nativo, sin red) |
30
30
  | Model | Cualquiera (sin interacción con el modelo) |
@@ -38,6 +38,7 @@
38
38
  - **Primer de Cordis** — los cinco conceptos y la línea de tiempo de mecanismos (repository-plugin introducido 0809, eliminado 0811; los dos canales de instalación).
39
39
  - **20+ trampas del mundo real** con causa raíz + arreglo (copias duales de cordis, trío tsconfig, sesiones zstd multi-frame, junctions de Windows, `latest` obsoleto de npm, …).
40
40
  - **Deep-dives de la comunidad** — 114 repositorios de la comunidad archivados (15 con deep-dive), más un índice fuente completo donde cada hecho enlaza a su origen.
41
+ - **Toolchain CLI** — `dsh-plugin-dev new / check / verify`: genera, verifica estáticamente y valida el empaquetado de plugins DSH; cada check enlaza a la sección de la skill que aplica.
41
42
 
42
43
  ## Knowledge base
43
44
 
@@ -51,8 +52,42 @@
51
52
  | `references/official-docs/` | Copia textual de la documentación oficial del repo (EN + ZH) |
52
53
  | `references/*.md` | Informes de investigación: documentación del repo, sitio web, Cordis, el paper, ecosistema de la comunidad, archivo de 114 repos (15 con deep-dive) |
53
54
  | `scripts/` | Scripts de descarga idempotentes + verificador de integridad + generador de instantáneas de tema |
55
+ | `bin/` · `src/cli/` · `dist/` | El CLI `dsh-plugin-dev`: scaffolder, checker, verifier (TypeScript, empaquetado con tsdown) |
56
+ | `templates/` | Esqueletos TS + JS: plantilla de contrato, Config, tests, cordis.patch.yml, READMEs en cinco idiomas |
54
57
  | `downloads/` | Instantáneas crudas — generadas por `scripts/`, no confirmadas |
55
58
 
59
+ ## CLI toolchain
60
+
61
+ El bundle incluye el CLI `dsh-plugin-dev` sin dependencias de runtime (`bin/` → `dist/dsh-plugin-dev.js` empaquetado con tsdown). Cada check cita la sección de la skill que aplica, para que un agente pueda seguir auditando manualmente.
62
+
63
+ ```sh
64
+ dsh-plugin-dev new <name> [--lang ts|js] [--dir <path>] [--force] [--git]
65
+ dsh-plugin-dev check [--cwd <dir>] [--json] [--strict]
66
+ dsh-plugin-dev verify [--cwd <dir>] [--dsh <bin>] [--pnpm <bin>]
67
+ ```
68
+
69
+ | Subcomando | Qué hace |
70
+ |---|---|
71
+ | `new <name>` | Genera un repo de plugin TS o JS: plantilla de contrato `src/index.ts`, Config de Schemastery, tests, tsdown/vitest, `cordis.patch.yml` comentado, READMEs en cinco idiomas. Idempotente; rechaza destinos no vacíos sin `--force`. |
72
+ | `check` | Checks estáticos: validez de `cordis.patch.yml`, metadatos de `package.json` (puntero `dsh.bundle.patch`, peer deps, engines, lista blanca de files), consistencia de READMEs en cinco idiomas, patrones de línea roja de ingeniería. Emite JSON consumible por CI. |
73
+ | `verify` | `pnpm pack`, luego instala/inicia/desinstala el bundle en un perfil `DSH_HOME` mkdtemp limpio (alineado con `verify:self-contained`). Los fallos reportan la cola del log más sugerencias. |
74
+
75
+ ### CLI configuration
76
+
77
+ El CLI no tiene ajustes hardcodeados — cada uno es un flag o una variable de entorno.
78
+
79
+ | Ajuste | Flag | Env | Por defecto |
80
+ |---|---|---|---|
81
+ | Directorio de plantillas | — | `DSH_PLUGIN_DEV_TEMPLATES` | `<package>/templates` |
82
+ | Binario dsh | `--dsh` | `DSH_PLUGIN_DEV_DSH` | `dsh` |
83
+ | Binario pnpm | `--pnpm` | `DSH_PLUGIN_DEV_PNPM` | `pnpm` |
84
+ | Timeout de instalación/pack | `--timeout` | `DSH_PLUGIN_DEV_TIMEOUT` | `300000` ms |
85
+ | Timeout de smoke headless | `--smoke-timeout` | `DSH_PLUGIN_DEV_SMOKE_TIMEOUT` | `120000` ms |
86
+
87
+ ### Upstream roadmap
88
+
89
+ `dsh-plugin-dev` es un candidato upstream para el CLI oficial de desarrollo de plugins (ítem C12): el scaffolder/checker/verifier son las capas mecánicas, mientras que `SKILL.md` + `guide/` siguen siendo la capa cognitiva.
90
+
56
91
  ## Quick start
57
92
 
58
93
  ```sh
@@ -68,6 +103,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
68
103
 
69
104
  Luego pídele a tu agente: *"Usa la skill dsh-plugin-guide para construirme un plugin de …."*
70
105
 
106
+ O maneja el CLI directamente:
107
+
108
+ ```sh
109
+ npx dsh-plugin-guide new hello-plugin # genera un repo de plugin TS
110
+ npx dsh-plugin-guide check --json # check estático
111
+ npx dsh-plugin-guide verify # pack + smoke de perfil limpio
112
+ ```
113
+
71
114
  ## Install & uninstall
72
115
 
73
116
  - **canal git** (último `main`): `dsh plugin --profile web add github:PerryLink/dsh-plugin-guide#<sha>` — fija un commit para reproducibilidad; el punto de entrada es JS ESM plano, sin paso de build.
@@ -94,13 +137,14 @@ El instalador omite `downloads/` (generado) y `.github/`, y luego verifica cada
94
137
 
95
138
  ## Configuration
96
139
 
97
- `dsh-plugin-guide` no expone ningún `Config` de Schemastery — registra la base de conocimiento como una skill de agente sin claves ajustables.
140
+ El bundle de skill no expone ningún `Config` de Schemastery — registra la base de conocimiento como una skill de agente sin claves ajustables. El CLI `dsh-plugin-dev` lee sus ajustes de flags y variables de entorno `DSH_PLUGIN_DEV_*` (ver [CLI toolchain](#cli-toolchain)).
98
141
 
99
142
  ## Tools & surfaces
100
143
 
101
144
  | Surface | Kind | Notes |
102
145
  |---|---|---|
103
146
  | `dsh-plugin-guide` | skill | Registrada vía `ctx.skills`; carga `SKILL.md` + `./guide/` + `./references/` bajo demanda |
147
+ | `dsh-plugin-dev` | bin (CLI) | Subcomandos `new` / `check` / `verify`; no es una fila de plugin DSH |
104
148
 
105
149
  ## Permissions & data
106
150
 
@@ -133,9 +177,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # rutas críticas
133
177
 
134
178
  ## Development
135
179
 
136
- El bundle es ESM plano sin paso de build. CI ejecuta la puerta de integridad en cada push y pull request:
180
+ El bundle de skill (`index.js`) es ESM plano, sin paso de build; el CLI `dsh-plugin-dev` es TypeScript compilado con tsdown. Puertas:
137
181
 
138
182
  ```sh
183
+ pnpm install --frozen-lockfile
184
+ pnpm run typecheck && pnpm run typecheck:ci
185
+ pnpm test
186
+ pnpm run build
187
+ pnpm run verify:artifacts # auto-check + smoke de scaffold (sin red)
188
+ pnpm run verify:self-contained # pack + smoke de instalación/inicio/desinstalación en perfil limpio
189
+ pnpm pack
139
190
  pwsh -File scripts/verify-kit.ps1 # rutas críticas + escaneo de enlaces (+ deriva de docs con -Checkout <checkout>)
140
191
  ```
141
192
 
package/README.hi.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) प्लगइन बनाने के लिए आपकी ज़रूरत की हर चीज़।**
6
6
 
7
- *आधिकारिक दस्तावेज़ संग्रह · Cordis प्राइमर · सामुदायिक गहन-विश्लेषण · युद्ध-परीक्षित नुकसान · agent skill*
7
+ *आधिकारिक दस्तावेज़ संग्रह · Cordis प्राइमर · सामुदायिक गहन-विश्लेषण · युद्ध-परीक्षित नुकसान · agent skill · CLI टूलचेन*
8
8
 
9
9
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
10
10
  [![DSH plugin](https://img.shields.io/badge/dsh-plugin-✅-green)](https://github.com/topics/dsh-plugin)
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Surface | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2` |
28
28
  | Node | `^22.19.0 || >=24.0.0` (DeepSeek Harness रनटाइम) |
29
29
  | Platforms | सभी (सादा ESM बंडल; कोई नेटिव कोड नहीं, कोई नेटवर्क नहीं) |
30
30
  | Model | कोई भी (कोई मॉडल अंतःक्रिया नहीं) |
@@ -38,6 +38,7 @@
38
38
  - **Cordis प्राइमर** — पाँच अवधारणाएँ और तंत्र समयरेखा (repository-plugin 0809 को जोड़ा, 0811 को हटाया; दो इंस्टॉल चैनल)।
39
39
  - **20+ वास्तविक-दुनिया नुकसान** मूल कारण + समाधान सहित (cordis दोहरी प्रतियाँ, tsconfig त्रयी, बहु-फ़्रेम zstd सत्र, Windows junction, पुराना npm `latest`, …)।
40
40
  - **सामुदायिक गहन-विश्लेषण** — 114 सामुदायिक रिपॉज़िटरी संग्रहीत (15 गहन-विश्लेषित), साथ ही पूर्ण स्रोत सूची जहाँ हर तथ्य अपने मूल से जुड़ा है।
41
+ - **CLI टूलचेन** — `dsh-plugin-dev new / check / verify`: DSH प्लगइन स्कैफ़ोल्ड करना, स्थैतिक जाँच और पैक-सत्यापन; हर जाँच उस skill अनुभाग से जुड़ती है जिसे वह लागू करती है।
41
42
 
42
43
  ## Knowledge base
43
44
 
@@ -51,8 +52,42 @@
51
52
  | `references/official-docs/` | आधिकारिक रेपो दस्तावेज़ों की शब्दशः प्रति (EN + ZH) |
52
53
  | `references/*.md` | शोध रिपोर्ट: रेपो दस्तावेज़, वेबसाइट, Cordis, पेपर, सामुदायिक पारिस्थितिकी, 114-रेपो संग्रह (15 गहन-विश्लेषित) |
53
54
  | `scripts/` | इडेम्पोटेंट डाउनलोड स्क्रिप्ट + अखंडता जाँचकर्ता + विषय स्नैपशॉट जनरेटर |
55
+ | `bin/` · `src/cli/` · `dist/` | `dsh-plugin-dev` CLI: स्कैफ़ोल्डर, जाँचकर्ता, सत्यापक (TypeScript, tsdown-बंडल) |
56
+ | `templates/` | TS + JS स्कैफ़ोल्ड कंकाल: अनुबंध टेम्प्लेट, Config, टेस्ट, cordis.patch.yml, पाँच-भाषा README |
54
57
  | `downloads/` | कच्चे स्नैपशॉट — `scripts/` से उत्पन्न, कमिट नहीं |
55
58
 
59
+ ## CLI toolchain
60
+
61
+ बंडल शून्य-रनटाइम-निर्भरता `dsh-plugin-dev` CLI लेकर आता है (`bin/` → tsdown-बंडल `dist/dsh-plugin-dev.js`). हर जाँच उस skill अनुभाग को उद्धृत करती है जिसे वह लागू करती है, ताकि एजेंट मैन्युअल ऑडिट जारी रख सके।
62
+
63
+ ```sh
64
+ dsh-plugin-dev new <name> [--lang ts|js] [--dir <path>] [--force] [--git]
65
+ dsh-plugin-dev check [--cwd <dir>] [--json] [--strict]
66
+ dsh-plugin-dev verify [--cwd <dir>] [--dsh <bin>] [--pnpm <bin>]
67
+ ```
68
+
69
+ | उप-कमांड | क्या करता है |
70
+ |---|---|
71
+ | `new <name>` | TS या JS प्लगइन रेपो स्कैफ़ोल्ड करता है: `src/index.ts` अनुबंध टेम्प्लेट, Schemastery Config, टेस्ट, tsdown/vitest, टिप्पणी-युक्त `cordis.patch.yml`, पाँच-भाषा README। इडेम्पोटेंट; `--force` के बिना गैर-खाली लक्ष्य को अस्वीकार करता है। |
72
+ | `check` | स्थैतिक जाँच: `cordis.patch.yml` वैधता, `package.json` मेटाडेटा (`dsh.bundle.patch` पॉइंटर, peer deps, engines, files श्वेतसूची), पाँच-भाषा README संगति, इंजीनियरिंग रेड-लाइन पैटर्न। CI-उपभोज्य JSON उत्सर्जित करता है। |
73
+ | `verify` | `pnpm pack`, फिर साफ़ mkdtemp `DSH_HOME` प्रोफ़ाइल में बंडल को इंस्टॉल/स्टार्ट/अनइंस्टॉल स्मोक (आधिकारिक `verify:self-contained` से संरेखित)। विफलता लॉग टेल + सुझाव देती है। |
74
+
75
+ ### CLI configuration
76
+
77
+ CLI में कोई हार्डकोडेड ट्यूनेबल नहीं — हर एक flag या पर्यावरण चर है।
78
+
79
+ | ट्यूनेबल | Flag | Env | डिफ़ॉल्ट |
80
+ |---|---|---|---|
81
+ | टेम्प्लेट निर्देशिका | — | `DSH_PLUGIN_DEV_TEMPLATES` | `<package>/templates` |
82
+ | dsh बाइनरी | `--dsh` | `DSH_PLUGIN_DEV_DSH` | `dsh` |
83
+ | pnpm बाइनरी | `--pnpm` | `DSH_PLUGIN_DEV_PNPM` | `pnpm` |
84
+ | इंस्टॉल/पैक टाइमआउट | `--timeout` | `DSH_PLUGIN_DEV_TIMEOUT` | `300000` ms |
85
+ | हेडलेस स्मोक टाइमआउट | `--smoke-timeout` | `DSH_PLUGIN_DEV_SMOKE_TIMEOUT` | `120000` ms |
86
+
87
+ ### Upstream roadmap
88
+
89
+ `dsh-plugin-dev` आधिकारिक प्लगइन-विकास CLI (नियोजित आइटम C12) का अपस्ट्रीम उम्मीदवार है: स्कैफ़ोल्डर/जाँचकर्ता/सत्यापक यांत्रिक परतें हैं, जबकि `SKILL.md` + `guide/` संज्ञानात्मक परत बने रहते हैं।
90
+
56
91
  ## Quick start
57
92
 
58
93
  ```sh
@@ -68,6 +103,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
68
103
 
69
104
  फिर बस अपने एजेंट से पूछें: *"मुझे … प्लगइन बनाने के लिए dsh-plugin-guide skill का उपयोग करो।"*
70
105
 
106
+ या सीधे CLI चलाएँ:
107
+
108
+ ```sh
109
+ npx dsh-plugin-guide new hello-plugin # TS प्लगइन रेपो स्कैफ़ोल्ड करें
110
+ npx dsh-plugin-guide check --json # स्थैतिक जाँच
111
+ npx dsh-plugin-guide verify # पैक + साफ़ प्रोफ़ाइल स्मोक
112
+ ```
113
+
71
114
  ## Install & uninstall
72
115
 
73
116
  - **git चैनल** (नवीनतम `main`): `dsh plugin --profile web add github:PerryLink/dsh-plugin-guide#<sha>` — पुनरुत्पादन के लिए एक कमिट पिन करें; प्रवेश बिंदु सादा ESM JS है, कोई बिल्ड चरण नहीं।
@@ -94,13 +137,14 @@ pwsh -File scripts/install-skill.ps1 -Target ~/.deepseek/skills/dsh-plugin-guide
94
137
 
95
138
  ## Configuration
96
139
 
97
- `dsh-plugin-guide` कोई Schemastery `Config` उजागर नहीं करता — यह ज्ञान-आधार को बिना किसी ट्यूनेबल कुंजी के एक agent skill के रूप में पंजीकृत करता है।
140
+ skill बंडल कोई Schemastery `Config` उजागर नहीं करता — यह ज्ञान-आधार को बिना किसी ट्यूनेबल कुंजी के एक agent skill के रूप में पंजीकृत करता है। `dsh-plugin-dev` CLI अपने ट्यूनेबल flags और `DSH_PLUGIN_DEV_*` पर्यावरण चरों से पढ़ता है ([CLI toolchain](#cli-toolchain) देखें)।
98
141
 
99
142
  ## Tools & surfaces
100
143
 
101
144
  | Surface | Kind | Notes |
102
145
  |---|---|---|
103
146
  | `dsh-plugin-guide` | skill | `ctx.skills` से पंजीकृत; माँग पर `SKILL.md` + `./guide/` + `./references/` लोड करता है |
147
+ | `dsh-plugin-dev` | bin (CLI) | `new` / `check` / `verify` उप-कमांड; DSH प्लगइन पंक्ति नहीं |
104
148
 
105
149
  ## Permissions & data
106
150
 
@@ -133,9 +177,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # महत्व
133
177
 
134
178
  ## Development
135
179
 
136
- बंडल सादा ESM है कोई बिल्ड चरण नहीं। CI हर push और pull request पर अखंडता द्वार चलाता है:
180
+ skill बंडल (`index.js`) सादा ESM है, कोई बिल्ड चरण नहीं; `dsh-plugin-dev` CLI TypeScript है, tsdown से बिल्ट। द्वार:
137
181
 
138
182
  ```sh
183
+ pnpm install --frozen-lockfile
184
+ pnpm run typecheck && pnpm run typecheck:ci
185
+ pnpm test
186
+ pnpm run build
187
+ pnpm run verify:artifacts # आत्म-जाँच + स्कैफ़ोल्ड स्मोक (कोई नेटवर्क नहीं)
188
+ pnpm run verify:self-contained # पैक + साफ़ प्रोफ़ाइल इंस्टॉल/स्टार्ट/अनइंस्टॉल स्मोक
189
+ pnpm pack
139
190
  pwsh -File scripts/verify-kit.ps1 # महत्वपूर्ण पथ + लिंक स्कैन (-Checkout <checkout> से दस्तावेज़ विचलन)
140
191
  ```
141
192
 
package/README.md CHANGED
@@ -1,10 +1,11 @@
1
1
  <div align="center">
2
2
 
3
3
  # 🐳 dsh-plugin-guide
4
+ [![Gitee](https://img.shields.io/badge/Gitee-mirror-c71d23?logo=gitee)](https://gitee.com/perrylink/dsh-plugin-guide)
4
5
 
5
6
  **Everything you need to build [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugins.**
6
7
 
7
- *Official docs archive · Cordis primer · community deep-dives · battle-tested pitfalls · agent skill*
8
+ *Official docs archive · Cordis primer · community deep-dives · battle-tested pitfalls · agent skill · CLI toolchain*
8
9
 
9
10
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
10
11
  [![DSH plugin](https://img.shields.io/badge/dsh-plugin-✅-green)](https://github.com/topics/dsh-plugin)
@@ -24,20 +25,21 @@
24
25
 
25
26
  | Surface | Status |
26
27
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8` |
28
+ | Harness | DeepSeek Harness `0.1.1-rc.2` |
28
29
  | Node | `^22.19.0 || >=24.0.0` (DeepSeek Harness runtime) |
29
30
  | Platforms | All (plain ESM bundle; no native code, no network) |
30
31
  | Model | Any (no model interaction) |
31
32
 
32
33
  ## What you get
33
34
 
34
- `dsh-plugin-guide` is the DSH plugin-development knowledge base, packaged as an installable bundle that registers the whole thing as the `dsh-plugin-guide` agent skill. The skill stays visible in every session catalog and loads its workflow steps, official docs, and community deep-dives on demand.
35
+ `dsh-plugin-guide` is the DSH plugin-development knowledge base plus a CLI toolchain, packaged as one installable bundle. The knowledge base registers as the `dsh-plugin-guide` agent skill (visible in every session catalog, loading workflow steps, official docs, and community deep-dives on demand); the `dsh-plugin-dev` CLI adds three mechanical layers on top of it.
35
36
 
36
37
  - **Plugin contract & hard rules** — effects/disposers, waterfall `next()`, model-visible ⟺ logged, Schemastery config.
37
38
  - **Official docs archive** — a verbatim copy of the official repo docs (EN + ZH), byte-identical to upstream at the last verified snapshot.
38
39
  - **Cordis primer** — the five concepts and the mechanism timeline (repository-plugin introduced 0809, removed 0811; the two install channels).
39
40
  - **20+ real-world pitfalls** with root cause + fix (cordis dual copies, tsconfig trio, multi-frame zstd sessions, Windows junctions, stale npm `latest`, …).
40
41
  - **Community deep-dives** — 114 community repositories archived (15 deep-dived), plus a full source index where every fact links to its origin.
42
+ - **CLI toolchain** — `dsh-plugin-dev new / check / verify`: scaffold, static-check, and pack-verify DSH plugins; every check links back to the skill section it enforces.
41
43
 
42
44
  ## Knowledge base
43
45
 
@@ -51,8 +53,42 @@
51
53
  | `references/official-docs/` | Verbatim copy of the official repo docs (EN + ZH) |
52
54
  | `references/*.md` | Research reports: repo docs, website, Cordis, the paper, community ecosystem, 114-repo archive (15 deep-dived) |
53
55
  | `scripts/` | Idempotent download scripts + integrity checker + topic snapshot generator |
56
+ | `bin/` · `src/cli/` · `dist/` | The `dsh-plugin-dev` CLI: scaffolder, checker, verifier (TypeScript, tsdown-bundled) |
57
+ | `templates/` | TS + JS scaffold skeletons: contract template, Config, tests, cordis.patch.yml, five-language READMEs |
54
58
  | `downloads/` | Raw snapshots — generated by `scripts/`, not committed |
55
59
 
60
+ ## CLI toolchain
61
+
62
+ The bundle ships the zero-runtime-dependency `dsh-plugin-dev` CLI (`bin/` → tsdown-bundled `dist/dsh-plugin-dev.js`). Each check cites the skill section it enforces, so an agent can keep auditing manually.
63
+
64
+ ```sh
65
+ dsh-plugin-dev new <name> [--lang ts|js] [--dir <path>] [--force] [--git]
66
+ dsh-plugin-dev check [--cwd <dir>] [--json] [--strict]
67
+ dsh-plugin-dev verify [--cwd <dir>] [--dsh <bin>] [--pnpm <bin>]
68
+ ```
69
+
70
+ | Subcommand | What it does |
71
+ |---|---|
72
+ | `new <name>` | Scaffolds a TS or JS plugin repo: `src/index.ts` contract template, Schemastery Config, tests, tsdown/vitest, commented `cordis.patch.yml`, five-language READMEs. Idempotent; refuses non-empty targets without `--force`. |
73
+ | `check` | Static checks: `cordis.patch.yml` validity, `package.json` metadata (`dsh.bundle.patch` pointer, peer deps, engines, files whitelist), five-language README consistency, engineering red-line patterns. Emits CI-consumable JSON. |
74
+ | `verify` | `pnpm pack`, then install/start/uninstall the bundle in a clean mkdtemp `DSH_HOME` profile (aligned with `verify:self-contained`). Failures report the log tail plus suggestions. |
75
+
76
+ ### CLI configuration
77
+
78
+ The CLI has no hardcoded tunables — each is a flag or an environment variable.
79
+
80
+ | Tunable | Flag | Env | Default |
81
+ |---|---|---|---|
82
+ | Templates directory | — | `DSH_PLUGIN_DEV_TEMPLATES` | `<package>/templates` |
83
+ | dsh binary | `--dsh` | `DSH_PLUGIN_DEV_DSH` | `dsh` |
84
+ | pnpm binary | `--pnpm` | `DSH_PLUGIN_DEV_PNPM` | `pnpm` |
85
+ | Install/pack timeout | `--timeout` | `DSH_PLUGIN_DEV_TIMEOUT` | `300000` ms |
86
+ | Headless smoke timeout | `--smoke-timeout` | `DSH_PLUGIN_DEV_SMOKE_TIMEOUT` | `120000` ms |
87
+
88
+ ### Upstream roadmap
89
+
90
+ `dsh-plugin-dev` is an upstream candidate for the official plugin-development CLI (planned item C12): the scaffolder/checker/verifier are the mechanical layers, while `SKILL.md` + `guide/` stay the cognitive layer.
91
+
56
92
  ## Quick start
57
93
 
58
94
  ```sh
@@ -68,6 +104,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
68
104
 
69
105
  Then just ask your agent: *"Use the dsh-plugin-guide skill to build me a … plugin."*
70
106
 
107
+ Or drive the CLI directly:
108
+
109
+ ```sh
110
+ npx dsh-plugin-guide new hello-plugin # scaffold a TS plugin repo
111
+ npx dsh-plugin-guide check --json # static-check it
112
+ npx dsh-plugin-guide verify # pack + clean-profile smoke
113
+ ```
114
+
71
115
  ## Install & uninstall
72
116
 
73
117
  - **git channel** (latest `main`): `dsh plugin --profile web add github:PerryLink/dsh-plugin-guide#<sha>` — pin a commit for reproducibility; the entry point is plain ESM JS, no build step.
@@ -94,13 +138,14 @@ The installer skips `downloads/` (generated) and `.github/`, then verifies every
94
138
 
95
139
  ## Configuration
96
140
 
97
- `dsh-plugin-guide` exposes no Schemastery `Config` — it registers the knowledge base as an agent skill with no tunable keys.
141
+ The skill bundle exposes no Schemastery `Config` — it registers the knowledge base as an agent skill with no tunable keys. The `dsh-plugin-dev` CLI reads its tunables from flags and `DSH_PLUGIN_DEV_*` environment variables (see [CLI toolchain](#cli-toolchain)).
98
142
 
99
143
  ## Tools & surfaces
100
144
 
101
145
  | Surface | Kind | Notes |
102
146
  |---|---|---|
103
147
  | `dsh-plugin-guide` | skill | Registered via `ctx.skills`; loads `SKILL.md` + `./guide/` + `./references/` on demand |
148
+ | `dsh-plugin-dev` | bin (CLI) | `new` / `check` / `verify` subcommands; not a DSH plugin row |
104
149
 
105
150
  ## Permissions & data
106
151
 
@@ -133,9 +178,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # critical paths +
133
178
 
134
179
  ## Development
135
180
 
136
- The bundle is plain ESM no build step. CI runs the integrity gate on every push and pull request:
181
+ The skill bundle (`index.js`) is plain ESM with no build step; the `dsh-plugin-dev` CLI is TypeScript built by tsdown. Gates:
137
182
 
138
183
  ```sh
184
+ pnpm install --frozen-lockfile
185
+ pnpm run typecheck && pnpm run typecheck:ci
186
+ pnpm test
187
+ pnpm run build
188
+ pnpm run verify:artifacts # dogfood self-check + scaffold smoke (no network)
189
+ pnpm run verify:self-contained # pack + clean-profile install/start/uninstall smoke
190
+ pnpm pack
139
191
  pwsh -File scripts/verify-kit.ps1 # critical paths + link scan (+ docs drift with -Checkout <checkout>)
140
192
  ```
141
193
 
package/README.pt.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **Tudo o que você precisa para construir plugins do [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness).**
6
6
 
7
- *Arquivo de documentação oficial · primer de Cordis · deep-dives da comunidade · armadilhas testadas em batalha · agent skill*
7
+ *Arquivo de documentação oficial · primer de Cordis · deep-dives da comunidade · armadilhas testadas em batalha · agent skill · toolchain CLI*
8
8
 
9
9
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
10
10
  [![DSH plugin](https://img.shields.io/badge/dsh-plugin-✅-green)](https://github.com/topics/dsh-plugin)
@@ -24,7 +24,7 @@
24
24
 
25
25
  | Surface | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2` |
28
28
  | Node | `^22.19.0 || >=24.0.0` (runtime do DeepSeek Harness) |
29
29
  | Platforms | Todas (bundle ESM puro; sem código nativo, sem rede) |
30
30
  | Model | Qualquer (sem interação com o modelo) |
@@ -38,6 +38,7 @@ O `dsh-plugin-guide` é a base de conhecimento de desenvolvimento de plugins DSH
38
38
  - **Primer de Cordis** — os cinco conceitos e a linha do tempo de mecanismos (repository-plugin introduzido 0809, removido 0811; os dois canais de instalação).
39
39
  - **20+ armadilhas do mundo real** com causa raiz + correção (cópias duplas de cordis, trio tsconfig, sessões zstd multi-frame, junctions do Windows, `latest` obsoleto do npm, …).
40
40
  - **Deep-dives da comunidade** — 114 repositórios da comunidade arquivados (15 com deep-dive), mais um índice fonte completo onde cada fato aponta para sua origem.
41
+ - **Toolchain CLI** — `dsh-plugin-dev new / check / verify`: gerar, verificar estaticamente e validar o empacotamento de plugins DSH; cada check aponta para a seção da skill que ele aplica.
41
42
 
42
43
  ## Knowledge base
43
44
 
@@ -51,8 +52,42 @@ O `dsh-plugin-guide` é a base de conhecimento de desenvolvimento de plugins DSH
51
52
  | `references/official-docs/` | Cópia textual da documentação oficial do repo (EN + ZH) |
52
53
  | `references/*.md` | Relatórios de pesquisa: docs do repo, site, Cordis, o paper, ecossistema da comunidade, arquivo de 114 repos (15 com deep-dive) |
53
54
  | `scripts/` | Scripts de download idempotentes + verificador de integridade + gerador de instantânea de tópico |
55
+ | `bin/` · `src/cli/` · `dist/` | O CLI `dsh-plugin-dev`: scaffolder, checker, verifier (TypeScript, empacotado com tsdown) |
56
+ | `templates/` | Esqueletos TS + JS: modelo de contrato, Config, tests, cordis.patch.yml, READMEs em cinco idiomas |
54
57
  | `downloads/` | Instantâneas cruas — geradas por `scripts/`, não commitadas |
55
58
 
59
+ ## CLI toolchain
60
+
61
+ O bundle inclui o CLI `dsh-plugin-dev` sem dependências de runtime (`bin/` → `dist/dsh-plugin-dev.js` empacotado com tsdown). Cada check cita a seção da skill que ele aplica, para que um agente possa continuar auditando manualmente.
62
+
63
+ ```sh
64
+ dsh-plugin-dev new <name> [--lang ts|js] [--dir <path>] [--force] [--git]
65
+ dsh-plugin-dev check [--cwd <dir>] [--json] [--strict]
66
+ dsh-plugin-dev verify [--cwd <dir>] [--dsh <bin>] [--pnpm <bin>]
67
+ ```
68
+
69
+ | Subcomando | O que faz |
70
+ |---|---|
71
+ | `new <name>` | Gera um repo de plugin TS ou JS: modelo de contrato `src/index.ts`, Config de Schemastery, tests, tsdown/vitest, `cordis.patch.yml` comentado, READMEs em cinco idiomas. Idempotente; recusa destinos não vazios sem `--force`. |
72
+ | `check` | Checks estáticos: validade de `cordis.patch.yml`, metadados de `package.json` (ponteiro `dsh.bundle.patch`, peer deps, engines, whitelist de files), consistência de READMEs em cinco idiomas, padrões de linha vermelha de engenharia. Emite JSON consumível por CI. |
73
+ | `verify` | `pnpm pack`, depois instala/inicia/desinstala o bundle em um perfil `DSH_HOME` mkdtemp limpo (alinhado com `verify:self-contained`). Falhas reportam a cauda do log mais sugestões. |
74
+
75
+ ### CLI configuration
76
+
77
+ O CLI não tem ajustes hardcoded — cada um é um flag ou uma variável de ambiente.
78
+
79
+ | Ajuste | Flag | Env | Padrão |
80
+ |---|---|---|---|
81
+ | Diretório de templates | — | `DSH_PLUGIN_DEV_TEMPLATES` | `<package>/templates` |
82
+ | Binário dsh | `--dsh` | `DSH_PLUGIN_DEV_DSH` | `dsh` |
83
+ | Binário pnpm | `--pnpm` | `DSH_PLUGIN_DEV_PNPM` | `pnpm` |
84
+ | Timeout de instalação/pack | `--timeout` | `DSH_PLUGIN_DEV_TIMEOUT` | `300000` ms |
85
+ | Timeout de smoke headless | `--smoke-timeout` | `DSH_PLUGIN_DEV_SMOKE_TIMEOUT` | `120000` ms |
86
+
87
+ ### Upstream roadmap
88
+
89
+ O `dsh-plugin-dev` é um candidato upstream para o CLI oficial de desenvolvimento de plugins (item C12): o scaffolder/checker/verifier são as camadas mecânicas, enquanto `SKILL.md` + `guide/` seguem sendo a camada cognitiva.
90
+
56
91
  ## Quick start
57
92
 
58
93
  ```sh
@@ -68,6 +103,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
68
103
 
69
104
  Depois é só pedir ao seu agente: *"Use a skill dsh-plugin-guide para me construir um plugin de …."*
70
105
 
106
+ Ou use o CLI diretamente:
107
+
108
+ ```sh
109
+ npx dsh-plugin-guide new hello-plugin # gera um repo de plugin TS
110
+ npx dsh-plugin-guide check --json # check estático
111
+ npx dsh-plugin-guide verify # pack + smoke de perfil limpo
112
+ ```
113
+
71
114
  ## Install & uninstall
72
115
 
73
116
  - **canal git** (último `main`): `dsh plugin --profile web add github:PerryLink/dsh-plugin-guide#<sha>` — fixe um commit para reprodutibilidade; o ponto de entrada é JS ESM puro, sem etapa de build.
@@ -94,13 +137,14 @@ O instalador pula `downloads/` (gerado) e `.github/`, e então verifica cada arq
94
137
 
95
138
  ## Configuration
96
139
 
97
- O `dsh-plugin-guide` não expõe nenhum `Config` de Schemastery — ele registra a base de conhecimento como uma agent skill sem chaves ajustáveis.
140
+ O bundle de skill não expõe nenhum `Config` de Schemastery — ele registra a base de conhecimento como uma agent skill sem chaves ajustáveis. O CLI `dsh-plugin-dev` lê seus ajustes de flags e variáveis de ambiente `DSH_PLUGIN_DEV_*` (veja [CLI toolchain](#cli-toolchain)).
98
141
 
99
142
  ## Tools & surfaces
100
143
 
101
144
  | Surface | Kind | Notes |
102
145
  |---|---|---|
103
146
  | `dsh-plugin-guide` | skill | Registrada via `ctx.skills`; carrega `SKILL.md` + `./guide/` + `./references/` sob demanda |
147
+ | `dsh-plugin-dev` | bin (CLI) | Subcomandos `new` / `check` / `verify`; não é uma linha de plugin DSH |
104
148
 
105
149
  ## Permissions & data
106
150
 
@@ -133,9 +177,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # caminhos crític
133
177
 
134
178
  ## Development
135
179
 
136
- O bundle é ESM puro sem etapa de build. O CI executa a porta de integridade em cada push e pull request:
180
+ O bundle de skill (`index.js`) é ESM puro, sem etapa de build; o CLI `dsh-plugin-dev` é TypeScript compilado com tsdown. Portas:
137
181
 
138
182
  ```sh
183
+ pnpm install --frozen-lockfile
184
+ pnpm run typecheck && pnpm run typecheck:ci
185
+ pnpm test
186
+ pnpm run build
187
+ pnpm run verify:artifacts # auto-check + smoke de scaffold (sem rede)
188
+ pnpm run verify:self-contained # pack + smoke de instalação/início/desinstalação em perfil limpo
189
+ pnpm pack
139
190
  pwsh -File scripts/verify-kit.ps1 # caminhos críticos + varredura de links (+ deriva de docs com -Checkout <checkout>)
140
191
  ```
141
192
 
package/README.zh.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **构建 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 插件所需的一切。**
6
6
 
7
- *官方文档档案 · Cordis 入门 · 社区深读 · 实战踩坑 · agent 技能*
7
+ *官方文档档案 · Cordis 入门 · 社区深读 · 实战踩坑 · agent 技能 · CLI 工具链*
8
8
 
9
9
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
10
10
  [![DSH plugin](https://img.shields.io/badge/dsh-plugin-✅-green)](https://github.com/topics/dsh-plugin)
@@ -24,20 +24,21 @@
24
24
 
25
25
  | Surface | Status |
26
26
  |---|---|
27
- | Harness | DeepSeek Harness `0.1.0-rc.8` |
27
+ | Harness | DeepSeek Harness `0.1.1-rc.2` |
28
28
  | Node | `^22.19.0 || >=24.0.0`(DeepSeek Harness 运行时) |
29
29
  | Platforms | 全部(纯 ESM bundle;无原生代码、无网络) |
30
30
  | Model | 任意(无模型交互) |
31
31
 
32
32
  ## What you get
33
33
 
34
- `dsh-plugin-guide` 是 DSH 插件开发知识库,打包为可安装 bundle,把整份内容注册为 `dsh-plugin-guide` agent 技能。该技能在每个会话目录中都可见,并按需加载其工作流步骤、官方文档与社区深读。
34
+ `dsh-plugin-guide` 是 DSH 插件开发知识库加 CLI 工具链,打包为一个可安装 bundle。知识库注册为 `dsh-plugin-guide` agent 技能(在每个会话目录可见,按需加载工作流步骤、官方文档与社区深读);`dsh-plugin-dev` CLI 在其之上提供三个机械层。
35
35
 
36
36
  - **插件契约与红线** —— effect/disposer、waterfall `next()`、模型可见 ⟺ 已记录、Schemastery 配置。
37
37
  - **官方文档档案** —— 官方仓库文档(英 + 中)逐字副本,在最近核验快照处与上游逐字节一致。
38
38
  - **Cordis 入门** —— 五个概念与机制时间线(repository-plugin 0809 引入、0811 移除;两条安装通道)。
39
39
  - **20+ 个实战踩坑** —— 附根因 + 修法(cordis 双副本、tsconfig 三件套、多帧 zstd 会话、Windows junction、过期 npm `latest`…)。
40
40
  - **社区深读** —— 归档 114 个社区仓库(15 个深读),外加每条事实都链回出处的完整来源索引。
41
+ - **CLI 工具链** —— `dsh-plugin-dev new / check / verify`:脚手架、静态检查、打包验证 DSH 插件;每个检查项都链回它强制执行的技能章节。
41
42
 
42
43
  ## Knowledge base
43
44
 
@@ -51,8 +52,42 @@
51
52
  | `references/official-docs/` | 官方仓库文档逐字副本(英 + 中) |
52
53
  | `references/*.md` | 调研报告:仓库文档、网站、Cordis、论文、社区生态、114 仓库归档(15 个深读) |
53
54
  | `scripts/` | 幂等下载脚本 + 完整性检查器 + 话题快照生成器 |
55
+ | `bin/` · `src/cli/` · `dist/` | `dsh-plugin-dev` CLI:脚手架、检查器、验证器(TypeScript,tsdown 打包) |
56
+ | `templates/` | TS + JS 脚手架骨架:契约模板、Config、tests、cordis.patch.yml、五语 README |
54
57
  | `downloads/` | 原始快照 —— 由 `scripts/` 生成、不入库 |
55
58
 
59
+ ## CLI toolchain
60
+
61
+ bundle 附带零运行时依赖的 `dsh-plugin-dev` CLI(`bin/` → tsdown 打包的 `dist/dsh-plugin-dev.js`)。每个检查项都引用它强制执行的技能章节,agent 可继续人工审计。
62
+
63
+ ```sh
64
+ dsh-plugin-dev new <name> [--lang ts|js] [--dir <path>] [--force] [--git]
65
+ dsh-plugin-dev check [--cwd <dir>] [--json] [--strict]
66
+ dsh-plugin-dev verify [--cwd <dir>] [--dsh <bin>] [--pnpm <bin>]
67
+ ```
68
+
69
+ | 子命令 | 作用 |
70
+ |---|---|
71
+ | `new <name>` | 脚手架生成 TS 或 JS 插件仓库:`src/index.ts` 契约模板、Schemastery Config、tests、tsdown/vitest、注释齐全的 `cordis.patch.yml`、五语 README。幂等;无 `--force` 时拒绝覆盖非空目录。 |
72
+ | `check` | 静态检查:`cordis.patch.yml` 合法性、`package.json` 元数据(`dsh.bundle.patch` 指向、peer 依赖、engines、files 白名单)、五语 README 一致性、工程红线模式。输出 CI 可消费的 JSON。 |
73
+ | `verify` | `pnpm pack` 后装入干净 mkdtemp `DSH_HOME` profile 做安装/启动/卸载冒烟(对齐 `verify:self-contained`)。失败给出日志尾部与建议。 |
74
+
75
+ ### CLI configuration
76
+
77
+ CLI 无硬编码可调参数——每个都是 flag 或环境变量。
78
+
79
+ | 可调项 | Flag | 环境变量 | 默认 |
80
+ |---|---|---|---|
81
+ | 模板目录 | — | `DSH_PLUGIN_DEV_TEMPLATES` | `<package>/templates` |
82
+ | dsh 二进制 | `--dsh` | `DSH_PLUGIN_DEV_DSH` | `dsh` |
83
+ | pnpm 二进制 | `--pnpm` | `DSH_PLUGIN_DEV_PNPM` | `pnpm` |
84
+ | 安装/打包超时 | `--timeout` | `DSH_PLUGIN_DEV_TIMEOUT` | `300000` ms |
85
+ | headless 冒烟超时 | `--smoke-timeout` | `DSH_PLUGIN_DEV_SMOKE_TIMEOUT` | `120000` ms |
86
+
87
+ ### Upstream roadmap
88
+
89
+ `dsh-plugin-dev` 是官方插件开发 CLI(规划项 C12)的上游候选:脚手架/检查器/验证器是机械层,`SKILL.md` + `guide/` 仍是认知层。
90
+
56
91
  ## Quick start
57
92
 
58
93
  ```sh
@@ -68,6 +103,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
68
103
 
69
104
  然后直接问你的 agent:*"用 dsh-plugin-guide 技能帮我构建一个 … 插件。"*
70
105
 
106
+ 或者直接驱动 CLI:
107
+
108
+ ```sh
109
+ npx dsh-plugin-guide new hello-plugin # 脚手架生成 TS 插件仓库
110
+ npx dsh-plugin-guide check --json # 静态检查
111
+ npx dsh-plugin-guide verify # 打包 + 干净 profile 冒烟
112
+ ```
113
+
71
114
  ## Install & uninstall
72
115
 
73
116
  - **git channel**(最新 `main`):`dsh plugin --profile web add github:PerryLink/dsh-plugin-guide#<sha>` —— 固定提交以可复现;入口是纯 ESM JS,无构建步骤。
@@ -94,13 +137,14 @@ pwsh -File scripts/install-skill.ps1 -Target ~/.deepseek/skills/dsh-plugin-guide
94
137
 
95
138
  ## Configuration
96
139
 
97
- `dsh-plugin-guide` 不暴露任何 Schemastery `Config` —— 它把知识库注册为 agent 技能,无可调键。
140
+ 技能 bundle 不暴露任何 Schemastery `Config` —— 它把知识库注册为 agent 技能,无可调键。`dsh-plugin-dev` CLI 从 flag 与 `DSH_PLUGIN_DEV_*` 环境变量读取可调项(见 [CLI toolchain](#cli-toolchain))。
98
141
 
99
142
  ## Tools & surfaces
100
143
 
101
144
  | Surface | Kind | Notes |
102
145
  |---|---|---|
103
146
  | `dsh-plugin-guide` | skill | 经 `ctx.skills` 注册;按需加载 `SKILL.md` + `./guide/` + `./references/` |
147
+ | `dsh-plugin-dev` | bin (CLI) | `new` / `check` / `verify` 子命令;非 DSH 插件行 |
104
148
 
105
149
  ## Permissions & data
106
150
 
@@ -133,9 +177,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # 关键路径 +
133
177
 
134
178
  ## Development
135
179
 
136
- bundle 是纯 ESM —— 无构建步骤。CI 在每次 push 与 pull request 运行完整性门禁:
180
+ 技能 bundle(`index.js`)是纯 ESM、无构建步骤;`dsh-plugin-dev` CLI TypeScript,经 tsdown 构建。门禁:
137
181
 
138
182
  ```sh
183
+ pnpm install --frozen-lockfile
184
+ pnpm run typecheck && pnpm run typecheck:ci
185
+ pnpm test
186
+ pnpm run build
187
+ pnpm run verify:artifacts # 自检 + 脚手架冒烟(无网络)
188
+ pnpm run verify:self-contained # 打包 + 干净 profile 安装/启动/卸载冒烟
189
+ pnpm pack
139
190
  pwsh -File scripts/verify-kit.ps1 # 关键路径 + 链接扫描(加 -Checkout <checkout> 做文档漂移)
140
191
  ```
141
192
 
package/SKILL.md CHANGED
@@ -62,8 +62,18 @@ description: Use when developing, reviewing, packaging, debugging, or answering
62
62
  - 安装/刷新 agent 技能副本:`pwsh -File ./scripts/install-skill.ps1 -Target <skill目录>`(跳过 downloads/ 与 .github/,逐字节校验)。
63
63
  - 冲突裁决:与官方文档冲突时以 `references/official-docs/`(官方仓库原文)为准。
64
64
 
65
+ ## CLI 工具链(dsh-plugin-dev)
66
+
67
+ 本仓库随 bundle 附带零依赖 CLI `dsh-plugin-dev`,把机械检查自动化(知识库仍是认知层,CLI 是机械层):
68
+
69
+ - `dsh-plugin-dev new <name>`:参数化脚手架,生成 TS 或 JS 插件仓库骨架(`src/index.ts` 契约模板、Schemastery Config、tests、tsdown/vitest、注释齐全的 `cordis.patch.yml`、五语 README),模板与 `references/official-docs` 同步更新。
70
+ - `dsh-plugin-dev check [--json] [--strict]`:静态检查(`cordis.patch.yml` 合法性、`package.json` 元数据(`dsh.bundle.patch` 指向/peer 依赖/engines/files 白名单)、五语 README 一致性、工程红线模式),输出 CI 可消费的结构化 JSON;每个检查项在输出里引用本知识库对应章节(skill 联动),agent 可继续人工审计。
71
+ - `dsh-plugin-dev verify`:`pnpm pack` 后装入干净临时 `DSH_HOME` profile 做安装+启动+卸载冒烟(对齐官方 verify:self-contained);失败给出日志尾部与建议。
72
+
73
+ 三个子命令均可逆/幂等;网络/子进程尊重超时与 AbortSignal;只清理自己 mkdtemp 的目录。CLI 零运行时依赖,构建产物经 tsdown 打包为单文件 `dist/dsh-plugin-dev.js`。
74
+
65
75
  ## 边界
66
76
 
67
- - 本技能是"指引 + 约束 + 资料索引",不是脚本/清单的机械执行;精确 API 以生成式参考为准。
77
+ - 本技能是"指引 + 约束 + 资料索引";机械检查由 `dsh-plugin-dev check` 承担,精确 API 以生成式参考为准。
68
78
  - 不得修改知识库外的 harness 仓库文件,除非用户明确要求;vendor/ 与 `.agents/notes/archived/` 只读。
69
79
  - 引用 `downloads/` 内容前先确认其存在(该目录不入 git,需按上文脚本生成);`awesome-dsh-plugins` 的归档仅供本地参考,**不得随仓库再分发**(其上游声明内部使用约束,见 NOTICE.md)。
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ // dsh-plugin-dev CLI entry shim. The real implementation is the tsdown-bundled
3
+ // `dist/dsh-plugin-dev.js` (built by `pnpm run build` / `prepack`). Keeping this
4
+ // shim as a stable path lets the bin stay fixed while the bundle filename may
5
+ // change across tsdown versions.
6
+ import '../dist/dsh-plugin-dev.js'