dsh-plugin-guide 0.1.2 → 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 +54 -3
- package/README.hi.md +54 -3
- package/README.md +55 -4
- package/README.pt.md +54 -3
- package/README.zh.md +55 -4
- package/SKILL.md +11 -1
- package/bin/dsh-plugin-dev.js +6 -0
- package/cordis.patch.yml +5 -0
- package/dist/dsh-plugin-dev.js +1623 -0
- package/package.json +39 -3
- package/scripts/verify-artifacts.mjs +70 -0
- package/templates/js/LICENSE +15 -0
- package/templates/js/README.es.md +42 -0
- package/templates/js/README.hi.md +42 -0
- package/templates/js/README.md +42 -0
- package/templates/js/README.pt.md +42 -0
- package/templates/js/README.zh.md +42 -0
- package/templates/js/cordis.patch.yml +10 -0
- package/templates/js/index.js +38 -0
- package/templates/js/package.json +35 -0
- package/templates/js/tests/index.test.js +12 -0
- package/templates/ts/LICENSE +15 -0
- package/templates/ts/README.es.md +44 -0
- package/templates/ts/README.hi.md +44 -0
- package/templates/ts/README.md +44 -0
- package/templates/ts/README.pt.md +44 -0
- package/templates/ts/README.zh.md +44 -0
- package/templates/ts/cordis.patch.yml +10 -0
- package/templates/ts/package.json +44 -0
- package/templates/ts/src/config.ts +12 -0
- package/templates/ts/src/index.ts +36 -0
- package/templates/ts/tests/index.test.ts +12 -0
- package/templates/ts/tsconfig.json +17 -0
- package/templates/ts/tsdown.config.mjs +15 -0
- package/templates/ts/vitest.config.ts +8 -0
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)
|
|
10
10
|
[](https://github.com/topics/dsh-plugin)
|
|
@@ -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
|
-
|
|
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
|
|
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)
|
|
10
10
|
[](https://github.com/topics/dsh-plugin)
|
|
@@ -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
|
-
|
|
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
|
|
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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
**Everything you need to build [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugins.**
|
|
7
7
|
|
|
8
|
-
*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*
|
|
9
9
|
|
|
10
10
|
[](LICENSE)
|
|
11
11
|
[](https://github.com/topics/dsh-plugin)
|
|
@@ -32,13 +32,14 @@
|
|
|
32
32
|
|
|
33
33
|
## What you get
|
|
34
34
|
|
|
35
|
-
`dsh-plugin-guide` is the DSH plugin-development knowledge base, packaged as
|
|
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.
|
|
36
36
|
|
|
37
37
|
- **Plugin contract & hard rules** — effects/disposers, waterfall `next()`, model-visible ⟺ logged, Schemastery config.
|
|
38
38
|
- **Official docs archive** — a verbatim copy of the official repo docs (EN + ZH), byte-identical to upstream at the last verified snapshot.
|
|
39
39
|
- **Cordis primer** — the five concepts and the mechanism timeline (repository-plugin introduced 0809, removed 0811; the two install channels).
|
|
40
40
|
- **20+ real-world pitfalls** with root cause + fix (cordis dual copies, tsconfig trio, multi-frame zstd sessions, Windows junctions, stale npm `latest`, …).
|
|
41
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.
|
|
42
43
|
|
|
43
44
|
## Knowledge base
|
|
44
45
|
|
|
@@ -52,8 +53,42 @@
|
|
|
52
53
|
| `references/official-docs/` | Verbatim copy of the official repo docs (EN + ZH) |
|
|
53
54
|
| `references/*.md` | Research reports: repo docs, website, Cordis, the paper, community ecosystem, 114-repo archive (15 deep-dived) |
|
|
54
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 |
|
|
55
58
|
| `downloads/` | Raw snapshots — generated by `scripts/`, not committed |
|
|
56
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
|
+
|
|
57
92
|
## Quick start
|
|
58
93
|
|
|
59
94
|
```sh
|
|
@@ -69,6 +104,14 @@ dsh --profile web --dump-config | grep -A3 'id: dsh-plugin-guide'
|
|
|
69
104
|
|
|
70
105
|
Then just ask your agent: *"Use the dsh-plugin-guide skill to build me a … plugin."*
|
|
71
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
|
+
|
|
72
115
|
## Install & uninstall
|
|
73
116
|
|
|
74
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.
|
|
@@ -95,13 +138,14 @@ The installer skips `downloads/` (generated) and `.github/`, then verifies every
|
|
|
95
138
|
|
|
96
139
|
## Configuration
|
|
97
140
|
|
|
98
|
-
|
|
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)).
|
|
99
142
|
|
|
100
143
|
## Tools & surfaces
|
|
101
144
|
|
|
102
145
|
| Surface | Kind | Notes |
|
|
103
146
|
|---|---|---|
|
|
104
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 |
|
|
105
149
|
|
|
106
150
|
## Permissions & data
|
|
107
151
|
|
|
@@ -134,9 +178,16 @@ pwsh -File scripts/verify-kit.ps1 -Checkout <checkout> # critical paths +
|
|
|
134
178
|
|
|
135
179
|
## Development
|
|
136
180
|
|
|
137
|
-
The bundle is plain ESM
|
|
181
|
+
The skill bundle (`index.js`) is plain ESM with no build step; the `dsh-plugin-dev` CLI is TypeScript built by tsdown. Gates:
|
|
138
182
|
|
|
139
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
|
|
140
191
|
pwsh -File scripts/verify-kit.ps1 # critical paths + link scan (+ docs drift with -Checkout <checkout>)
|
|
141
192
|
```
|
|
142
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)
|
|
10
10
|
[](https://github.com/topics/dsh-plugin)
|
|
@@ -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
|
|
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
|
|
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)
|
|
10
10
|
[](https://github.com/topics/dsh-plugin)
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
|
|
32
32
|
## What you get
|
|
33
33
|
|
|
34
|
-
`dsh-plugin-guide` 是 DSH
|
|
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
|
-
|
|
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
|
|
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
|
-
- 本技能是"指引 + 约束 + 资料索引"
|
|
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'
|
package/cordis.patch.yml
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
# dsh-plugin-guide bundle layer: register the packaged knowledge base as an agent skill.
|
|
2
|
+
# This file is the `dsh.bundle.patch` layer (see package.json#dsh.bundle.patch).
|
|
3
|
+
# Layer semantics: a YAML array of row verbs; `insert` adds plugin rows to the
|
|
4
|
+
# composed config. Later layers override a row by `id` (whole-config replacement).
|
|
2
5
|
- insert:
|
|
6
|
+
# `id`: stable row identifier used by later layers to override this row.
|
|
3
7
|
- id: dsh-plugin-guide
|
|
8
|
+
# `name`: the module the loader imports; resolves to this package's entry (package.json#main → index.js).
|
|
4
9
|
name: dsh-plugin-guide
|