wize-dev-kit 0.16.1 → 0.18.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/CHANGELOG.md +15 -1
- package/README.es.md +6 -2
- package/README.md +6 -2
- package/README.pt-BR.md +6 -2
- package/adapters/README.md +1 -0
- package/adapters/kiro/README.md +30 -0
- package/adapters/kiro/adapter.yaml +8 -0
- package/adapters/kiro/render.js +21 -0
- package/docs/harnesses/kiro.md +26 -0
- package/docs/harnesses/kiro.pt-BR.md +26 -0
- package/package.json +1 -1
- package/src/orchestrator-skills/module.yaml +3 -0
- package/src/orchestrator-skills/wize/skill.md +5 -5
- package/src/orchestrator-skills/wize-help/skill.md +6 -5
- package/src/orchestrator-skills/wize-update/skill.md +61 -0
- package/tools/check-eli5-all-adapters.js +3 -2
- package/tools/installer/baseline.js +7 -2
- package/tools/installer/commands/doctor.js +1 -0
- package/tools/installer/commands/version-check.js +39 -0
- package/tools/installer/setup-helpers.js +1 -0
- package/tools/installer/version-check.js +21 -1
- package/tools/installer/wize-cli.js +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,21 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
7
7
|
> **0.10.0 and earlier are in Brazilian Portuguese** and are kept verbatim as a
|
|
8
8
|
> historical record (not back-translated).
|
|
9
9
|
|
|
10
|
-
## [
|
|
10
|
+
## [0.18.0] — 2026-09-18
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`wize-update`** (orchestrator skill) + **`wize-dev-kit version-check`** (CLI) — an agent-facing way to ask "is there a newer kit?" without hitting the network on every invocation. `version-check --json` reads a local 1h cache first, caps any registry call at ~1.5s, and degrades to `{"latest":null}` silently when offline; it honors `WIZE_DISABLE_UPDATE_CHECK=1` like the existing opportunistic hint. `wize-help`/`wize`'s proactive version-skew check (Step 2.5) now calls it instead of a live `npm view` on every invocation, says the hint at most once per conversation, and points to `/wize-update` — which shows the version jump + changelog excerpt, asks for a one-line confirmation, then runs `npx wize-dev-kit@latest update` and relays the result. Intent phrases: "atualizar o kit", "tem atualização", "nova versão do kit".
|
|
15
|
+
|
|
16
|
+
## [0.17.0] — 2026-09-08
|
|
17
|
+
|
|
18
|
+
**Kiro (AWS) is now the 11th supported harness.** New `kiro` IDE target renders the kit's agents/skills/workflows as Kiro workspace skills at `.kiro/skills/wize-{code}/SKILL.md`, following the open [Agent Skills standard](https://agentskills.io) — the same folder + `SKILL.md` (frontmatter `name`/`description`) shape as Claude Code/Codex/Kimi Code/Hermes. Kiro's default agent auto-loads workspace skills (workspace wins over `~/.kiro/skills/` globals), uses progressive disclosure (name + description at startup, full body on description match or `/wize-{code}`), and reads `.kiro/steering/` separately for always-on context. The Kiro CLI (`kiro-cli chat --no-interactive --trust-all-tools "<prompt>"`) is registered in the installer's brownfield baseline for headless runs. Highlighted in all 3 READMEs + `docs/harnesses/kiro.md` (+pt-BR); registered in the installer targets, `doctor`, `.gitignore` block, and test suites.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **`kiro` IDE target** (`adapters/kiro/`) — renders via the shared Anthropic emitter to `.kiro/skills/`; companion files (`steps/`, `templates/`, `data/`) copied alongside `SKILL.md`. Selectable in `npx wize-dev-kit install` / `sync`; `install --yes` enables it along with the other 10 harnesses.
|
|
23
|
+
- **`kiro-cli` harness** in the brownfield baseline — headless one-shot runs via `kiro-cli chat --no-interactive --trust-all-tools` (requires `KIRO_API_KEY`).
|
|
24
|
+
- **`docs/harnesses/kiro.md` + `kiro.pt-BR.md`** — workspace vs global scope, progressive-disclosure activation, steering caveat, custom-agents `skill://` resources caveat, and headless usage.
|
|
11
25
|
|
|
12
26
|
## [0.16.1] — 2026-09-02
|
|
13
27
|
|
package/README.es.md
CHANGED
|
@@ -56,7 +56,7 @@ El instalador pregunta:
|
|
|
56
56
|
|
|
57
57
|
1. **Nombre del proyecto** — escrito en `.wize/config/project.toml`.
|
|
58
58
|
2. **Perfil(es)** — Core / +Web / +App / +Security (selección múltiple).
|
|
59
|
-
3. **IDE(s) objetivo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity o fallback genérico (selección múltiple).
|
|
59
|
+
3. **IDE(s) objetivo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, Kiro, OpenCode, Antigravity o fallback genérico (selección múltiple).
|
|
60
60
|
4. **Idiomas** — comunicación + salida de documentos.
|
|
61
61
|
5. **Tu nombre** — cómo deben dirigirse a ti los agentes (guardado en `user.toml`).
|
|
62
62
|
6. **Brownfield** — ofrece ejecutar `wize-document-project` para crear la baseline del código existente.
|
|
@@ -69,7 +69,7 @@ Tras instalar, abre tu IDE y di:
|
|
|
69
69
|
|
|
70
70
|
## Harnesses soportados
|
|
71
71
|
|
|
72
|
-
Los
|
|
72
|
+
Los 11 IDEs objetivo se renderizan desde la misma fuente; el formato y la mecánica varían por harness. **OpenCode** recibe la integración más profunda — la separación persona/workflow del kit se mapea sobre las primitivas propias de OpenCode (`mode: primary|subagent`, `agent:`, `subtask:`) en lugar de aplanarse en un único tipo de archivo.
|
|
73
73
|
|
|
74
74
|
| Harness | Salida | Destacado |
|
|
75
75
|
|---|---|---|
|
|
@@ -78,6 +78,7 @@ Los 10 IDEs objetivo se renderizan desde la misma fuente; el formato y la mecán
|
|
|
78
78
|
| **Codex** | `.agents/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/codex.md) |
|
|
79
79
|
| **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mismo formato Skill; autodetecta árboles de skills de Claude/Codex. [Docs →](docs/harnesses/kimi-code.md) |
|
|
80
80
|
| **Hermes Agent** 🆕 | `.hermes/skills/*/SKILL.md` | Mismo formato Skill, project-local; trust gate (`hermes skills trust`); las skills del proyecto sobreescriben las de perfil. [Docs →](docs/harnesses/hermes.md) |
|
|
81
|
+
| **Kiro — AWS** 🆕 | `.kiro/skills/*/SKILL.md` | Estándar Agent Skills (agentskills.io); las skills de workspace sobrescriben las globales; activación automática por descripción, o `/wize-{code}`. [Docs →](docs/harnesses/kiro.md) |
|
|
81
82
|
| **Antigravity** | `.agent/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/antigravity.md) |
|
|
82
83
|
| **Cursor** | `.cursor/rules/*.mdc` | Reglas on-demand (`alwaysApply: false`), emparejadas por descripción. [Docs →](docs/harnesses/cursor.md) |
|
|
83
84
|
| **Windsurf** | `.windsurf/rules/*.md` | Markdown plano; el modo de activación se define dentro del IDE. [Docs →](docs/harnesses/windsurf.md) |
|
|
@@ -156,6 +157,8 @@ Transversales:
|
|
|
156
157
|
/wize-check Checklist de avance de la demanda en vuelo: hecho
|
|
157
158
|
(con evidencia), en curso, lo que falta — luego
|
|
158
159
|
retoma el trabajo interrumpido.
|
|
160
|
+
/wize-update Revisa si el kit está desactualizado, muestra el
|
|
161
|
+
changelog, confirma y aplica la actualización.
|
|
159
162
|
/wize-grill Entrevista-hasta-entendimiento antes de cualquier
|
|
160
163
|
paso de autoría.
|
|
161
164
|
/wize-quick-dev Shuri toma un arreglo pequeño sin el ciclo completo.
|
|
@@ -239,6 +242,7 @@ npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--
|
|
|
239
242
|
npx wize-dev-kit uninstall # elimina .wize/ (tu código queda intacto)
|
|
240
243
|
npx wize-dev-kit help # referencia de comandos
|
|
241
244
|
npx wize-dev-kit version # imprime la versión instalada del kit
|
|
245
|
+
npx wize-dev-kit version-check [--json] # instalada vs. más reciente (con caché; scriptable; nunca bloquea)
|
|
242
246
|
```
|
|
243
247
|
|
|
244
248
|
---
|
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ The installer asks:
|
|
|
56
56
|
|
|
57
57
|
1. **Project name** — written into `.wize/config/project.toml`.
|
|
58
58
|
2. **Profile(s)** — Core / +Web / +App / +Security (multi-select).
|
|
59
|
-
3. **IDE target(s)** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity, or generic fallback (multi-select).
|
|
59
|
+
3. **IDE target(s)** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, Kiro, OpenCode, Antigravity, or generic fallback (multi-select).
|
|
60
60
|
4. **Languages** — communication + document output.
|
|
61
61
|
5. **Your name** — how the agents should address you (saved to `user.toml`).
|
|
62
62
|
6. **Brownfield** — offers to run `wize-document-project` to baseline the existing codebase.
|
|
@@ -69,7 +69,7 @@ After install, open your IDE and say:
|
|
|
69
69
|
|
|
70
70
|
## Supported harnesses
|
|
71
71
|
|
|
72
|
-
All
|
|
72
|
+
All 11 IDE targets render from the same source; format and mechanics differ per harness. **OpenCode** gets the deepest integration — the kit's persona/workflow split maps onto OpenCode's own primitives (`mode: primary|subagent`, `agent:`, `subtask:`) instead of being flattened into one file type.
|
|
73
73
|
|
|
74
74
|
| Harness | Output | Notable |
|
|
75
75
|
|---|---|---|
|
|
@@ -78,6 +78,7 @@ All 10 IDE targets render from the same source; format and mechanics differ per
|
|
|
78
78
|
| **Codex** | `.agents/skills/*/SKILL.md` | Same Skill format + root `AGENTS.md`. [Docs →](docs/harnesses/codex.md) |
|
|
79
79
|
| **Kimi Code** | `.kimi/skills/*/SKILL.md` | Same Skill format; auto-detects Claude/Codex skill trees. [Docs →](docs/harnesses/kimi-code.md) |
|
|
80
80
|
| **Hermes Agent** 🆕 | `.hermes/skills/*/SKILL.md` | Same Skill format, project-local; trust gate (`hermes skills trust`); project skills override profile ones. [Docs →](docs/harnesses/hermes.md) |
|
|
81
|
+
| **Kiro — AWS** 🆕 | `.kiro/skills/*/SKILL.md` | Agent Skills standard (agentskills.io); workspace skills override global ones; auto-activates by description, or `/wize-{code}`. [Docs →](docs/harnesses/kiro.md) |
|
|
81
82
|
| **Antigravity** | `.agent/skills/*/SKILL.md` | Same Skill format + root `AGENTS.md`. [Docs →](docs/harnesses/antigravity.md) |
|
|
82
83
|
| **Cursor** | `.cursor/rules/*.mdc` | On-demand rules (`alwaysApply: false`), matched by description. [Docs →](docs/harnesses/cursor.md) |
|
|
83
84
|
| **Windsurf** | `.windsurf/rules/*.md` | Plain markdown; activation mode set inside the IDE. [Docs →](docs/harnesses/windsurf.md) |
|
|
@@ -154,6 +155,8 @@ Cross-cutting:
|
|
|
154
155
|
/wize-check Progress checklist for the demand in flight:
|
|
155
156
|
done (with evidence), in progress, what's left —
|
|
156
157
|
then resumes the interrupted work.
|
|
158
|
+
/wize-update Checks kit version skew, shows the changelog
|
|
159
|
+
jump, confirms, then applies the update.
|
|
157
160
|
/wize-grill Interview-to-understanding before any authoring step.
|
|
158
161
|
/wize-eli5 Explain anything to anyone — vocabulary, analogies,
|
|
159
162
|
tone, depth and framing calibrated to the audience
|
|
@@ -237,6 +240,7 @@ npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--
|
|
|
237
240
|
npx wize-dev-kit uninstall # remove .wize/ (your code is left untouched)
|
|
238
241
|
npx wize-dev-kit help # command reference
|
|
239
242
|
npx wize-dev-kit version # print the installed kit version
|
|
243
|
+
npx wize-dev-kit version-check [--json] # installed vs latest (cached; scriptable; never blocks)
|
|
240
244
|
```
|
|
241
245
|
|
|
242
246
|
---
|
package/README.pt-BR.md
CHANGED
|
@@ -56,7 +56,7 @@ O instalador pergunta:
|
|
|
56
56
|
|
|
57
57
|
1. **Nome do projeto** — gravado em `.wize/config/project.toml`.
|
|
58
58
|
2. **Perfil(is)** — Core / +Web / +App / +Security (múltipla escolha).
|
|
59
|
-
3. **IDE(s) alvo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity ou fallback genérico (múltipla escolha).
|
|
59
|
+
3. **IDE(s) alvo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, Kiro, OpenCode, Antigravity ou fallback genérico (múltipla escolha).
|
|
60
60
|
4. **Idiomas** — comunicação + saída de documentos.
|
|
61
61
|
5. **Seu nome** — como os agentes devem te chamar (salvo em `user.toml`).
|
|
62
62
|
6. **Brownfield** — oferece rodar `wize-document-project` para criar a baseline do código existente.
|
|
@@ -69,7 +69,7 @@ Após instalar, abra sua IDE e diga:
|
|
|
69
69
|
|
|
70
70
|
## Harnesses suportadas
|
|
71
71
|
|
|
72
|
-
Os
|
|
72
|
+
Os 11 alvos de IDE são gerados a partir da mesma fonte; formato e mecânica mudam por harness. O **OpenCode** tem a integração mais profunda — a divisão persona/workflow do kit mapeia pras primitivas nativas do próprio OpenCode (`mode: primary|subagent`, `agent:`, `subtask:`) em vez de ser achatada num único tipo de arquivo.
|
|
73
73
|
|
|
74
74
|
| Harness | Saída | Destaque |
|
|
75
75
|
|---|---|---|
|
|
@@ -78,6 +78,7 @@ Os 10 alvos de IDE são gerados a partir da mesma fonte; formato e mecânica mud
|
|
|
78
78
|
| **Codex** | `.agents/skills/*/SKILL.md` | Mesmo formato Skill + `AGENTS.md` na raiz. [Docs →](docs/harnesses/codex.pt-BR.md) |
|
|
79
79
|
| **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mesmo formato Skill; autodetecta as árvores do Claude/Codex. [Docs →](docs/harnesses/kimi-code.pt-BR.md) |
|
|
80
80
|
| **Hermes Agent** 🆕 | `.hermes/skills/*/SKILL.md` | Mesmo formato Skill, project-local; trust gate (`hermes skills trust`); skills do projeto sobrescrevem as de perfil. [Docs →](docs/harnesses/hermes.pt-BR.md) |
|
|
81
|
+
| **Kiro — AWS** 🆕 | `.kiro/skills/*/SKILL.md` | Padrão Agent Skills (agentskills.io); skills de workspace sobrescrevem as globais; ativação automática por descrição, ou `/wize-{code}`. [Docs →](docs/harnesses/kiro.pt-BR.md) |
|
|
81
82
|
| **Antigravity** | `.agent/skills/*/SKILL.md` | Mesmo formato Skill + `AGENTS.md` na raiz. [Docs →](docs/harnesses/antigravity.pt-BR.md) |
|
|
82
83
|
| **Cursor** | `.cursor/rules/*.mdc` | Rules sob demanda (`alwaysApply: false`), casadas por descrição. [Docs →](docs/harnesses/cursor.pt-BR.md) |
|
|
83
84
|
| **Windsurf** | `.windsurf/rules/*.md` | Markdown puro; modo de ativação definido dentro da IDE. [Docs →](docs/harnesses/windsurf.pt-BR.md) |
|
|
@@ -155,6 +156,8 @@ Transversais:
|
|
|
155
156
|
/wize-check Checklist de acompanhamento da demanda em voo:
|
|
156
157
|
feito (com evidência), em andamento, o que falta —
|
|
157
158
|
depois retoma o trabalho interrompido.
|
|
159
|
+
/wize-update Verifica se o kit está desatualizado, mostra o
|
|
160
|
+
changelog, confirma e aplica o update.
|
|
158
161
|
/wize-grill Entrevista-até-entendimento antes de qualquer passo
|
|
159
162
|
de autoria.
|
|
160
163
|
/wize-quick-dev Shuri pega uma correção pequena sem o ciclo completo.
|
|
@@ -237,6 +240,7 @@ npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--
|
|
|
237
240
|
npx wize-dev-kit uninstall # remove .wize/ (seu código permanece intacto)
|
|
238
241
|
npx wize-dev-kit help # referência de comandos
|
|
239
242
|
npx wize-dev-kit version # imprime a versão instalada do kit
|
|
243
|
+
npx wize-dev-kit version-check [--json] # instalada vs. mais recente (com cache; scriptável; nunca bloqueia)
|
|
240
244
|
```
|
|
241
245
|
|
|
242
246
|
---
|
package/adapters/README.md
CHANGED
|
@@ -13,6 +13,7 @@ Each adapter renders the kit's agents/skills/workflows into the file layout that
|
|
|
13
13
|
| `continue` | `.continue/prompts/wize-*.prompt` | `.prompt` | Continue prompt slot. |
|
|
14
14
|
| `kimi-code` | `.kimi/skills/wize-*/` | `SKILL.md` per agent/workflow | Moonshot Kimi Code. |
|
|
15
15
|
| `hermes` | `.hermes/skills/wize-*/` | `SKILL.md` per agent/workflow | Hermes Agent (project-local skills, Anthropic-compatible). |
|
|
16
|
+
| `kiro` | `.kiro/skills/wize-*/` | `SKILL.md` per agent/workflow | Kiro (AWS) — Agent Skills standard (agentskills.io), workspace scope. |
|
|
16
17
|
| `opencode` | `.opencode/agents/wize-*.md` + `.opencode/commands/wize-*.md` | Markdown | OpenCode CLI. Native agents + commands. |
|
|
17
18
|
| `antigravity` | `.agent/skills/wize-*/` | `SKILL.md` per agent/workflow | Antigravity CLI + IDE. |
|
|
18
19
|
| `generic` | `.wize/agents/wize-*.md` | Markdown | Fallback for any agent that can read a folder of markdown. |
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Kiro (AWS) — Wize Dev Kit Adapter
|
|
2
|
+
|
|
3
|
+
Emits the kit's agents/skills/workflows as Kiro workspace skills under
|
|
4
|
+
`.kiro/skills/wize-{code}/SKILL.md`, using the open Agent Skills standard
|
|
5
|
+
(agentskills.io) — a folder with a `SKILL.md` (YAML frontmatter: `name`,
|
|
6
|
+
`description`), the same Anthropic-compatible format the kit already renders
|
|
7
|
+
for Claude Code / Codex / Kimi Code / Hermes.
|
|
8
|
+
|
|
9
|
+
## How Kiro picks these up
|
|
10
|
+
|
|
11
|
+
- The default agent automatically loads workspace skills from
|
|
12
|
+
`<repo-root>/.kiro/skills/` and global skills from `~/.kiro/skills/`.
|
|
13
|
+
**Workspace skills win** on name collisions.
|
|
14
|
+
- **Progressive disclosure:** at session start Kiro loads only `name` +
|
|
15
|
+
`description`; the full SKILL.md activates when your request matches the
|
|
16
|
+
description, or explicitly via `/wize-{code}` in chat.
|
|
17
|
+
- **Activation is description-driven** (no config needed): keep descriptions
|
|
18
|
+
keyword-rich — the kit's descriptions already follow that guidance.
|
|
19
|
+
- Skills must be valid frontmatter (`name` matches the folder name, lowercase
|
|
20
|
+
+ hyphens, ≤ 64 chars; `description` ≤ 1024 chars) — the shared emitter
|
|
21
|
+
already guarantees this shape.
|
|
22
|
+
- Kiro also reads `.kiro/steering/*.md` for always-on project context, so
|
|
23
|
+
pairing with the **Generic fallback** target (root `AGENTS.md`) is a bonus.
|
|
24
|
+
- **Custom agents caveat:** Kiro custom agents don't load skills by default —
|
|
25
|
+
add `"skill://.kiro/skills/*/SKILL.md"` to the agent's `resources` field.
|
|
26
|
+
|
|
27
|
+
## Files
|
|
28
|
+
|
|
29
|
+
- `render.js` — renders via the shared `renderAnthropicSkills` emitter.
|
|
30
|
+
- `adapter.yaml` — descriptor (target path, file pattern).
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Kiro (AWS) adapter — emits .kiro/skills/wize-{code}/SKILL.md per asset.
|
|
2
|
+
// Kiro follows the open Agent Skills standard (agentskills.io): a skill is a
|
|
3
|
+
// folder containing a SKILL.md with YAML frontmatter (name, description) —
|
|
4
|
+
// the same Anthropic-compatible format used by Claude Code, Codex, Kimi Code,
|
|
5
|
+
// and Hermes. Workspace skills live at <repo-root>/.kiro/skills/ and take
|
|
6
|
+
// precedence over ~/.kiro/skills/ global skills on name collision. Kiro uses
|
|
7
|
+
// progressive disclosure: at session start only name + description load, and
|
|
8
|
+
// the full SKILL.md activates when the request matches the description (or
|
|
9
|
+
// via the skill's slash command).
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
const path = require('node:path');
|
|
14
|
+
const { renderAnthropicSkills } = require('../../tools/installer/render-shared.js');
|
|
15
|
+
|
|
16
|
+
function render(kitRoot, projectRoot, opts = {}) {
|
|
17
|
+
const targetDir = path.join(projectRoot, '.kiro', 'skills');
|
|
18
|
+
return renderAnthropicSkills(kitRoot, targetDir, opts);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = { render };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Kiro (AWS) — Wize Development Kit
|
|
2
|
+
|
|
3
|
+
🌐 **Languages:** **English** · [Português (pt-BR)](kiro.pt-BR.md)
|
|
4
|
+
|
|
5
|
+
← [Back to README](../../README.md)
|
|
6
|
+
|
|
7
|
+
Kiro, the agentic IDE/CLI from AWS, follows the open [Agent Skills standard](https://agentskills.io) — the same folder + `SKILL.md` (YAML frontmatter: `name`, `description`) shape the kit already renders for Claude Code, Codex, Kimi Code, and Hermes.
|
|
8
|
+
|
|
9
|
+
## Output
|
|
10
|
+
|
|
11
|
+
`.kiro/skills/wize-{code}/SKILL.md` — one directory per persona, workflow, or skill, with companion files (`steps/`, `templates/`, `data/`) copied alongside.
|
|
12
|
+
|
|
13
|
+
## Notable
|
|
14
|
+
|
|
15
|
+
- **Workspace scope.** Kiro's default agent automatically loads workspace skills from `<repo-root>/.kiro/skills/` and global skills from `~/.kiro/skills/`; **workspace skills win** on name collisions. Generated `wize-*` entries are gitignored (regenerate with `npx wize-dev-kit sync`) — hand-written team skills you add next to them should be committed, per Kiro's own guidance.
|
|
16
|
+
- **Progressive disclosure.** At session start Kiro loads only each skill's `name` + `description`; the full `SKILL.md` activates when your request matches the description, or explicitly via `/wize-{code}` in chat. The kit's descriptions are written keyword-rich for exactly this match.
|
|
17
|
+
- **Steering is separate.** Always-on project context lives in `.kiro/steering/*.md` — Kiro-specific and not produced by this adapter, so pairing with the **Generic fallback** target (root `AGENTS.md`) is a bonus.
|
|
18
|
+
- **Custom agents caveat.** Kiro custom agents don't load skills by default — add `"skill://.kiro/skills/*/SKILL.md"` to the agent's `resources` field.
|
|
19
|
+
|
|
20
|
+
## Setup
|
|
21
|
+
|
|
22
|
+
Pick **Kiro — AWS** as an IDE target during `npx wize-dev-kit install` (or add it and re-run `npx wize-dev-kit sync`). Restart Kiro, then run `/wize-orchestrator`.
|
|
23
|
+
|
|
24
|
+
## Headless
|
|
25
|
+
|
|
26
|
+
`kiro-cli chat --no-interactive --trust-all-tools "<prompt>"` runs a one-shot headless session (requires `KIRO_API_KEY`), which the installer's brownfield baseline uses when Kiro CLI is the detected harness.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Kiro (AWS) — Wize Development Kit
|
|
2
|
+
|
|
3
|
+
🌐 **Idiomas:** [English](kiro.md) · **Português (pt-BR)**
|
|
4
|
+
|
|
5
|
+
← [Voltar ao README](../../README.pt-BR.md)
|
|
6
|
+
|
|
7
|
+
O Kiro, IDE/CLI agêntica da AWS, segue o padrão aberto [Agent Skills](https://agentskills.io) — a mesma forma de pasta + `SKILL.md` (frontmatter YAML: `name`, `description`) que o kit já renderiza para Claude Code, Codex, Kimi Code e Hermes.
|
|
8
|
+
|
|
9
|
+
## Saída
|
|
10
|
+
|
|
11
|
+
`.kiro/skills/wize-{code}/SKILL.md` — um diretório por persona, workflow ou skill, com arquivos complementares (`steps/`, `templates/`, `data/`) copiados junto.
|
|
12
|
+
|
|
13
|
+
## Destaques
|
|
14
|
+
|
|
15
|
+
- **Escopo workspace.** O agente padrão do Kiro carrega automaticamente skills de workspace de `<repo-root>/.kiro/skills/` e skills globais de `~/.kiro/skills/`; **skills de workspace vencem** em colisões de nome. As entradas `wize-*` geradas ficam no .gitignore (regenere com `npx wize-dev-kit sync`) — skills de time escritas à mão, ao lado delas, devem ser commitadas, conforme a própria orientação do Kiro.
|
|
16
|
+
- **Progressive disclosure.** No início da sessão o Kiro carrega apenas `name` + `description` de cada skill; o `SKILL.md` completo é ativado quando o pedido combina com a descrição, ou explicitamente via `/wize-{code}` no chat. As descrições do kit são escritas ricas em palavras-chave exatamente para esse match.
|
|
17
|
+
- **Steering é separado.** Contexto de projeto sempre-on vive em `.kiro/steering/*.md` — específico do Kiro e não produzido por este adapter, então combinar com o alvo **Fallback genérico** (raiz `AGENTS.md`) é um bônus.
|
|
18
|
+
- **Ressalva de custom agents.** Custom agents do Kiro não carregam skills por padrão — adicione `"skill://.kiro/skills/*/SKILL.md"` ao campo `resources` do agente.
|
|
19
|
+
|
|
20
|
+
## Como ativar
|
|
21
|
+
|
|
22
|
+
Escolha **Kiro — AWS** como alvo de IDE em `npx wize-dev-kit install` (ou adicione depois e rode `npx wize-dev-kit sync`). Reinicie o Kiro e rode `/wize-orchestrator`.
|
|
23
|
+
|
|
24
|
+
## Headless
|
|
25
|
+
|
|
26
|
+
`kiro-cli chat --no-interactive --trust-all-tools "<prompt>"` roda uma sessão headless de uma execução (requer `KIRO_API_KEY`), usada pelo baseline brownfield do instalador quando o Kiro CLI é o harness detectado.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "wize-dev-kit",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.18.0",
|
|
5
5
|
"description": "Full-lifecycle AI-assisted development kit with Test Architect and Whiteport Design Studio embedded. Inspired by BMAD Method and WDS.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ai",
|
|
@@ -22,6 +22,9 @@ skills:
|
|
|
22
22
|
- code: wize-check
|
|
23
23
|
name: "Check (Wizer)"
|
|
24
24
|
description: "Progress checklist for the demand in flight: done (with evidence), in progress, left, blocked. Read-only — reports, then resumes the interrupted work."
|
|
25
|
+
- code: wize-update
|
|
26
|
+
name: "Update (Wizer)"
|
|
27
|
+
description: "Checks kit version skew, shows the changelog jump, confirms, then applies `wize-dev-kit update` and reports the result."
|
|
25
28
|
- code: wize-onboarding
|
|
26
29
|
name: "Onboarding"
|
|
27
30
|
description: "Post-install triage: greenfield vs brownfield, profile, objective. Delegates to specialists."
|
|
@@ -99,15 +99,15 @@ See the full intent routing table in `wize-help/skill.md` (Step 2a). The same ta
|
|
|
99
99
|
|
|
100
100
|
## Step 2.5 — version skew (proactive)
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
If you have Bash, run `npx wize-dev-kit version-check --json` once — it reads a local 1h cache before touching the network, caps any registry call at ~1.5s, and degrades to `{"latest":null}` silently if offline, so this never blocks the response. Compare its `installed` field against `kit_version` (project.toml):
|
|
103
103
|
|
|
104
104
|
| Condition | Suggest |
|
|
105
105
|
|---|---|
|
|
106
|
-
| installed > project.toml |
|
|
107
|
-
|
|
|
108
|
-
|
|
|
106
|
+
| `installed` > `kit_version` (project.toml) | `/wize-update` |
|
|
107
|
+
| `latest` > `installed` | `/wize-update` |
|
|
108
|
+
| everything matches, or `latest` is `null` | nothing |
|
|
109
109
|
|
|
110
|
-
Phrase as one short line, not a banner
|
|
110
|
+
Phrase as one short line, not a banner — and only the **first time in this conversation**. If you already mentioned it earlier in this session, don't repeat it.
|
|
111
111
|
|
|
112
112
|
## Step 3 — respond
|
|
113
113
|
|
|
@@ -201,18 +201,19 @@ Match is case-insensitive, substring-based. Longest match wins. When no intent m
|
|
|
201
201
|
| "create workflow", "criar workflow", "novo workflow" | `wize-create-workflow` |
|
|
202
202
|
| "onboarding", "instalar kit", "primeiro uso" | `wize-onboarding` |
|
|
203
203
|
| "party mode", "multi-agent", "reunir agentes" | `wize-party-mode` |
|
|
204
|
+
| "atualizar o kit", "tem atualização", "nova versão do kit", "update the kit", "wize update" | `wize-update` |
|
|
204
205
|
|
|
205
206
|
## Step 2.5 — version skew (proactive)
|
|
206
207
|
|
|
207
|
-
|
|
208
|
+
If you have Bash, run `npx wize-dev-kit version-check --json` once — it reads a local 1h cache before touching the network, caps any registry call at ~1.5s, and degrades to `{"latest":null}` silently if offline, so this never blocks the response. Compare its `installed` field against `kit_version` (project.toml):
|
|
208
209
|
|
|
209
210
|
| Condition | Suggest |
|
|
210
211
|
|---|---|
|
|
211
|
-
| installed > project.toml |
|
|
212
|
-
|
|
|
213
|
-
|
|
|
212
|
+
| `installed` > `kit_version` (project.toml) | `/wize-update` |
|
|
213
|
+
| `latest` > `installed` | `/wize-update` |
|
|
214
|
+
| everything matches, or `latest` is `null` | nothing |
|
|
214
215
|
|
|
215
|
-
Phrase as one short line, not a banner
|
|
216
|
+
Phrase as one short line, not a banner — and only the **first time in this conversation**. If you already mentioned it earlier in this session, don't repeat it.
|
|
216
217
|
|
|
217
218
|
## Step 3 — respond
|
|
218
219
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
code: wize-update
|
|
4
|
+
description: "Use quando o usuário pedir para atualizar o Wize Dev Kit, perguntar se há uma versão nova, ou quando o Wizer notar version skew (Step 2.5) e ele confirmar o update."
|
|
5
|
+
name: Update (Wizer)
|
|
6
|
+
module: orchestrator
|
|
7
|
+
owner: wize-orchestrator
|
|
8
|
+
status: ready
|
|
9
|
+
aliases: []
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Wizer · `/wize-update`
|
|
13
|
+
|
|
14
|
+
**Goal.** Bring the installed kit up to date safely: check the real version skew, show what changes before anything runs, get a one-line confirmation, apply it, report the result. Never a surprise — this rewrites files under version control.
|
|
15
|
+
|
|
16
|
+
## Step 1 — check version skew
|
|
17
|
+
|
|
18
|
+
If you have Bash, run:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
npx wize-dev-kit version-check --json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Cheap by design: it reads a local 1h cache before touching the network, caps any registry call at ~1.5s, and degrades to `{"latest":null}` silently if offline — it never blocks this step.
|
|
25
|
+
|
|
26
|
+
Read `kit_version` from `.wize/config/project.toml` — that is the version **this project's** rendered skills are on. `version-check`'s `installed` field is the kit version currently resolved by `npx` (it can already be newer than what is rendered here, if someone bumped the resolved package without running `update`).
|
|
27
|
+
|
|
28
|
+
| Condition | Meaning |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `latest` (registry) > `installed` | A newer kit exists upstream. |
|
|
31
|
+
| `installed` > project's `kit_version` | This project is behind what npx already resolves. |
|
|
32
|
+
| everything matches, or `latest` is `null` | Nothing to do — say so in one line and stop. Do not continue to Step 2. |
|
|
33
|
+
|
|
34
|
+
## Step 2 — show the jump, then confirm
|
|
35
|
+
|
|
36
|
+
State the version jump plainly (`{from} → {to}`). If you have Bash, `sed -n`/`cat` the relevant excerpt of `CHANGELOG.md` between those versions for a one-line summary of what changed — or trust the excerpt `update` itself prints in Step 3 and summarize that instead.
|
|
37
|
+
|
|
38
|
+
Ask one line: *"Atualizar o kit de {from} para {to}? Isso vai re-renderizar os adapters instalados (claude-code, generic, …) e regravar `kit_version` em `project.toml`."*
|
|
39
|
+
|
|
40
|
+
Never run Step 3 without this confirmation — it rewrites rendered skill/command files that live under version control, and the resulting diff should land as the user's own reviewed commit, not an unreviewed surprise.
|
|
41
|
+
|
|
42
|
+
## Step 3 — run it
|
|
43
|
+
|
|
44
|
+
On confirmation:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
npx wize-dev-kit@latest update
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Relay its output — it already reports per-adapter results and a CHANGELOG excerpt. It is idempotent and additive: it never touches `.wize/config/user.toml`, never removes custom agents/skills under `.wize/custom/`, and only rewrites the `kit_version` line in `project.toml`.
|
|
51
|
+
|
|
52
|
+
## Step 4 — close the loop
|
|
53
|
+
|
|
54
|
+
- Flag any adapter the output reported as `skipped` or `error` — those need a manual look.
|
|
55
|
+
- Repeat, in one line, that the IDE/harness needs a restart to pick up refreshed slash commands.
|
|
56
|
+
- Suggest reviewing the diff (`git status` / `git diff`) before committing — this is a real file change, not a no-op.
|
|
57
|
+
|
|
58
|
+
## When NOT to use
|
|
59
|
+
|
|
60
|
+
- No `.wize/` folder at all → this is a fresh install, not an update. Route to `npx wize-dev-kit install` (see `wize-onboarding`).
|
|
61
|
+
- The user only wants to know whether an update exists, without applying it → Step 1 alone answers that; do not push into Step 2/3 unasked.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// Verifica que o wize-eli5 é renderizado por TODOS os
|
|
2
|
+
// Verifica que o wize-eli5 é renderizado por TODOS os 11 adapters de harness.
|
|
3
3
|
'use strict';
|
|
4
4
|
const fs = require('node:fs');
|
|
5
5
|
const path = require('node:path');
|
|
@@ -12,6 +12,7 @@ const EXPECT = [
|
|
|
12
12
|
{ code: 'codex', file: '.agents/skills/wize-eli5/SKILL.md' },
|
|
13
13
|
{ code: 'kimi-code', file: '.kimi/skills/wize-eli5/SKILL.md' },
|
|
14
14
|
{ code: 'hermes', file: '.hermes/skills/wize-eli5/SKILL.md' },
|
|
15
|
+
{ code: 'kiro', file: '.kiro/skills/wize-eli5/SKILL.md' },
|
|
15
16
|
{ code: 'cursor', file: '.cursor/rules/wize-eli5.mdc' },
|
|
16
17
|
{ code: 'windsurf', file: '.windsurf/rules/wize-eli5.md' },
|
|
17
18
|
{ code: 'continue', file: '.continue/prompts/wize-eli5.prompt' },
|
|
@@ -46,5 +47,5 @@ for (const a of EXPECT) {
|
|
|
46
47
|
fs.rmSync(root, { recursive: true, force: true });
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
console.log(`\n${ok}/
|
|
50
|
+
console.log(`\n${ok}/11 harnesses com wize-eli5.`);
|
|
50
51
|
process.exit(fail ? 1 : 0);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
// Harness priority is:
|
|
7
7
|
// 1. user's selected IDE targets (from .wize/config/project.toml), highest first
|
|
8
|
-
// 2. claude > codex > opencode > hermes (universal fallback)
|
|
8
|
+
// 2. claude > codex > opencode > hermes > kiro-cli (universal fallback)
|
|
9
9
|
//
|
|
10
10
|
// Set WIZE_SKIP_BASELINE=1 in the environment to disable any execution (the
|
|
11
11
|
// install still suggests the next step). Useful for CI and unattended setups.
|
|
@@ -40,6 +40,11 @@ const HARNESSES = [
|
|
|
40
40
|
code: 'hermes',
|
|
41
41
|
binary: 'hermes',
|
|
42
42
|
buildCmd: (prompt) => ({ cmd: 'hermes', args: ['-z', prompt] })
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
code: 'kiro',
|
|
46
|
+
binary: 'kiro-cli',
|
|
47
|
+
buildCmd: (prompt) => ({ cmd: 'kiro-cli', args: ['chat', '--no-interactive', '--trust-all-tools', prompt] })
|
|
43
48
|
}
|
|
44
49
|
];
|
|
45
50
|
|
|
@@ -101,7 +106,7 @@ function manualInstructions(harness) {
|
|
|
101
106
|
if (!harness) {
|
|
102
107
|
return [
|
|
103
108
|
'',
|
|
104
|
-
'No AI harness CLI was detected on PATH (claude / codex / opencode / hermes).',
|
|
109
|
+
'No AI harness CLI was detected on PATH (claude / codex / opencode / hermes / kiro-cli).',
|
|
105
110
|
'Open your IDE in this repo and run:',
|
|
106
111
|
' /wize-document-project',
|
|
107
112
|
''
|
|
@@ -61,6 +61,7 @@ function adapterTargetPath(targetCode, projectRoot) {
|
|
|
61
61
|
case 'codex': return path.join(projectRoot, '.agents/skills');
|
|
62
62
|
case 'kimi-code': return path.join(projectRoot, '.kimi/skills');
|
|
63
63
|
case 'hermes': return path.join(projectRoot, '.hermes/skills');
|
|
64
|
+
case 'kiro': return path.join(projectRoot, '.kiro/skills');
|
|
64
65
|
case 'cursor': return path.join(projectRoot, '.cursor/rules');
|
|
65
66
|
case 'windsurf': return path.join(projectRoot, '.windsurf/rules');
|
|
66
67
|
case 'continue': return path.join(projectRoot, '.continue/prompts');
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// `wize-dev-kit version-check` — explicit, agent-friendly version check.
|
|
2
|
+
//
|
|
3
|
+
// The other CLI commands print an opportunistic hint (version-check.js's
|
|
4
|
+
// printUpdateHintIfAny) that stays silent on a non-TTY stdout so it never
|
|
5
|
+
// spams a pipe. This command is the opposite: it was asked for by name —
|
|
6
|
+
// by a human, or by an AI agent shelling out from a skill instruction where
|
|
7
|
+
// stdout is never a TTY — so it always answers, in `--json` when a caller
|
|
8
|
+
// needs to parse it.
|
|
9
|
+
|
|
10
|
+
'use strict';
|
|
11
|
+
|
|
12
|
+
const { getVersionCheckResult } = require('../version-check.js');
|
|
13
|
+
|
|
14
|
+
async function cmdVersionCheck({ currentVersion, json = false, log = console.log } = {}) {
|
|
15
|
+
const result = await getVersionCheckResult(currentVersion);
|
|
16
|
+
|
|
17
|
+
if (json) {
|
|
18
|
+
log(JSON.stringify(result));
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (result.disabled) {
|
|
23
|
+
log('Update check disabled (WIZE_DISABLE_UPDATE_CHECK=1).');
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
if (!result.latest) {
|
|
27
|
+
log(`wize-dev-kit ${result.installed} (could not reach the registry — offline or timed out).`);
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
if (result.updateAvailable) {
|
|
31
|
+
log(`↑ Update available: wize-dev-kit ${result.installed} → ${result.latest}`);
|
|
32
|
+
log(' Run `npx wize-dev-kit@latest update` in your project to refresh adapters — or `/wize-update` from inside your AI harness.');
|
|
33
|
+
} else {
|
|
34
|
+
log(`wize-dev-kit ${result.installed} is up to date.`);
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
module.exports = { cmdVersionCheck };
|
|
@@ -104,6 +104,25 @@ async function printUpdateHintIfAny(currentVersion, { log = console.log, isTTY =
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
// Pure, TTY-agnostic version check. printUpdateHintIfAny above is an
|
|
108
|
+
// opportunistic hint meant for a human's terminal (gated on isTTY so it
|
|
109
|
+
// never spams a pipe or a script); this is the explicit-invocation
|
|
110
|
+
// counterpart behind the `version-check` CLI command, which an AI agent
|
|
111
|
+
// shells out to non-interactively — stdout there is never a TTY, so a
|
|
112
|
+
// TTY-gated check would go silent exactly when it's needed. Always resolves
|
|
113
|
+
// to a plain object, never throws, and shares the same 1h cache.
|
|
114
|
+
async function getVersionCheckResult(currentVersion, { skipCache = false } = {}) {
|
|
115
|
+
if (process.env.WIZE_DISABLE_UPDATE_CHECK === '1') {
|
|
116
|
+
return { installed: currentVersion, latest: null, updateAvailable: false, disabled: true };
|
|
117
|
+
}
|
|
118
|
+
const latest = await getLatestVersion({ skipCache });
|
|
119
|
+
return {
|
|
120
|
+
installed: currentVersion,
|
|
121
|
+
latest: latest || null,
|
|
122
|
+
updateAvailable: latest ? semverGreater(latest, currentVersion) : false
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
107
126
|
module.exports = {
|
|
108
127
|
CACHE_TTL_MS,
|
|
109
128
|
NETWORK_TIMEOUT_MS,
|
|
@@ -113,5 +132,6 @@ module.exports = {
|
|
|
113
132
|
fetchLatestFromRegistry,
|
|
114
133
|
getLatestVersion,
|
|
115
134
|
semverGreater,
|
|
116
|
-
printUpdateHintIfAny
|
|
135
|
+
printUpdateHintIfAny,
|
|
136
|
+
getVersionCheckResult
|
|
117
137
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* v0.15.0 — Full-lifecycle CLI with install, update, uninstall, list, sync,
|
|
7
7
|
* agent, workflow, validate, doctor, and document-project commands. Adapters
|
|
8
|
-
* render for
|
|
8
|
+
* render for 11 IDE targets. Security overlay ships with 8 tools.
|
|
9
9
|
* `install --yes` now enables all harnesses + all overlays by default.
|
|
10
10
|
*/
|
|
11
11
|
'use strict';
|
|
@@ -19,6 +19,7 @@ const prompts = require('prompts');
|
|
|
19
19
|
const { applyGitignore, generateUserToml } = require('./setup-helpers.js');
|
|
20
20
|
const { cmdUpdate, loadProjectConfig } = require('./commands/update.js');
|
|
21
21
|
const { printUpdateHintIfAny } = require('./version-check.js');
|
|
22
|
+
const { cmdVersionCheck } = require('./commands/version-check.js');
|
|
22
23
|
const { cmdSync: cmdSyncReal } = require('./commands/sync.js');
|
|
23
24
|
const { cmdAgentList, cmdAgentCreate, cmdAgentEdit } = require('./commands/agent.js');
|
|
24
25
|
const { cmdDoctor, adapterTargetPath } = require('./commands/doctor.js');
|
|
@@ -38,6 +39,7 @@ const TARGETS = [
|
|
|
38
39
|
{ code: 'continue', label: 'Continue', default: false },
|
|
39
40
|
{ code: 'kimi-code', label: 'Kimi Code', default: false },
|
|
40
41
|
{ code: 'hermes', label: 'Hermes Agent (.hermes/skills/)', default: false },
|
|
42
|
+
{ code: 'kiro', label: 'Kiro — AWS (.kiro/skills/)', default: false },
|
|
41
43
|
{ code: 'opencode', label: 'OpenCode', default: false },
|
|
42
44
|
{ code: 'antigravity', label: 'Antigravity (CLI + IDE)', default: false },
|
|
43
45
|
{ code: 'generic', label: 'Generic fallback (.wize/agents/)', default: true }
|
|
@@ -72,6 +74,7 @@ Usage:
|
|
|
72
74
|
Commands:
|
|
73
75
|
install Install the kit into the current repo (interactive).
|
|
74
76
|
update Apply upstream diff while preserving customizations.
|
|
77
|
+
version-check [--json] Check installed vs. latest version (scriptable; never blocks).
|
|
75
78
|
uninstall Remove the kit from the current repo (preserves code).
|
|
76
79
|
list List installed agents, skills and workflows.
|
|
77
80
|
sync Regenerate IDE adapters for active targets.
|
|
@@ -890,6 +893,8 @@ async function main() {
|
|
|
890
893
|
switch (cmd) {
|
|
891
894
|
case 'install': return cmdInstall(rest);
|
|
892
895
|
case 'update': return cmdUpdate({ kitRoot: KIT_ROOT, projectRoot: process.cwd() });
|
|
896
|
+
case 'version-check':
|
|
897
|
+
return cmdVersionCheck({ currentVersion: KIT_VERSION, json: rest.includes('--json') });
|
|
893
898
|
case 'uninstall': return cmdUninstall(rest);
|
|
894
899
|
case 'list': return cmdList();
|
|
895
900
|
case 'sync': return cmdSync();
|