@kisev/skills-opencode 2.2.3 → 2.3.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.md CHANGED
@@ -2,89 +2,39 @@
2
2
 
3
3
  [Русский](README.ru.md)
4
4
 
5
- `@kisev/skills-opencode@2.2.3` is the optional OpenCode-specific layer. Portable
6
- skills have a separate lifecycle and must be installed independently through the
7
- [root portable flow](../../README.md).
5
+ `@kisev/skills-opencode` is the first-class OpenCode-specific component of
6
+ Agent Skills. It complements the portable skills but has its own installation,
7
+ update, and removal lifecycle.
8
8
 
9
- ## Requirements and Ownership
9
+ ## What It Adds
10
10
 
11
- The package requires Node.js 22+ and OpenCode `>=1.18.29 <1.19.0`.
11
+ - OpenCode slash-command adapters for installed portable skills and package tools.
12
+ - Six fixed agents: `manager`, `architect`, `mapper`, `worker`, `review`, and
13
+ `critic`.
14
+ - Capability routing, doctor, reconcile, and agent-profile tooling.
15
+ - Optional `rules-injector`, `rtk`, and `zed-bell` plugin wrappers.
12
16
 
13
- | Component | Project scope | Global scope |
14
- | ------------------ | ---------------------------- | --------------------------------------------------------- |
15
- | npm package | project `node_modules` | `node_modules` in the npm project at `~/.config/opencode` |
16
- | Commands | `.opencode/commands` | `~/.config/opencode/commands` |
17
- | Agents | `.opencode/agents` | `~/.config/opencode/agents` |
18
- | Optional wrappers | `.opencode/plugins` | `~/.config/opencode/plugins` |
19
- | Ownership metadata | `.opencode/.skills-opencode` | `~/.config/opencode/.skills-opencode` |
17
+ The package does not contain, install, update, or remove portable skills.
20
18
 
21
- The package and generated wrappers must remain resolvable after the installer
22
- exits. Import, plugin loading, and npm lifecycle scripts do not install assets,
23
- install portable skills, or edit OpenCode configuration.
19
+ ## Requirements
24
20
 
25
- ## Persistent Package Install
21
+ - Node.js 22 or later.
22
+ - OpenCode `>=1.18.29 <1.19.0`.
23
+ - A persistent npm project that owns the dependency.
26
24
 
27
- ### Project Scope
25
+ ## Project Install
28
26
 
29
- Install in the repository's npm project and run the CLI from that project root:
27
+ Install the package in the repository's npm project and preview the managed
28
+ assets:
30
29
 
31
30
  ```shell
32
- cd /path/to/project
33
- npm install --save-exact @kisev/skills-opencode@2.2.3
34
- npm exec -- skills-opencode install --scope project --dry-run
31
+ npm install --save-exact @kisev/skills-opencode
32
+ npx --yes @kisev/skills-opencode@latest install --scope project --dry-run
35
33
  ```
36
34
 
37
- The package remains in project `node_modules`; confirmed assets go under
38
- `.opencode`.
39
-
40
- ### Global Scope
41
-
42
- Use `~/.config/opencode` as the persistent npm project:
43
-
44
- ```shell
45
- mkdir -p "$HOME/.config/opencode"
46
- cd "$HOME/.config/opencode"
47
- test -f package.json || npm init --yes
48
- npm install --save-exact @kisev/skills-opencode@2.2.3
49
- npm exec -- skills-opencode install --scope global --dry-run
50
- ```
51
-
52
- Keep the dependency in that npm project's `package.json` and lock file.
53
- Confirmed assets go under `~/.config/opencode`.
54
-
55
- ## Select Assets
56
-
57
- In a TTY, `install` opens four selection groups: Skill command adapters, Package
58
- command adapters, Fixed agents, and Selectable plugins. The two command groups
59
- and six fixed agents start selected; optional plugins start unselected. Skill
60
- command adapters are OpenCode slash commands that load an already-installed
61
- same-named portable skill. Package command adapters invoke package tools. A
62
- command adapter selection never selects or installs a skill.
63
-
64
- Outside a TTY, pass all three selection groups. This example selects three
65
- commands, all fixed agents, and no wrapper:
66
-
67
- ```shell
68
- npm exec -- skills-opencode install --scope project \
69
- --commands doctor,reconcile,agent-profiles \
70
- --agents manager,architect,mapper,worker,review,critic \
71
- --plugins none --dry-run
72
- ```
73
-
74
- If any selection flag is present outside a TTY, `--commands`, `--agents`, and
75
- `--plugins` are all required. Query exact current names with:
76
-
77
- ```shell
78
- npm exec -- skills-opencode capabilities --json
79
- ```
80
-
81
- The selectable wrappers are `rules-injector`, `rtk`, and `zed-bell`.
82
-
83
- ## Activate the Core Plugin
84
-
85
- The installer records whether the selection needs core integration, but never
86
- creates or edits `opencode.json`. Add the package to the user-owned `plugin`
87
- array for the same scope while preserving existing entries:
35
+ Run the exact confirmation command printed by the preview. If the selected
36
+ assets need core integration, add the package to the user-owned OpenCode
37
+ configuration while preserving existing entries:
88
38
 
