wize-dev-kit 0.13.0 → 0.15.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/AGENTS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This repo is wired with the [`wize-dev-kit`](https://www.npmjs.com/package/wize-dev-kit).
4
4
  Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE
5
- using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).
5
+ using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity, Hermes all read this file).
6
6
 
7
7
  ## Operating context
8
8
 
package/CHANGELOG.md CHANGED
@@ -9,6 +9,29 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.15.0] — 2026-09-02
13
+
14
+ **Hermes Agent is now the 10th supported harness.** New `hermes` IDE target renders the kit's agents/skills/workflows as project-local skills at `.hermes/skills/wize-{code}/SKILL.md` (Anthropic-compatible format, same as Claude Code/Codex/Kimi Code). Hermes discovers project skills at the git root, loads them only when the repo is trusted (`hermes skills trust`), and lets trusted project skills override same-named profile skills — vendored repo skills win inside their repo. Hermes also reads root `AGENTS.md` as project context, and its CLI (`hermes -z "<prompt>"`) is registered in the installer's brownfield baseline for headless runs. Highlighted in all 3 READMEs + `docs/harnesses/hermes.md` (+pt-BR); registered in the installer targets, `doctor`, `.gitignore` block, and 4 test suites.
15
+
16
+ ### Added
17
+
18
+ - **`hermes` IDE target** (`adapters/hermes/`) — renders via the shared Anthropic emitter to `.hermes/skills/`; companion files (`steps/`, `templates/`, `data/`) copied alongside `SKILL.md`. Selectable in `npx wize-dev-kit install` / `sync`; `install --yes` now enables 10 harnesses.
19
+ - **`docs/harnesses/hermes.md` + `hermes.pt-BR.md`** — output layout, trust-gate setup (`hermes skills trust` / `skills.trusted_project_dirs`), precedence rules, and headless usage.
20
+
21
+ ### Changed
22
+
23
+ - **Installer** — `TARGETS` gains `hermes`; `adapterTargetPath()` maps it to `.hermes/skills` (also covers `uninstall`); `.gitignore` block ignores `.hermes/skills/wize-*`; brownfield `baseline.js` detects the `hermes` CLI and runs `hermes -z` headlessly.
24
+ - **Docs** — README (en/pt-BR/es) harness tables and summaries now list **10** IDE targets, with Hermes highlighted as new; `AGENTS.md` (repo + generated template) lists Hermes among the harnesses that read it.
25
+ - **Tests** — adapter emit/companion coverage, structure, `install --yes` full-defaults, and `doctor` path mapping all now include `hermes`.
26
+
27
+ ## [0.14.0] — 2026-08-31
28
+
29
+ **`wize-check` — progress checklist with evidence.** A read-only orchestrator skill (owner: Wizer) that answers "where are we, what's done, what's left" mid-session without advancing or re-planning the work. The **evidence rule** is the core: an item only reaches *Done* with a commit, `file:line`, a passed command, a recorded gate, or a merged PR — intent and plans are never evidence. Done condition comes first: if it is not explicit, the skill states the assumed criterion and asks for confirmation instead of inventing a destination. After reporting, it resumes the interrupted work. Modes: default, `now`, `save` (`.wize/implementation/checks/`), `{topic}`. Registered in the orchestrator catalog, the intent routing table (Meta), all 9 harness adapters, READMEs (3 languages) and CHANGELOG. Suite green (539 tests, validate 80 files).
30
+
31
+ ### Added
32
+
33
+ - **`wize-check`** (orchestrator skill) — read-only progress checklist for the demand in flight: objective (done condition), where we are, done / in progress / left / blocked, and one next step. Enforces an **evidence rule** (an item only reaches *Done* with a commit, `file:line`, a command that passed, or a recorded gate) so progress is never overstated, then **resumes the interrupted work**. Modes: default, `now`, `save`, `{topic}`. Complements `wize-sprint-status` (sprint detail), `wize-checkpoint-preview` (continue/pivot decision) and `wize-correct-course` (re-plan) without replacing any of them. Intent phrases: "checklist", "o que falta", "o que já foi feito", "acompanhamento", "me atualiza", "cadê que paramos", "what's left".
34
+
12
35
  ## [0.13.0] — 2026-08-28
13
36
 