89
39
  ```json
90
40
  {
@@ -93,139 +43,16 @@ array for the same scope while preserving existing entries:
93
43
  }
94
44
  ```
95
45
 
96
- For project scope, keep the package in project `node_modules` and configuration
97
- in the project. For global scope, keep the npm project and user configuration
98
- under `~/.config/opencode`. Restart OpenCode after activation or asset changes.
99
-
100
- ## Preview and Confirm
101
-
102
- Every mutation begins with `--dry-run`. The preview reports operations,
103
- conflicts, restart requirements, receipt expiry, separate plan and confirmation
104
- digests, and the exact confirmation command. If reconcile reports modified
105
- managed files or ownership conflicts, it is blocked: no receipt or Apply command
106
- is issued. Install or upgrade the current package first, apply its exact
107
- installer confirmation, then repeat reconcile; resolve ownership conflicts
108
- manually.
109
-
110
- ```shell
111
- npm exec -- skills-opencode install --scope project --dry-run
112
- ```
113
-
114
- The mandatory OpenCode flow is: persistent npm install, `install --dry-run`, the
115
- exact confirmation command printed by that preview, add the package to the
116
- user-owned `plugin` entry, and restart OpenCode. Use the persistent npm project
117
- at `~/.config/opencode` for global commands. Install or upgrade the package and
118
- apply its installer plan before every reconcile.
46
+ Restart OpenCode after activation or asset changes. The installer does not edit
47
+ `opencode.json` and command adapter selections do not install portable skills.
119
48
 
120
- The preview has a deterministic `plan_digest` and a unique
121
- `confirmation_digest`. A later dry-run in the same scope supersedes any older
122
- unconsumed preview, including previews from another package or agent operation;
123
- the older confirmation is rejected.
49
+ ## Documentation
124
50
 
125
- Run the command printed by the preview, including all selection flags. Receipts
126
- are private, valid for 10 minutes, single-use, and bound to the action, scope,
127
- root, and current inventory. Apply rejects stale state and unsafe conflicts.
51
+ The canonical documentation lives in `docs/`, not in the package source:
128
52
 
129
- ## Doctor
130
-
131
- `doctor` reads integration facts without creating receipts, recovering journals,
132
- starting plugins, or starting LSP servers:
133
-
134
- ```shell
135
- npm exec -- skills-opencode doctor --scope project
136
- npm exec -- skills-opencode doctor --scope project --json
137
- ```
138
-
139
- The report includes versions, ownership, drift, collisions, archive counts,
140
- redacted configuration projections, runtime summaries, and LSP facts. It does
141
- not serialize raw configuration, environment values, receipts, credentials, or
142
- secrets. Exit status `0` is clean, `1` reports findings, and `2` reports invalid
143
- input or an incomplete probe failure.
144
-
145
- ## Update
146
-
147
- From the npm project that owns the dependency, install the exact intended
148
- version, preview and confirm `install` with the same scope and desired selection,
149
- then restart OpenCode:
150
-
151
- ```shell
152
- npm install --save-exact @kisev/skills-opencode@2.2.3
153
- npm exec -- skills-opencode install --scope project --dry-run
154
- ```
155
-
156
- Use the complete confirmation command printed by the preview. The installer
157
- updates only files whose recorded ownership and SHA-256 still match. User-owned
158
- or modified managed files remain conflicts. Package update does not reset agent
159
- model choices, variants, additional critics, or retained profile configuration.
160
-
161
- ## Reconcile
162
-
163
- `reconcile` classifies current and historical portable skills, package commands,
164
- plugins, agents, and installation metadata for one scope:
165
-
166
- ```shell
167
- npm exec -- skills-opencode reconcile --scope project --dry-run
168
- npm exec -- skills-opencode reconcile --scope project --confirm <digest>
169
- npm exec -- skills-opencode reconcile --scope global --dry-run --json
170
- ```
171
-
172
- Before reconcile, first update the package in its owning npm project and apply
173
- the exact installer plan. Reconcile does not install, update, or remove portable
174
- skills; use only pinned `npx --yes skills@1.5.23` with
175
- `https://kisev.github.io/skills` for those skills.
176
-
177
- Confirmed reconcile archives exact-owned retired assets in a private
178
- content-addressed XDG archive and removes their deployed copies. Modified,
179
- user-owned, unknown, symlink, unsafe, or ambiguous entries remain unchanged as
180
- findings or conflicts. Worktrees and runtime state are preserved. The archive is
181
- inspectable through `doctor`; no archive restore or purge command is provided.
182
-
183
- ## Manage Agents
184
-
185
- The direct CLI manages fixed-agent models and additional critics without an LLM
186
- call:
187
-
188
- ```shell
189
- npm exec -- skills-opencode agent list --scope global
190
- npm exec -- skills-opencode agent configure manager --scope global --dry-run
191
- npm exec -- skills-opencode agent model-set worker --scope global --model openai/gpt-5 --variant high --dry-run
192
- npm exec -- skills-opencode critic add security --scope global --model anthropic/claude-sonnet-4-6 --dry-run
193
- npm exec -- skills-opencode agent reconcile --scope global --dry-run
194
- ```
195
-
196
- Fixed roles keep their names, prompts, and permissions; only model and variant
197
- change. Additional critics use `critic-<safe-suffix>`. Every mutation uses the
198
- same preview and one-time confirmation contract.
199
-
200
- ## Uninstall
201
-
202
- Keep the package resolvable until its assets are removed:
203
-
204
- 1. Preview and confirm package-owned asset removal.
205
- 2. Remove `@kisev/skills-opencode` from the user-owned `plugin` array.
206
- 3. Uninstall the dependency from the same npm project.
207
- 4. Restart OpenCode.
208
-
209
- ```shell
210
- npm exec -- skills-opencode uninstall --scope project --dry-run
211
- npm exec -- skills-opencode uninstall --scope project --confirm <digest>
212
- npm uninstall @kisev/skills-opencode
213
- ```
53
+ - [Complete OpenCode integration guide](https://github.com/kisev/skills/blob/main/docs/how-to/opencode-integration.md)
54
+ - [Portable skills guide](https://github.com/kisev/skills/blob/main/docs/how-to/portable-skills.md)
55
+ - [Documentation index](https://github.com/kisev/skills/blob/main/docs/README.md)
214
56
 
215
- For global scope, run the same flow from `~/.config/opencode` with
216
- `--scope global`. Uninstall archives exact manifest-owned assets and preserves
217
- modified files as conflicts, along with worktrees, runtime state, and retained
218
- profile configuration. It does not remove portable skills or edit
219
- `opencode.json`. No archive restore or purge command is provided.
220
-
221
- ## Boundaries
222
-
223
- - Portable skills and package assets install, update, and uninstall independently.
224
- - Commands corresponding to skills are thin adapters; the portable skill remains
225
- authoritative and must be installed separately.
226
- - Package tools are `capabilities`, `route`, `doctor`, `agent_profiles`, and
227
- `reconcile`; `route` has no slash command.
228
- - The installer owns only files proved by manifests and exact hashes.
229
- - The package is MIT-licensed. Current inventory and checks are in
230
- [Migration Inventory](../../docs/migration-inventory.md) and
231
- [Verification](../../docs/verification.md).
57
+ The complete guide covers global installation, asset selection, confirmation,
58
+ activation, doctor, update, reconcile, agent profiles, ownership, and uninstall.
package/README.ru.md CHANGED
@@ -1,90 +1,39 @@
1
1
  # Интеграция OpenCode
2
2
 
3
- [English](README.md) | [Русский](README.ru.md)
3
+ [English](README.md)
4
4
 
5
- `@kisev/skills-opencode@2.2.3` - optional OpenCode-specific слой. У portable
6
- skills отдельный lifecycle: их нужно установить независимо через
7
- [корневую инструкцию](../../README.ru.md).
5
+ `@kisev/skills-opencode` - полноценный OpenCode-specific компонент Agent
6
+ Skills. Он дополняет portable skills, но имеет собственный lifecycle установки,
7
+ обновления и удаления.
8
8
 
9
- ## Требования и ownership
9
+ ## Что добавляет package
10
10
 
11
- Package требует Node.js 22+ и OpenCode `>=1.18.29 <1.19.0`.
11
+ - OpenCode slash-command adapters для установленных portable skills и package tools.
12
+ - Шесть fixed agents: `manager`, `architect`, `mapper`, `worker`, `review` и
13
+ `critic`.
14
+ - Capability routing, doctor, reconcile и управление agent profiles.
15
+ - Optional plugin wrappers `rules-injector`, `rtk` и `zed-bell`.
12
16
 
13
- | Component | Project scope | Global scope |
14
- | ------------------ | ---------------------------- | ------------------------------------------------- |
15
- | npm package | project `node_modules` | `node_modules` в npm project `~/.config/opencode` |
16
- | Commands | `.opencode/commands` | `~/.config/opencode/commands` |
17
- | Agents | `.opencode/agents` | `~/.config/opencode/agents` |
18
- | Optional wrappers | `.opencode/plugins` | `~/.config/opencode/plugins` |
19
- | Ownership metadata | `.opencode/.skills-opencode` | `~/.config/opencode/.skills-opencode` |
17
+ Package не содержит, не устанавливает, не обновляет и не удаляет portable skills.
20
18
 
21
- Package и generated wrappers должны оставаться доступными после завершения
22
- installer. Import, plugin loading и npm lifecycle scripts не устанавливают
23
- assets или portable skills и не меняют OpenCode configuration.
19
+ ## Требования
24
20
 
25
- ## Постоянная установка package
21
+ - Node.js 22 или новее.
22
+ - OpenCode `>=1.18.29 <1.19.0`.
23
+ - Постоянный npm project, которому принадлежит dependency.
26
24
 
27
- ### Project scope
25
+ ## Project installation
28
26
 
29
- Установите package в npm project репозитория и запускайте CLI из его корня:
27
+ Установите package в npm project репозитория и покажите preview managed assets:
30
28
 
31
29
  ```shell
32
- cd /path/to/project
33
- npm install --save-exact @kisev/skills-opencode@2.2.3
34
- npm exec -- skills-opencode install --scope project --dry-run
30
+ npm install --save-exact @kisev/skills-opencode
31
+ npx --yes @kisev/skills-opencode@latest install --scope project --dry-run
35
32
  ```
36
33
 
37
- Package остаётся в project `node_modules`, confirmed assets размещаются в
38
- `.opencode`.
39
-
40
- ### Global scope
41
-
42
- Используйте `~/.config/opencode` как постоянный npm project:
43
-
44
- ```shell
45
- mkdir -p "$HOME/.config/opencode"
46
- cd "$HOME/.config/opencode"
47
- test -f package.json || npm init --yes
48
- npm install --save-exact @kisev/skills-opencode@2.2.3
49
- npm exec -- skills-opencode install --scope global --dry-run
50
- ```
51
-
52
- Сохраните dependency в `package.json` и lock file этого npm project. Confirmed
53
- assets размещаются в `~/.config/opencode`.
54
-
55
- ## Выбор assets
56
-
57
- В TTY команда `install` открывает четыре группы: Skill command adapters, Package
58
- command adapters, Fixed agents и Selectable plugins. Две command-группы и шесть
59
- fixed agents изначально выбраны, optional plugins - нет. Skill command adapters
60
- это OpenCode slash-команды, загружающие уже установленный одноимённый portable
61
- skill. Package command adapters вызывают package tools. Выбор adapter не выбирает
62
- и не устанавливает skill.
63
-
64
- Вне TTY передайте все три selection group. Этот пример выбирает три commands,
65
- всех fixed agents и ни одного wrapper:
66
-
67
- ```shell
68
- npm exec -- skills-opencode install --scope project \
69
- --commands doctor,reconcile,agent-profiles \
70
- --agents manager,architect,mapper,worker,review,critic \
71
- --plugins none --dry-run
72
- ```
73
-
74
- Если вне TTY передан любой selection flag, обязательны `--commands`, `--agents`
75
- и `--plugins`. Точные текущие имена показывает команда:
76
-
77
- ```shell
78
- npm exec -- skills-opencode capabilities --json
79
- ```
80
-
81
- Selectable wrappers: `rules-injector`, `rtk`, `zed-bell`.
82
-
83
- ## Активация core plugin
84
-
85
- Installer записывает, нужна ли selection core integration, но никогда не создаёт
86
- и не меняет `opencode.json`. Добавьте package в user-owned массив `plugin` для
87
- того же scope, сохранив существующие entries:
34
+ Выполните exact confirmation command из preview. Если выбранным assets нужна core
35
+ integration, добавьте package в user-owned configuration OpenCode, сохранив
36
+ существующие entries:
88
37
 
89
38
  ```json
90
39
  {
@@ -93,139 +42,16 @@ Installer записывает, нужна ли selection core integration, но
93
42
  }
94
43
  ```
95
44
 
96
- Для project scope храните package в project `node_modules`, а configuration - в
97
- project. Для global scope храните npm project и user configuration в
98
- `~/.config/opencode`. После activation или изменения assets перезапустите
99
- OpenCode.
100
-
101
- ## Preview и confirm
102
-
103
- Каждая mutation начинается с `--dry-run`. Preview показывает operations,
104
- conflicts, необходимость restart, срок действия receipt, отдельные plan и
105
- confirmation digests и точную confirmation command. Если reconcile показывает
106
- modified managed files или ownership conflicts, он блокируется: receipt и Apply
107
- command не создаются. Сначала установите или обновите текущий package,
108
- примените его exact installer confirmation, затем повторите reconcile; ownership
109
- conflicts нужно разрешить вручную.
110
-
111
- ```shell
112
- npm exec -- skills-opencode install --scope project --dry-run
113
- ```
114
-
115
- Обязательный OpenCode flow: persistent npm install, `install --dry-run`, exact
116
- confirmation command из preview, добавление package в user-owned `plugin` и
117
- перезапуск OpenCode. Для global-команд используйте persistent npm project в
118
- `~/.config/opencode`. Перед каждым reconcile установите или обновите package и
119
- примените его installer plan.
45
+ После activation или изменения assets перезапустите OpenCode. Installer не
46
+ меняет `opencode.json`, а выбор command adapters не устанавливает portable skills.
120
47
 
121
- Preview имеет deterministic `plan_digest` и unique `confirmation_digest`. Новый
122
- dry-run в том же scope supersede-ит любой старый unconsumed preview, включая
123
- preview другой package или agent operation; старая confirmation отклоняется.
48
+ ## Документация
124
49
 
125
- Выполните команду из preview со всеми selection flags. Receipts приватны,
126
- действуют 10 минут, применяются один раз и связаны с action, scope, root и
127
- текущим inventory. Apply отклоняет stale state и unsafe conflicts.
50
+ Каноническая документация находится в `docs/`, а не в исходниках package:
128
51
 
129
- ## Doctor
130
-
131
- `doctor` читает integration facts без создания receipts, recovery journals,
132
- запуска plugins или LSP servers:
133
-
134
- ```shell
135
- npm exec -- skills-opencode doctor --scope project
136
- npm exec -- skills-opencode doctor --scope project --json
137
- ```
138
-
139
- Report содержит versions, ownership, drift, collisions, archive counts, redacted
140
- configuration projections, runtime summaries и LSP facts. Raw configuration,
141
- environment values, receipts, credentials и secrets не сериализуются. Exit
142
- status `0` означает чистое состояние, `1` - findings, `2` - invalid input или
143
- incomplete probe failure.
144
-
145
- ## Обновление
146
-
147
- В npm project, которому принадлежит dependency, установите точную нужную version,
148
- покажите и подтвердите `install` с тем же scope и нужной selection, затем
149
- перезапустите OpenCode:
150
-
151
- ```shell
152
- npm install --save-exact @kisev/skills-opencode@2.2.3
153
- npm exec -- skills-opencode install --scope project --dry-run
154
- ```
155
-
156
- Используйте полную confirmation command из preview. Installer обновляет только
157
- files с совпадающими recorded ownership и SHA-256. User-owned или modified
158
- managed files остаются conflicts. Package update не сбрасывает выбранные agent
159
- models, variants, additional critics или retained profile configuration.
160
-
161
- ## Reconcile
162
-
163
- `reconcile` классифицирует current и historical portable skills, package
164
- commands, plugins, agents и installation metadata одного scope:
165
-
166
- ```shell
167
- npm exec -- skills-opencode reconcile --scope project --dry-run
168
- npm exec -- skills-opencode reconcile --scope project --confirm <digest>
169
- npm exec -- skills-opencode reconcile --scope global --dry-run --json
170
- ```
171
-
172
- Перед reconcile сначала обновите package в принадлежащем ему npm project и
173
- примените exact installer plan. Reconcile не устанавливает, не обновляет и не
174
- удаляет portable skills; для них используйте только pinned
175
- `npx --yes skills@1.5.23` с `https://kisev.github.io/skills`.
176
-
177
- Confirmed reconcile архивирует exact-owned retired assets в private
178
- content-addressed XDG archive и удаляет их deployed copies. Modified, user-owned,
179
- unknown, symlink, unsafe и ambiguous entries остаются без изменений как findings
180
- или conflicts. Worktrees и runtime state сохраняются. Archive доступен для
181
- просмотра через `doctor`; команд restore или purge нет.
182
-
183
- ## Управление agents
184
-
185
- Direct CLI управляет models fixed agents и additional critics без LLM call:
186
-
187
- ```shell
188
- npm exec -- skills-opencode agent list --scope global
189
- npm exec -- skills-opencode agent configure manager --scope global --dry-run
190
- npm exec -- skills-opencode agent model-set worker --scope global --model openai/gpt-5 --variant high --dry-run
191
- npm exec -- skills-opencode critic add security --scope global --model anthropic/claude-sonnet-4-6 --dry-run
192
- npm exec -- skills-opencode agent reconcile --scope global --dry-run
193
- ```
194
-
195
- Fixed roles сохраняют имена, prompts и permissions; меняются только model и
196
- variant. Additional critics используют `critic-<safe-suffix>`. Каждая mutation
197
- использует тот же contract preview и one-time confirmation.
198
-
199
- ## Uninstall
200
-
201
- Package должен оставаться доступным до удаления его assets:
202
-
203
- 1. Покажите preview и подтвердите удаление package-owned assets.
204
- 2. Удалите `@kisev/skills-opencode` из user-owned массива `plugin`.
205
- 3. Удалите dependency из того же npm project.
206
- 4. Перезапустите OpenCode.
207
-
208
- ```shell
209
- npm exec -- skills-opencode uninstall --scope project --dry-run
210
- npm exec -- skills-opencode uninstall --scope project --confirm <digest>
211
- npm uninstall @kisev/skills-opencode
212
- ```
52
+ - [Полная инструкция по интеграции OpenCode](https://github.com/kisev/skills/blob/main/docs/ru/how-to/opencode-integration.md)
53
+ - [Инструкция по portable skills](https://github.com/kisev/skills/blob/main/docs/ru/how-to/portable-skills.md)
54
+ - [Индекс документации](https://github.com/kisev/skills/blob/main/docs/ru/README.md)
213
55
 
214
- Для global scope выполните тот же flow из `~/.config/opencode` с
215
- `--scope global`. Uninstall архивирует exact manifest-owned assets и сохраняет
216
- modified files как conflicts вместе с worktrees, runtime state и retained
217
- profile configuration. Он не удаляет portable skills и не меняет
218
- `opencode.json`. Команд restore или purge для archive нет.
219
-
220
- ## Границы
221
-
222
- - Portable skills и package assets устанавливаются, обновляются и удаляются
223
- независимо.
224
- - Commands, соответствующие skills, являются thin adapters; portable skill
225
- остаётся authoritative и устанавливается отдельно.
226
- - Package tools: `capabilities`, `route`, `doctor`, `agent_profiles`, `reconcile`;
227
- у `route` нет slash command.
228
- - Installer владеет только files с доказанными manifests и exact hashes.
229
- - Package распространяется по лицензии MIT. Текущий inventory и checks описаны в
230
- [инвентаре миграции](../../docs/ru/migration-inventory.md) и
231
- [документе проверки](../../docs/ru/verification.md).
56
+ Полная инструкция описывает global installation, выбор assets, confirmation,
57
+ activation, doctor, update, reconcile, agent profiles, ownership и uninstall.
@@ -1,11 +1,11 @@
1
1
  import { execFile } from "node:child_process";
2
- import { readFileSync } from "node:fs";
3
2
  import { lstat } from "node:fs/promises";
4
3
  import { homedir } from "node:os";
5
4
  import { dirname, resolve } from "node:path";
6
5
  import { promisify } from "node:util";
7
6
  import { fileURLToPath } from "node:url";
8
7
  import { applyTransaction, consumeReceipt, deploymentRoot, destination, digest, LifecycleError, lifecycleRoot, listDirectRegular, readRegular, recoverTransaction, saveReceipt, sha256, stable, withLifecycleLock, } from "./lifecycle.js";
8
+ import { readPackageVersion } from "./package-metadata.js";
9
9
  export const FIXED_AGENT_ROLES = [
10
10
  "manager",
11
11
  "architect",
@@ -36,10 +36,10 @@ const V1_AGENT_SHA256 = {
36
36
  worker: "eee1163111b59856cc95c8be4ef4bc85a12e23c05bf576ece9f8e6a933b5466d",
37
37
  };
38
38
  function packageVersion() {
39
- const value = JSON.parse(readFileSync(resolve(packageRoot, "package.json"), "utf8"));
40
- if (typeof value.version !== "string")
39
+ const version = readPackageVersion();
40
+ if (!version)
41
41
  throw new AgentProfileError("invalid_package", "Package version is unavailable");
42
- return value.version;
42
+ return version;
43
43
  }
44
44
  function emptyConfig() {
45
45
  return {
package/dist/catalog.d.ts CHANGED
@@ -4,5 +4,5 @@ export declare const CATALOG: {
4
4
  readonly agents: readonly ["manager", "architect", "mapper", "worker", "review", "critic"];
5
5
  readonly package_commands: readonly ["capabilities", "doctor", "reconcile", "agent-profiles"];
6
6
  readonly tools: readonly ["capabilities", "route", "doctor", "agent_profiles", "reconcile"];
7
- readonly version: "2.2.3";
7
+ readonly version: string;
8
8
  };
package/dist/catalog.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { requirePackageVersion } from "./package-metadata.js";
1
2
  export const CATALOG = {
2
3
  skills: [
3
4
  "agents-md",
@@ -34,5 +35,5 @@ export const CATALOG = {
34
35
  agents: ["manager", "architect", "mapper", "worker", "review", "critic"],
35
36
  package_commands: ["capabilities", "doctor", "reconcile", "agent-profiles"],
36
37
  tools: ["capabilities", "route", "doctor", "agent_profiles", "reconcile"],
37
- version: "2.2.3",
38
+ version: requirePackageVersion(),
38
39
  };
@@ -1,3 +1,4 @@
1
+ import { CATALOG } from "./catalog.js";
1
2
  const GROUPS = ["Agents", "Commands", "Plugins", "State"];
2
3
  const OPERATIONS = [
3
4
  "create",
@@ -164,7 +165,7 @@ export function renderInventory(inventory) {
164
165
  ].join("\n")}\n`;
165
166
  }
166
167
  export function shellCommand(arguments_) {
167
- return ["npm", "exec", "--", "skills-opencode", ...arguments_]
168
+ return ["npx", "--yes", `@kisev/skills-opencode@${CATALOG.version}`, ...arguments_]
168
169
  .map((value) => /^[A-Za-z0-9_./:@=-]+$/.test(value) ? value : `'${value.replaceAll("'", `'"'"'`)}'`)
169
170
  .join(" ");
170
171
  }
@@ -215,10 +216,10 @@ export function renderDoctor(report) {
215
216
  const actionable = report.checks.filter((item) => item.status === "fail" || item.status === "warn");
216
217
  const next = new Set(actionable.flatMap((item) => item.remediation ?? []));
217
218
  if (report.conflicts.length) {
218
- next.add(`npm exec -- skills-opencode reconcile --scope ${report.scope} --dry-run`);
219
+ next.add(shellCommand(["reconcile", "--scope", report.scope, "--dry-run"]));
219
220
  }
220
221
  if (actionable.some((item) => item.id.startsWith("assets."))) {
221
- next.add(`npm exec -- skills-opencode install --scope ${report.scope} --dry-run`);
222
+ next.add(shellCommand(["install", "--scope", report.scope, "--dry-run"]));
222
223
  }
223
224
  const lines = [
224
225
  `Doctor TLDR: ${report.status} (${report.scope})`,