14
37
  **`install --yes` now installs everything.** The quick install (`npx wize-dev-kit install --yes`) previously defaulted to the core profile and the Claude Code + generic harnesses only. It now enables **all 4 profiles** (core + web-overlay + app-overlay + security-overlay) and **all 9 harnesses** (claude-code, cursor, windsurf, codex, continue, kimi-code, opencode, antigravity, generic) — a true one-shot full install. Explicit `--profiles` / `--targets` flags still narrow the selection.
package/README.es.md CHANGED
@@ -69,7 +69,7 @@ Tras instalar, abre tu IDE y di:
69
69
 
70
70
  ## Harnesses soportados
71
71
 
72
- Los 9 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.
72
+ Los 10 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
  |---|---|---|
@@ -77,6 +77,7 @@ Los 9 IDEs objetivo se renderizan desde la misma fuente; el formato y la mecáni
77
77
  | **Claude Code** | `.claude/skills/*/SKILL.md` | Formato Skill de Anthropic; fan-out ad-hoc vía Task/Agent tool (`wize-code-review`). [Docs →](docs/harnesses/claude-code.md) |
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
+ | **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) |
80
81
  | **Antigravity** | `.agent/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/antigravity.md) |
81
82
  | **Cursor** | `.cursor/rules/*.mdc` | Reglas on-demand (`alwaysApply: false`), emparejadas por descripción. [Docs →](docs/harnesses/cursor.md) |
82
83
  | **Windsurf** | `.windsurf/rules/*.md` | Markdown plano; el modo de activación se define dentro del IDE. [Docs →](docs/harnesses/windsurf.md) |
@@ -152,6 +153,9 @@ Transversales:
152
153
  /wize-help Wizer te enruta: `next` (única acción siguiente),
153
154
  `status` (snapshot del proyecto), `mission` (un
154
155
  contrato de misión lleno para la persona ejecutora).
156
+ /wize-check Checklist de avance de la demanda en vuelo: hecho
157
+ (con evidencia), en curso, lo que falta — luego
158
+ retoma el trabajo interrumpido.
155
159
  /wize-grill Entrevista-hasta-entendimiento antes de cualquier
156
160
  paso de autoría.
157
161
  /wize-quick-dev Shuri toma un arreglo pequeño sin el ciclo completo.
@@ -252,7 +256,7 @@ npx wize-dev-kit version # imprime la versión instalada del kit
252
256
 
253
257
  ## Estado
254
258
 
255
- **v0.12.1 — beta.** El método nunca produce estimaciones de desarrollo — ni horas, ni puntos, ni tallas de camiseta; una story se dimensiona solo por si cabe en un único PR. El ciclo completo (análisis → plan → solución → implementación) está montado con 10 agentes y una biblioteca estructurada de skills. Los releases recientes suman **contratos de misión** (`/wize-help mission`), **`wize-grill`** (entrevista-hasta-entendimiento antes de cualquier paso de autoría), **`wize-pre-pr-check`** (gate local de lint/format/build/tests unitarios antes de abrir un PR — cero costo de runner de CI) y **loop verification** en `wize-dev-story` (un loop de implementación auto-verificable con guarda de max-cycles que escala a `wize-correct-course`). El `security-overlay` (Pentester de IA) entrega un pipeline de pentest completo, un informe ejecutivo (puntuación de riesgo + briefing + plan de acción por IA) y planificación de remediación post-scan — validado de principio a fin contra una aplicación Laravel/PHP real. Los adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode y Antigravity se regeneran automáticamente — [OpenCode](docs/harnesses/opencode.md) recibe wiring nativo de `mode`/`agent`/`subtask`, la integración más profunda de las 9.
259
+ **v0.12.1 — beta.** El método nunca produce estimaciones de desarrollo — ni horas, ni puntos, ni tallas de camiseta; una story se dimensiona solo por si cabe en un único PR. El ciclo completo (análisis → plan → solución → implementación) está montado con 10 agentes y una biblioteca estructurada de skills. Los releases recientes suman **contratos de misión** (`/wize-help mission`), **`wize-grill`** (entrevista-hasta-entendimiento antes de cualquier paso de autoría), **`wize-pre-pr-check`** (gate local de lint/format/build/tests unitarios antes de abrir un PR — cero costo de runner de CI) y **loop verification** en `wize-dev-story` (un loop de implementación auto-verificable con guarda de max-cycles que escala a `wize-correct-course`). El `security-overlay` (Pentester de IA) entrega un pipeline de pentest completo, un informe ejecutivo (puntuación de riesgo + briefing + plan de acción por IA) y planificación de remediación post-scan — validado de principio a fin contra una aplicación Laravel/PHP real. Los adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, OpenCode y Antigravity se regeneran automáticamente — [OpenCode](docs/harnesses/opencode.md) recibe wiring nativo de `mode`/`agent`/`subtask`, la integración más profunda de las 10.
256
260
 
257
261
  ---
258
262
 
package/README.md CHANGED
@@ -69,7 +69,7 @@ After install, open your IDE and say:
69
69
 
70
70
  ## Supported harnesses
71
71
 
72
- All 9 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.
72
+ All 10 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
  |---|---|---|
@@ -77,6 +77,7 @@ All 9 IDE targets render from the same source; format and mechanics differ per h
77
77
  | **Claude Code** | `.claude/skills/*/SKILL.md` | Anthropic Skill format; ad-hoc Task/Agent-tool fan-out (`wize-code-review`). [Docs →](docs/harnesses/claude-code.md) |
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
+ | **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) |
80
81
  | **Antigravity** | `.agent/skills/*/SKILL.md` | Same Skill format + root `AGENTS.md`. [Docs →](docs/harnesses/antigravity.md) |
81
82
  | **Cursor** | `.cursor/rules/*.mdc` | On-demand rules (`alwaysApply: false`), matched by description. [Docs →](docs/harnesses/cursor.md) |
82
83
  | **Windsurf** | `.windsurf/rules/*.md` | Plain markdown; activation mode set inside the IDE. [Docs →](docs/harnesses/windsurf.md) |
@@ -150,6 +151,9 @@ Cross-cutting:
150
151
  /wize-help Wizer routes you: `next` (single next action),
151
152
  `status` (project snapshot), `mission` (a filled
152
153
  mission contract for the executing persona).
154
+ /wize-check Progress checklist for the demand in flight:
155
+ done (with evidence), in progress, what's left —
156
+ then resumes the interrupted work.
153
157
  /wize-grill Interview-to-understanding before any authoring step.
154
158
  /wize-quick-dev Shuri takes a small fix without the full ride.
155
159
  /wize-pre-pr-check Run lint/format/build/unit tests locally before
@@ -247,7 +251,7 @@ npx wize-dev-kit version # print the installed kit version
247
251
 
248
252
  ## Status
249
253
 
250
- **v0.12.1 — beta.** The method never produces development estimates — no hours, points, or t-shirt sizes; a story is sized only by whether it fits a single PR. The full lifecycle (analysis → plan → solution → implementation) is wired with 10 agents and a structured skill library. Recent releases add **mission contracts** (`/wize-help mission`), **`wize-grill`** (interview-to-shared-understanding before any authoring step), **`wize-pre-pr-check`** (local lint/format/build/unit-test gate before opening a PR — zero CI runner cost), and **loop verification** in `wize-dev-story` (a self-checking implementation loop with a max-cycles guard that escalates to `wize-correct-course`). The `security-overlay` (AI Pentester) ships a complete pentest pipeline, a stakeholder report (risk score + briefing + AI action plan), and post-scan remediation planning — validated end-to-end against a real Laravel/PHP app. IDE adapters for Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, and Antigravity are regenerated automatically — [OpenCode](docs/harnesses/opencode.md) gets native `mode`/`agent`/`subtask` wiring, the deepest integration of the 9.
254
+ **v0.12.1 — beta.** The method never produces development estimates — no hours, points, or t-shirt sizes; a story is sized only by whether it fits a single PR. The full lifecycle (analysis → plan → solution → implementation) is wired with 10 agents and a structured skill library. Recent releases add **mission contracts** (`/wize-help mission`), **`wize-grill`** (interview-to-shared-understanding before any authoring step), **`wize-pre-pr-check`** (local lint/format/build/unit-test gate before opening a PR — zero CI runner cost), and **loop verification** in `wize-dev-story` (a self-checking implementation loop with a max-cycles guard that escalates to `wize-correct-course`). The `security-overlay` (AI Pentester) ships a complete pentest pipeline, a stakeholder report (risk score + briefing + AI action plan), and post-scan remediation planning — validated end-to-end against a real Laravel/PHP app. IDE adapters for Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, OpenCode, and Antigravity are regenerated automatically — [OpenCode](docs/harnesses/opencode.md) gets native `mode`/`agent`/`subtask` wiring, the deepest integration of the 10.
251
255
 
252
256
  ---
253
257
 
package/README.pt-BR.md CHANGED
@@ -69,7 +69,7 @@ Após instalar, abra sua IDE e diga:
69
69
 
70
70
  ## Harnesses suportadas
71
71
 
72
- Os 9 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.
72
+ Os 10 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
  |---|---|---|
@@ -77,6 +77,7 @@ Os 9 alvos de IDE são gerados a partir da mesma fonte; formato e mecânica muda
77
77
  | **Claude Code** | `.claude/skills/*/SKILL.md` | Formato Skill da Anthropic; fan-out ad hoc via Task/Agent tool (`wize-code-review`). [Docs →](docs/harnesses/claude-code.pt-BR.md) |
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
+ | **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) |
80
81
  | **Antigravity** | `.agent/skills/*/SKILL.md` | Mesmo formato Skill + `AGENTS.md` na raiz. [Docs →](docs/harnesses/antigravity.pt-BR.md) |
81
82
  | **Cursor** | `.cursor/rules/*.mdc` | Rules sob demanda (`alwaysApply: false`), casadas por descrição. [Docs →](docs/harnesses/cursor.pt-BR.md) |
82
83
  | **Windsurf** | `.windsurf/rules/*.md` | Markdown puro; modo de ativação definido dentro da IDE. [Docs →](docs/harnesses/windsurf.pt-BR.md) |
@@ -151,6 +152,9 @@ Transversais:
151
152
  /wize-help Wizer te direciona: `next` (próxima ação única),
152
153
  `status` (snapshot do projeto), `mission` (contrato
153
154
  de missão preenchido para a persona executora).
155
+ /wize-check Checklist de acompanhamento da demanda em voo:
156
+ feito (com evidência), em andamento, o que falta —
157
+ depois retoma o trabalho interrompido.
154
158
  /wize-grill Entrevista-até-entendimento antes de qualquer passo
155
159
  de autoria.
156
160
  /wize-quick-dev Shuri pega uma correção pequena sem o ciclo completo.
@@ -250,7 +254,7 @@ npx wize-dev-kit version # imprime a versão instalada do kit
250
254
 
251
255
  ## Status
252
256
 
253
- **v0.12.1 — beta.** O método nunca produz estimativas de desenvolvimento — nada de horas, pontos ou tamanhos de camiseta; uma story é dimensionada apenas por caber (ou não) em um único PR. O ciclo completo (análise → plano → solução → implementação) está montado com 10 agentes e uma biblioteca estruturada de skills. Releases recentes adicionam **contratos de missão** (`/wize-help mission`), **`wize-grill`** (entrevista-até-entendimento antes de qualquer passo de autoria), **`wize-pre-pr-check`** (gate local de lint/format/build/testes unitários antes de abrir um PR — zero custo de runner de CI) e **loop verification** no `wize-dev-story` (loop de implementação auto-verificável com guarda de max-cycles que escala para `wize-correct-course`). O `security-overlay` (Pentester de IA) entrega um pipeline de pentest completo, um relatório executivo (score de risco + briefing + plano de ação por IA) e planejamento de correção pós-scan — validado de ponta a ponta contra uma aplicação Laravel/PHP real. Os adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode e Antigravity são regenerados automaticamente — o [OpenCode](docs/harnesses/opencode.pt-BR.md) tem a integração mais profunda das 9, com `mode`/`agent`/`subtask` nativos.
257
+ **v0.12.1 — beta.** O método nunca produz estimativas de desenvolvimento — nada de horas, pontos ou tamanhos de camiseta; uma story é dimensionada apenas por caber (ou não) em um único PR. O ciclo completo (análise → plano → solução → implementação) está montado com 10 agentes e uma biblioteca estruturada de skills. Releases recentes adicionam **contratos de missão** (`/wize-help mission`), **`wize-grill`** (entrevista-até-entendimento antes de qualquer passo de autoria), **`wize-pre-pr-check`** (gate local de lint/format/build/testes unitários antes de abrir um PR — zero custo de runner de CI) e **loop verification** no `wize-dev-story` (loop de implementação auto-verificável com guarda de max-cycles que escala para `wize-correct-course`). O `security-overlay` (Pentester de IA) entrega um pipeline de pentest completo, um relatório executivo (score de risco + briefing + plano de ação por IA) e planejamento de correção pós-scan — validado de ponta a ponta contra uma aplicação Laravel/PHP real. Os adapters de IDE para Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, Hermes, OpenCode e Antigravity são regenerados automaticamente — o [OpenCode](docs/harnesses/opencode.pt-BR.md) tem a integração mais profunda das 10, com `mode`/`agent`/`subtask` nativos.
254
258
 
255
259
  ---
256
260
 
@@ -12,6 +12,7 @@ Each adapter renders the kit's agents/skills/workflows into the file layout that
12
12
  | `codex` | `.agents/skills/wize-*/` | `SKILL.md` per agent/workflow | OpenAI Codex. |
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
+ | `hermes` | `.hermes/skills/wize-*/` | `SKILL.md` per agent/workflow | Hermes Agent (project-local skills, Anthropic-compatible). |
15
16
  | `opencode` | `.opencode/agents/wize-*.md` + `.opencode/commands/wize-*.md` | Markdown | OpenCode CLI. Native agents + commands. |
16
17
  | `antigravity` | `.agent/skills/wize-*/` | `SKILL.md` per agent/workflow | Antigravity CLI + IDE. |
17
18
  | `generic` | `.wize/agents/wize-*.md` | Markdown | Fallback for any agent that can read a folder of markdown. |
@@ -0,0 +1,23 @@
1
+ # Hermes Agent — Wize Dev Kit Adapter
2
+
3
+ Emits the kit's agents/skills/workflows as Hermes project-local skills under
4
+ `.hermes/skills/wize-{code}/SKILL.md`, using the Anthropic `SKILL.md` format
5
+ that Hermes consumes verbatim (same as Claude Code / Codex / Kimi Code).
6
+
7
+ ## How Hermes picks these up
8
+
9
+ - Hermes discovers project-local skills at `<git-root>/.hermes/skills/`
10
+ (Hermes-native) and `<git-root>/.agents/skills/` (cross-tool convention).
11
+ - **Trust gate:** skills are only loaded when the repo root is trusted. Run
12
+ `hermes skills trust` (or add the repo to `skills.trusted_project_dirs` in
13
+ `~/.hermes/config.yaml`) once per checkout.
14
+ - Trusted project skills **override** same-named profile/bundled skills —
15
+ vendored repo skills win inside their repo.
16
+ - Hermes also reads root-level `AGENTS.md` (and `CLAUDE.md`, `.cursorrules`)
17
+ as project context, so installing the generic target alongside is a bonus,
18
+ not a requirement.
19
+
20
+ ## Files
21
+
22
+ - `render.js` — renders via the shared `renderAnthropicSkills` emitter.
23
+ - `adapter.yaml` — descriptor (target path, file pattern).
@@ -0,0 +1,8 @@
1
+ code: hermes
2
+ description: "Hermes Agent skills (.hermes/skills/, Anthropic-compatible, project-local)."
3
+ target_path: ".hermes/skills/"
4
+ file_pattern: "wize-*/SKILL.md"
5
+ file_format: markdown
6
+ hooks:
7
+ pre_render: []
8
+ post_render: []
@@ -0,0 +1,17 @@
1
+ // Hermes Agent adapter — emits .hermes/skills/wize-{code}/SKILL.md per asset.
2
+ // Hermes consumes the Anthropic SKILL.md format verbatim (same as Claude Code,
3
+ // Codex, Kimi Code). Project-local skills live at <repo-root>/.hermes/skills/
4
+ // and are only loaded when the repo root is trusted (`hermes skills trust`),
5
+ // mirroring the OpenCode/Codex `.agents/skills/` convention.
6
+
7
+ 'use strict';
8
+
9
+ const path = require('node:path');
10
+ const { renderAnthropicSkills } = require('../../tools/installer/render-shared.js');
11
+
12
+ function render(kitRoot, projectRoot, opts = {}) {
13
+ const targetDir = path.join(projectRoot, '.hermes', 'skills');
14
+ return renderAnthropicSkills(kitRoot, targetDir, opts);
15
+ }
16
+
17
+ module.exports = { render };
@@ -0,0 +1,26 @@
1
+ # Hermes Agent — Wize Development Kit
2
+
3
+ 🌐 **Languages:** **English** · [Português (pt-BR)](hermes.pt-BR.md)
4
+
5
+ ← [Back to README](../../README.md)
6
+
7
+ Hermes Agent consumes the same public Anthropic Skill format as Claude Code, Codex, and Kimi Code, as project-local skills.
8
+
9
+ ## Output
10
+
11
+ `.hermes/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
+ - **Project-local skills.** Hermes discovers `<git-root>/.hermes/skills/` (Hermes-native) and `<git-root>/.agents/skills/` (cross-tool convention) for sessions started inside that project.
16
+ - **Trust gate.** Skills are load-on-demand procedure documents, so Hermes only loads project skills when the repo root is trusted — run `hermes skills trust` (or add the root to `skills.trusted_project_dirs` in `~/.hermes/config.yaml`) once per checkout. Untrusted repos are still discoverable with a one-line notice.
17
+ - **Precedence.** Trusted project skills override same-named profile/bundled skills — vendored repo skills win inside their repo.
18
+ - Hermes also reads root-level `AGENTS.md` (plus `CLAUDE.md`, `.cursorrules`) as project context, so pairing with the **Generic fallback** target is a bonus.
19
+
20
+ ## Setup
21
+
22
+ Pick **Hermes Agent** as an IDE target during `npx wize-dev-kit install` (or add it and re-run `npx wize-dev-kit sync`). Run `hermes skills trust` in the repo, restart Hermes, then run `/wize-orchestrator`.
23
+
24
+ ## Headless
25
+
26
+ `hermes -z "<prompt>"` runs a one-shot headless session, which the installer's brownfield baseline uses when Hermes is the detected harness CLI.
@@ -0,0 +1,26 @@
1
+ # Hermes Agent — Wize Development Kit
2
+
3
+ 🌐 **Idiomas:** [English](hermes.md) · **Português (pt-BR)**
4
+
5
+ ← [Voltar ao README](../../README.pt-BR.md)
6
+
7
+ O Hermes Agent consome o mesmo formato público de Skill da Anthropic usado pelo Claude Code, Codex e Kimi Code, na forma de skills project-local.
8
+
9
+ ## Saída
10
+
11
+ `.hermes/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
+ - **Skills project-local.** O Hermes descobre `<git-root>/.hermes/skills/` (nativo do Hermes) e `<git-root>/.agents/skills/` (convenção compartilhada) para sessões iniciadas dentro do projeto.
16
+ - **Trust gate.** Skills são documentos de procedimento carregados sob demanda, então o Hermes só carrega skills do projeto quando a raiz do repositório é confiável — rode `hermes skills trust` (ou adicione a raiz em `skills.trusted_project_dirs` no `~/.hermes/config.yaml`) uma vez por checkout. Repositórios não confiáveis seguem detectáveis com um aviso de uma linha.
17
+ - **Precedência.** Skills project-local confiáveis sobrescrevem skills de mesmo nome do perfil/bundle — skills versionadas no repo vencem dentro do próprio repo.
18
+ - O Hermes também lê `AGENTS.md` na raiz (além de `CLAUDE.md`, `.cursorrules`) como contexto de projeto, então combinar com o alvo **Fallback genérico** é um bônus.
19
+
20
+ ## Como ativar
21
+
22
+ Escolha **Hermes Agent** como alvo de IDE em `npx wize-dev-kit install` (ou adicione depois e rode `npx wize-dev-kit sync`). Rode `hermes skills trust` no repo, reinicie o Hermes e rode `/wize-orchestrator`.
23
+
24
+ ## Headless
25
+
26
+ `hermes -z "<prompt>"` roda uma sessão headless de uma execução, usada pelo baseline brownfield do instalador quando o Hermes é o CLI de 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.13.0",
4
+ "version": "0.15.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",
@@ -19,6 +19,9 @@ skills:
19
19
  - code: wize-help
20
20
  name: "Help (Wizer)"
21
21
  description: "Canonical help skill. Project-state-aware help. Reads .wize/ and tells the user what to do next. Modes: default, next, status, personas."
22
+ - code: wize-check
23
+ name: "Check (Wizer)"
24
+ description: "Progress checklist for the demand in flight: done (with evidence), in progress, left, blocked. Read-only — reports, then resumes the interrupted work."
22
25
  - code: wize-onboarding
23
26
  name: "Onboarding"
24
27
  description: "Post-install triage: greenfield vs brownfield, profile, objective. Delegates to specialists."
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ code: wize-check
4
+ description: "Use quando o usuário pedir clareza de acompanhamento no meio do trabalho — um checklist de onde estamos, o que já foi feito, o que falta e o que trava, até a condição de pronto."
5
+ name: Check (Wizer)
6
+ module: orchestrator
7
+ owner: wize-orchestrator
8
+ status: ready
9
+ aliases: []
10
+ ---
11
+
12
+ # Wizer · `/wize-check`
13
+
14
+ **Goal.** In under 60 seconds, return a **progress checklist** for the demand in flight: what the objective is, where we are, what is already done (with evidence), what is in progress, what is left until the done condition, and what is waiting on the user.
15
+
16
+ This is a **read-only interruption**. It does not edit code, does not advance the task, does not re-plan. After answering, **resume exactly the work that was in flight**, at the step where it stopped.
17
+
18
+ ## Modes
19
+
20
+ | Invocation | What to do |
21
+ |---|---|
22
+ | `/wize-check` | Full checklist for the demand in flight. |
23
+ | `/wize-check now` | Two lines only: what I'm doing right now + the next step. |
24
+ | `/wize-check {topic}` | Narrow the checklist to one scope (a story, a PR, a bug, a document). |
25
+ | `/wize-check save` | Same checklist, plus write it to `.wize/implementation/checks/{YYYY-MM-DD-HHmm}.md`. |
26
+
27
+ ## Step 1 — reconstruct the state (in this order)
28
+
29
+ 1. **The session itself** — the original request, the decisions already taken, the files edited, the commands run and what they returned. This is the primary source.
30
+ 2. **Work still in flight** — background commands, pending subagents, a PR awaiting review, CI running. It goes under *in progress*, never under *done*.
31
+ 3. **Kit artifacts** (when they exist): `.wize/implementation/sprint-status.yaml`, the story in flight under `.wize/solutioning/stories/**`, the latest `.wize/implementation/tea/**/gate.md`.
32
+ 4. **Git** (if this is a repository): current branch, `git status`, commits since the base, open PR.
33
+ 5. **Project memory / pointers** — only to recall the stated objective, never as proof of execution.
34
+
35
+ ## Step 2 — evidence rule (non-negotiable)
36
+
37
+ An item only reaches **Done** with verifiable proof: a file and line, a commit, a command that ran and passed, a recorded gate, a merged PR.
38
+
39
+ - No proof → **In progress** or **Unverified**, said out loud.
40
+ - Intent, a plan, or "I implemented it" are not evidence.
41
+ - If something was written but not validated, the item is `[~]` with the missing validation named next to it.
42
+
43
+ Overstating progress is the one serious failure mode of this skill.
44
+
45
+ ## Step 3 — the done condition (the "until we get to…")
46
+
47
+ Before building the list, write in one line **where this demand ends** — the observable result that closes it.
48
+
49
+ - If it is explicit in the session or in the artifacts, quote it.
50
+ - If it is not, **state the criterion you assumed** and ask for confirmation in one line. Never invent a destination silently.
51
+
52
+ ## Step 4 — build the checklist
53
+
54
+ ```markdown
55
+ ## Checklist — {demand in one line}
56
+
57
+ **Objective:** {done condition — the observable result}
58
+ **Where we are:** {phase} · step {X} of {Y}
59
+
60
+ ### Done
61
+ - [x] {item} — {evidence: commit / file:line / command that passed}
62
+
63
+ ### In progress
64
+ - [~] {item} — {what is missing to close it}
65
+
66
+ ### Left
67
+ - [ ] {item} — {who executes: skill or person}
68
+
69
+ ### Blocked / waiting on you
70
+ - {decision, credential, approval — or "nothing"}
71
+
72
+ **Progress:** {n}/{total} · **Next step:** {one action, one line}
73
+ ```
74
+
75
+ ### Shape rules
76
+
77
+ - At most ~12 items total. Group; do not list micro-steps.
78
+ - Order **Left** by dependency, not by importance.
79
+ - One single next step. If two candidates tie, pick one and say why in half a line.
80
+ - No preamble, no closing summary, no praise for the progress.
81
+ - If a section is empty, write "—" and move on. Never invent an item to fill it.
82
+ - If an item **regressed** (broke, was reverted, gate flipped to FAIL), it goes back to *In progress* with the cause next to it.
83
+
84
+ ## Step 5 — resume
85
+
86
+ After the checklist, return to the interrupted work without asking permission and without reopening the plan — unless the checklist itself surfaced a blocker that needs a decision from the user. In that case, stop and ask.
87
+
88
+ ## When NOT to use
89
+
90
+ - Full sprint detail (stories, capacity, priorities) → `wize-sprint-status`.
91
+ - A continue / pivot / stop decision mid-story → `wize-checkpoint-preview`.
92
+ - Sprint off the rails, needs re-planning → `wize-correct-course`.
93
+
94
+ `wize-check` only reports. If the checklist shows the plan is wrong, say so in one line and point at the skill above — do not re-plan here.
95
+
96
+ ## Hand-off
97
+
98
+ > Checklist delivered. Resuming: {next step}.
@@ -182,6 +182,7 @@ Match is case-insensitive, substring-based. Longest match wins. When no intent m
182
182
  |---|---|
183
183
  | "help", "ajuda", "o que fazer", "próximo passo", "what next" | Show status + next step (no skill dispatch) |
184
184
  | "status", "como estamos", "onde estamos", "progresso" | Show sprint status / project snapshot |
185
+ | "checklist", "o que falta", "o que já foi feito", "acompanhamento", "me atualiza", "cadê que paramos", "what's left" | `wize-check` |
185
186
  | "retrospective", "retrospectiva", "retro", "lições aprendidas" | `wize-retrospective` |
186
187
  | "personas", "quem faz o quê", "roster", "equipe" | List personas relevant to active profiles |
187
188
  | "mission", "missão", "contrato", "mission contract" | Emit filled mission contract |
@@ -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 (universal fallback)
8
+ // 2. claude > codex > opencode > hermes (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.
@@ -35,6 +35,11 @@ const HARNESSES = [
35
35
  code: 'opencode',
36
36
  binary: 'opencode',
37
37
  buildCmd: (prompt) => ({ cmd: 'opencode', args: ['run', prompt] })
38
+ },
39
+ {
40
+ code: 'hermes',
41
+ binary: 'hermes',
42
+ buildCmd: (prompt) => ({ cmd: 'hermes', args: ['-z', prompt] })
38
43
  }
39
44
  ];
40
45
 
@@ -96,7 +101,7 @@ function manualInstructions(harness) {
96
101
  if (!harness) {
97
102
  return [
98
103
  '',
99
- 'No AI harness CLI was detected on PATH (claude / codex / opencode).',
104
+ 'No AI harness CLI was detected on PATH (claude / codex / opencode / hermes).',
100
105
  'Open your IDE in this repo and run:',
101
106
  ' /wize-document-project',
102
107
  ''
@@ -60,6 +60,7 @@ function adapterTargetPath(targetCode, projectRoot) {
60
60
  case 'antigravity': return path.join(projectRoot, '.agent/skills');
61
61
  case 'codex': return path.join(projectRoot, '.agents/skills');
62
62
  case 'kimi-code': return path.join(projectRoot, '.kimi/skills');
63
+ case 'hermes': return path.join(projectRoot, '.hermes/skills');
63
64
  case 'cursor': return path.join(projectRoot, '.cursor/rules');
64
65
  case 'windsurf': return path.join(projectRoot, '.windsurf/rules');
65
66
  case 'continue': return path.join(projectRoot, '.continue/prompts');
@@ -286,7 +286,7 @@ function renderAgentsMd(kitRoot, projectRoot, opts = {}) {
286
286
  '',
287
287
  'This repo is wired with the [`wize-dev-kit`](https://www.npmjs.com/package/wize-dev-kit).',
288
288
  'Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE',
289
- 'using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).',
289
+ 'using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity, Hermes all read this file).',
290
290
  '',
291
291
  '## Operating context',
292
292
  '',
@@ -24,6 +24,7 @@ const GITIGNORE_BODY = [
24
24
  '.agent/skills/wize-*',
25
25
  '.agents/skills/wize-*',
26
26
  '.kimi/skills/wize-*',
27
+ '.hermes/skills/wize-*',
27
28
  '.cursor/rules/wize-*.mdc',
28
29
  '.windsurf/rules/wize-*.md',
29
30
  '.continue/prompts/wize-*.prompt',
@@ -3,9 +3,9 @@
3
3
  * wize-dev-kit — CLI entry point
4
4
  * Subcommands: install, update, uninstall, list, sync, agent, workflow, help
5
5
  *
6
- * v0.13.0 — Full-lifecycle CLI with install, update, uninstall, list, sync,
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 9 IDE targets. Security overlay ships with 8 tools.
8
+ * render for 10 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';
@@ -37,6 +37,7 @@ const TARGETS = [
37
37
  { code: 'codex', label: 'Codex', default: false },
38
38
  { code: 'continue', label: 'Continue', default: false },
39
39
  { code: 'kimi-code', label: 'Kimi Code', default: false },
40
+ { code: 'hermes', label: 'Hermes Agent (.hermes/skills/)', default: false },
40
41
  { code: 'opencode', label: 'OpenCode', default: false },
41
42
  { code: 'antigravity', label: 'Antigravity (CLI + IDE)', default: false },
42
43
  { code: 'generic', label: 'Generic fallback (.wize/agents/)', default: true }