wize-dev-kit 0.8.0 → 0.9.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 +16 -0
- package/ARCH.md +33 -18
- package/CHANGELOG.md +38 -0
- package/DECISIONS.md +5 -0
- package/README.es.md +25 -4
- package/README.md +26 -3
- package/README.pt-BR.md +4 -3
- package/ROSTER.md +11 -3
- package/adapters/README.md +5 -5
- package/adapters/antigravity/README.md +5 -5
- package/adapters/claude-code/README.md +1 -1
- package/adapters/continue/README.md +5 -5
- package/adapters/cursor/README.md +2 -2
- package/adapters/generic/README.md +1 -1
- package/adapters/kimi-code/README.md +5 -5
- package/adapters/opencode/README.md +3 -3
- package/adapters/windsurf/README.md +3 -3
- package/package.json +1 -1
- package/schemas/agent.schema.json +2 -2
- package/schemas/workflow.schema.json +1 -1
- package/src/method-skills/3-solutioning/wize-create-epics-and-stories/workflow.md +27 -6
- package/src/method-skills/4-implementation/wize-create-story/workflow.md +36 -7
- package/src/method-skills/4-implementation/wize-dev-story/workflow.md +28 -3
- package/src/method-skills/4-implementation/wize-quick-dev/workflow.md +13 -0
- package/src/orchestrator-skills/wize-help/skill.md +102 -90
- package/src/orchestrator-skills/wize-orchestrator/persona.md +3 -1
- package/tools/installer/render-shared.js +15 -0
package/AGENTS.md
CHANGED
|
@@ -4,9 +4,25 @@ This repo is wired with the [`wize-dev-kit`](https://www.npmjs.com/package/wize-
|
|
|
4
4
|
Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE
|
|
5
5
|
using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).
|
|
6
6
|
|
|
7
|
+
## Operating context
|
|
8
|
+
|
|
9
|
+
Treat `.wize/`, this `AGENTS.md`, and the installed `wize-*` skills as your operating
|
|
10
|
+
instructions and persistent memory — not background reading. Read project state before
|
|
11
|
+
acting; write what you change back into `.wize/` so the next session inherits it.
|
|
12
|
+
|
|
13
|
+
Before editing, classify the demand via `/wize-help`: **Quick Dev** (small, predictable,
|
|
14
|
+
~≤1h, no new feature / architecture / UX / security) or **Full Lifecycle**. Never pick
|
|
15
|
+
Quick Dev just to skip artifacts.
|
|
16
|
+
|
|
17
|
+
When a skill fans out to subagents, match the model tier to the task: a lightweight tier
|
|
18
|
+
for mechanical work (reads, greps, formatting, short summaries), the standard tier for
|
|
19
|
+
implementation and review, a high-capability tier only for architecture, critical
|
|
20
|
+
decisions, or final adversarial review.
|
|
21
|
+
|
|
7
22
|
## Roster
|
|
8
23
|
|
|
9
24
|
- **Hawkeye** (`wize-agent-test-architect`) — Test Architect (TEA). |
|
|
25
|
+
- **red-teamer** (`wize-sec-red-teamer`) — Security Overlay — Red-Teamer. |
|
|
10
26
|
- **Wizer** (`wize-orchestrator`) — Orchestrator / Knowledge Base. |
|
|
11
27
|
- **Shuri** (`wize-agent-dev`) — Senior Developer. |
|
|
12
28
|
- **Nick Fury** (`wize-agent-solution-strategist`) — Solution Strategy / Tech Vision. |
|
package/ARCH.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
## 1. Identidade
|
|
10
10
|
|
|
11
11
|
- **Nome do pacote npm:** `wize-dev-kit`
|
|
12
|
-
- **CLI:** `wize-dev-kit` (subcomandos: `install`, `update`, `uninstall`, `agent`, `workflow`, `
|
|
12
|
+
- **CLI:** `wize-dev-kit` (subcomandos: `install`, `update`, `uninstall`, `list`, `sync`, `agent`, `workflow`, `validate`, `doctor`, `document-project`)
|
|
13
13
|
- **Namespace de arquivos/agentes/skills:** `wize-*`
|
|
14
14
|
- **Licença:** MIT — open-source desde o dia 1.
|
|
15
15
|
- **Tema visual do roster:** Marvel.
|
|
@@ -19,15 +19,16 @@
|
|
|
19
19
|
|
|
20
20
|
## 2. Modelo de distribuição
|
|
21
21
|
|
|
22
|
-
**1 pacote,
|
|
22
|
+
**1 pacote, 4 perfis selecionáveis, overlays combináveis.**
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
wize-dev-kit (pacote npm)
|
|
26
26
|
│
|
|
27
27
|
├── Wize Dev Core ← base completa (sempre instalada)
|
|
28
28
|
├── Wize Web Dev ← overlay opt-in
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
├── Wize App Development ← overlay opt-in
|
|
30
|
+
└── Wize Security Overlay ← overlay opt-in (AI Pentester / red-teamer)
|
|
31
|
+
(overlays podem coexistir no mesmo repo)
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
- Selecionar perfil no installer aplica Core + overlay correspondente.
|
|
@@ -36,7 +37,7 @@ wize-dev-kit (pacote npm)
|
|
|
36
37
|
|
|
37
38
|
---
|
|
38
39
|
|
|
39
|
-
## 3. Roster final (9 personas
|
|
40
|
+
## 3. Roster final (9 core personas + 1 overlay persona)
|
|
40
41
|
|
|
41
42
|
| Persona | Code | Papel | Fase principal |
|
|
42
43
|
|---|---|---|---|
|
|
@@ -49,6 +50,7 @@ wize-dev-kit (pacote npm)
|
|
|
49
50
|
| Tony Stark | `wize-agent-architect` | System Architect | 3 (Solutioning) |
|
|
50
51
|
| Hawkeye | `wize-agent-test-architect` | Test Architect (TEA) | Gates 2/3/4 |
|
|
51
52
|
| Shuri | `wize-agent-dev` | Senior Developer | 4 (Implementation) |
|
|
53
|
+
| red-teamer | `wize-sec-red-teamer` | AI Pentester (security-overlay, opt-in) | Transversal |
|
|
52
54
|
|
|
53
55
|
---
|
|
54
56
|
|
|
@@ -162,12 +164,12 @@ E nos IDE-targets (selecionáveis no install):
|
|
|
162
164
|
```
|
|
163
165
|
.claude/skills/wize-* (Claude Code)
|
|
164
166
|
.cursor/rules/wize-*.mdc (Cursor)
|
|
165
|
-
.windsurf
|
|
166
|
-
.
|
|
167
|
-
.continue
|
|
168
|
-
.kimi
|
|
169
|
-
.opencode
|
|
170
|
-
.
|
|
167
|
+
.windsurf/rules/wize-*.md (Windsurf)
|
|
168
|
+
.agents/skills/wize-* (Codex — .codex/ foi revertido na 0.7.3)
|
|
169
|
+
.continue/prompts/wize-*.prompt (Continue)
|
|
170
|
+
.kimi/skills/wize-* (Kimi Code)
|
|
171
|
+
.opencode/agents/ + .opencode/commands/ (OpenCode)
|
|
172
|
+
.agent/skills/wize-* (Antigravity CLI/IDE)
|
|
171
173
|
.wize/agents/ (fallback genérico)
|
|
172
174
|
```
|
|
173
175
|
|
|
@@ -196,7 +198,7 @@ wize-dev-kit install
|
|
|
196
198
|
├─ Detecta: greenfield vs brownfield
|
|
197
199
|
├─ Pergunta: perfil(s) — Core / +Web / +App
|
|
198
200
|
├─ Pergunta: IDE targets — multi-select
|
|
199
|
-
├─ Pergunta: idioma
|
|
201
|
+
├─ Pergunta: idioma (output folder é fixo: .wize/)
|
|
200
202
|
├─ Cria .wize/ + adapters IDE
|
|
201
203
|
├─ Se brownfield: oferece `wize-document-project`
|
|
202
204
|
└─ Se ok: dispara onboarding (Wizer → Pepper/Mantis/Tony)
|
|
@@ -268,7 +270,7 @@ wize-dev-kit sync # regera adapters IDE
|
|
|
268
270
|
|
|
269
271
|
- 3 skills meta: `wize-create-agent`, `wize-create-skill`, `wize-create-workflow`.
|
|
270
272
|
- Customização de built-ins via `.wize/custom/{tipo}/{code}/customize.toml` (override sem fork).
|
|
271
|
-
- Validação
|
|
273
|
+
- Validação: checks estruturais (validação de schema via Ajv pendente de orçamento de dependências).
|
|
272
274
|
- Auto-sync: regera adapters de todos os IDEs ativos a cada criação/edição.
|
|
273
275
|
|
|
274
276
|
---
|
|
@@ -295,7 +297,7 @@ wize-dev-kit/
|
|
|
295
297
|
├── ROSTER.md # ← quadro Marvel
|
|
296
298
|
│
|
|
297
299
|
├── src/
|
|
298
|
-
│ ├── core-skills/ # Core (advanced-elicitation, brainstorming,
|
|
300
|
+
│ ├── core-skills/ # Core (advanced-elicitation, brainstorming, spec, etc)
|
|
299
301
|
│ │ └── wize-*/
|
|
300
302
|
│ ├── method-skills/ # AI Agile dev: 1-analysis, 2-plan, 3-solutioning, 4-implementation
|
|
301
303
|
│ │ ├── 1-analysis/
|
|
@@ -347,12 +349,19 @@ wize-dev-kit/
|
|
|
347
349
|
│ │ └── wize-create-workflow/
|
|
348
350
|
│ ├── web-overlay/ # Wize Web Dev overlay
|
|
349
351
|
│ │ ├── wize-web-scaffold/
|
|
352
|
+
│ │ ├── wize-web-deploy/
|
|
350
353
|
│ │ ├── wize-web-seo-audit/
|
|
351
354
|
│ │ └── module.yaml
|
|
352
|
-
│
|
|
353
|
-
│
|
|
354
|
-
│
|
|
355
|
-
│
|
|
355
|
+
│ ├── app-overlay/ # Wize App Development overlay
|
|
356
|
+
│ │ ├── wize-app-scaffold/
|
|
357
|
+
│ │ ├── wize-app-release-channels/
|
|
358
|
+
│ │ ├── wize-app-store-listing/
|
|
359
|
+
│ │ └── module.yaml
|
|
360
|
+
│ └── security-overlay/ # Wize Security Overlay (AI Pentester, opt-in)
|
|
361
|
+
│ ├── agents/ # red-teamer (wize-sec-red-teamer)
|
|
362
|
+
│ ├── skills/
|
|
363
|
+
│ ├── data/
|
|
364
|
+
│ └── _shared/
|
|
356
365
|
│
|
|
357
366
|
├── adapters/ # IDE adapters
|
|
358
367
|
│ ├── claude-code/
|
|
@@ -371,6 +380,12 @@ wize-dev-kit/
|
|
|
371
380
|
│ ├── detect.js # greenfield/brownfield detector
|
|
372
381
|
│ ├── onboarding.js
|
|
373
382
|
│ ├── sync.js
|
|
383
|
+
│ ├── render-shared.js
|
|
384
|
+
│ ├── baseline.js
|
|
385
|
+
│ ├── version-check.js
|
|
386
|
+
│ ├── setup-helpers.js
|
|
387
|
+
│ ├── commands/
|
|
388
|
+
│ ├── document-project/
|
|
374
389
|
│ └── validators/ # schema, lint, dry-run
|
|
375
390
|
│
|
|
376
391
|
└── test/ # specs validating skills + workflows
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,44 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.9.0] — 2026-07-14
|
|
9
|
+
|
|
10
|
+
A cadeia do WDK passa a operar por **mission contracts** — cada etapa declara objetivo, fontes de verdade, escopo, critérios de aceite, contratos de execução/validação e persistência em `.wize/`, no formato que modelos de longo horizonte executam melhor. Suite verde (246 testes, validate 73 arquivos).
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`/wize-help mission`** — novo modo do Wizer: emite um mission contract preenchido a partir do estado do projeto (classe Quick Dev/Full Lifecycle, objetivo, fontes de verdade, escopo & limites, ACs, contratos de execução e validação, persistência, tier de subagentes), pronto para entregar à persona executora. Para Quick Dev, colapsa para a forma mínima.
|
|
15
|
+
- **`wize-dev-story`** — seção "Operating contract" (inspecionar antes de editar, reuse ladder, evidência real de comandos, nunca parar no planejamento) e **Final report** estruturado em 9 itens (rota, resumo, arquivos, mapa AC→teste, comandos + resultados, artefatos `.wize/`, decisões, riscos residuais, próxima ação). Pre-PR check exige mapa AC→teste completo e nomeia explicitamente qualquer check que não rodou e por quê.
|
|
16
|
+
- **`wize-quick-dev`** — "Operating contract (light)" com re-roteamento obrigatório para Full Lifecycle se a mudança crescer além de ~1h ou tocar feature/arquitetura/UX/segurança, e **Done report** compacto de 4 linhas.
|
|
17
|
+
- **`wize-create-epics-and-stories` / `wize-create-story`** — templates de story ganham campos de contrato: **Sources of truth**, **Restrictions** (out-of-scope + comportamentos protegidos + compatibilidade + segurança), **Validation contract** (mapa AC→teste + checks obrigatórios) e **Done means**. Story sem esses campos não está ready-for-dev.
|
|
18
|
+
- **Seleção de tier de modelo em fan-out** — persona do Wizer e AGENTS.md orientam a casar o tier do modelo com a tarefa ao despachar subagentes (leve para trabalho mecânico, padrão para implementação/revisão, alto só para arquitetura/decisões críticas/revisão adversarial final), passando o tier explicitamente quando o harness permitir. Apenas tiers genéricos — sem nomes de modelos de vendor no kit.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **`wize-help` Step 2** — a triagem quick-dev deixou de ser um "atalho" e virou decisão de contrato explícita (tabela Quick Dev vs Full Lifecycle + "nunca use Quick Dev para fugir dos artefatos; em dúvida, pergunte").
|
|
23
|
+
- **`renderAgentsMd` + `AGENTS.md`** — o AGENTS.md gerado ganha bloco "Operating context": tratar `.wize/` + AGENTS.md + skills como instrução operacional e memória persistente (file-first), classificar a demanda via `/wize-help` antes de editar, e a nota de tier de subagentes. `AGENTS.md` da raiz regenerado pelo emitter (roster agora inclui a persona `red-teamer`, que faltava).
|
|
24
|
+
|
|
25
|
+
## [0.8.1] — 2026-07-12
|
|
26
|
+
|
|
27
|
+
Release de alinhamento: documentação ↔ realidade, fecho do ciclo ágil e `/wize-help` corrigido. Sem novas features de produto; suite verde (246 testes, validate 73 arquivos).
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- **`/wize-help` roteava contra o arquivo errado.** Lia `.wize/implementation/sprint-status.md`, mas o canônico é `sprint-status.yaml` — toda detecção de Fase 4 falhava e projetos em sprint eram re-roteados para o começo. Reescrito e re-renderizado para todos os adapters: agora lê o `.yaml`, conhece o atalho `wize-quick-dev`, inclui os gates `wize-validate-prd` e `wize-check-implementation-readiness`, a persona `red-teamer` e os workflows de overlay, tem branch para gate FAIL → `wize-correct-course`, e não anuncia mais o alias `/wize` inexistente. Mais conciso (heurístico em tabela única).
|
|
32
|
+
- **Schemas rejeitavam os assets do security-overlay já publicados.** `agent.schema.json` passa a aceitar `code: wize-sec-*` e `module: security-overlay`; `workflow.schema.json` aceita `overlay: security`.
|
|
33
|
+
|
|
34
|
+
### Docs
|
|
35
|
+
|
|
36
|
+
- **Baseline `wize-document-project` atualizado** (estava congelado em v0.3.0 apesar do "refresh" de 2026-07-04): versão, contagem de agentes (10), core skills (10), testes (24 arquivos / 246), LOC, commits e subcomandos de CLI. Riscos e perguntas obsoletas removidos.
|
|
37
|
+
- **README.es** trazido à paridade com en/pt-BR (estava em 0.7.0, sem a seção de harnesses). Nos três READMEs: removida a pergunta de "output folder" (o instalador não pergunta), corrigida a afirmação sobre dependências npm (`prompts`), e documentados os comandos `list` e `workflow`.
|
|
38
|
+
- **ARCH.md / DECISIONS.md / ROSTER.md / AGENTS.md e os 9 READMEs de adapter** atualizados para 4 profiles, a 10ª persona (`red-teamer`) e os paths reais de cada adapter; decisão Fase 9 registrada.
|
|
39
|
+
- **PRD / architecture / readiness**: contagem de ACs corrigida (30), stubs de template vazios removidos, notas de snapshot 0.6.0.
|
|
40
|
+
|
|
41
|
+
### Cycle
|
|
42
|
+
|
|
43
|
+
- **Registro ágil reconciliado.** `sprint-status.yaml` regenerado contra a árvore real (8 epics / 27 stories, todas `done`); epics `01`–`07` fechados; releases 0.7.x/0.8.0 registradas em `quick-dev-log.md` e `sprint-status.md`; `backlog.md` atualizado.
|
|
44
|
+
- **Épico E09 aberto** ("Melhor aproveitamento de components e intenção do usuário") em `.wize/solutioning/epics/09-ux-intent.md`, com 8 stories verificadas contra o código; relatório completo em `REVIEW-2026-07-11.md`.
|
|
45
|
+
|
|
8
46
|
## [0.8.0] — 2026-07-04
|
|
9
47
|
|
|
10
48
|
### Added
|
package/DECISIONS.md
CHANGED
|
@@ -148,6 +148,11 @@
|
|
|
148
148
|
- **D8.4 — Versionamento dos workflows antigos:** cópias dos `workflow.md` monolíticos de `wize-create-architecture` e `wize-code-review` são arquivadas em `.wize/knowledge/decisions/` para referência, não mantidas em produção.
|
|
149
149
|
- **D8.5 — Registro em catálogos:** skills adicionados a `src/core-skills/module.yaml` e `src/method-skills/module.yaml`; fluxos refletidos no `README.md`.
|
|
150
150
|
|
|
151
|
+
### Fase 9 — Security Overlay + OpenCode nativo (2026-07-11)
|
|
152
|
+
|
|
153
|
+
- **D9.1 — Security Overlay neste kit:** o perfil `security-overlay` (AI Pentester) passa a ser distribuído **dentro do `wize-dev-kit`** como 4º perfil opt-in do installer, com a persona **red-teamer** (`wize-sec-red-teamer`) em `src/security-overlay/`. _Supersede parcialmente D1.1 (3 perfis → 4 perfis), D3.2 (9 papéis → 9 core + 1 overlay) e D3.5 (security deixava de ser reservado para kit futuro)._ As entradas históricas permanecem inalteradas como registro.
|
|
154
|
+
- **D9.2 — OpenCode com wiring nativo (0.8.0):** o adapter OpenCode passa a gerar **agents e commands nativos** (`.opencode/agents/` + `.opencode/commands/`), com commands vinculados à persona dona e workers de fan-out isolados — em vez do fallback genérico.
|
|
155
|
+
|
|
151
156
|
## Perguntas em aberto
|
|
152
157
|
|
|
153
158
|
_(serão preenchidas conforme a entrevista avança)_
|
package/README.es.md
CHANGED
|
@@ -25,7 +25,7 @@ Elige tus perfiles y tu IDE; luego, en tu IDE con IA, di *"Activa a Wizer y dale
|
|
|
25
25
|
|
|
26
26
|
Wize Development Kit (WDK) es un **stack de agentes de IA** instalable que funciona dentro de tu IDE con IA (Claude Code, Cursor, Windsurf, Codex y otros) y escribe artefactos estructurados en una carpeta oculta `.wize/` de tu repositorio. Lleva un proyecto de **brief → PRD → estrategia de UX → arquitectura → implementación testeada**, y también puede **hacer pentest de la app en ejecución y planificar el sprint de remediación**.
|
|
27
27
|
|
|
28
|
-
Es **file-first y zero-runtime**: los agentes son skills en Markdown que tu IDE lee; el tooling es Node puro (
|
|
28
|
+
Es **file-first y zero-runtime**: los agentes son skills en Markdown que tu IDE lee; el tooling es Node puro (una única dependencia npm — `prompts`, usada solo por el instalador; nada se añade a tu proyecto). Nada está simulado — cada paso lee el artefacto anterior y escribe uno real.
|
|
29
29
|
|
|
30
30
|
### Perfiles (combinables en monorepos)
|
|
31
31
|
|
|
@@ -57,8 +57,7 @@ El instalador pregunta:
|
|
|
57
57
|
1. **Perfil(es)** — Core / +Web / +App / +Security (selección múltiple).
|
|
58
58
|
2. **IDE(s) objetivo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity o fallback genérico (selección múltiple).
|
|
59
59
|
3. **Idiomas** — comunicación + salida de documentos.
|
|
60
|
-
4. **
|
|
61
|
-
5. **Brownfield** — ofrece ejecutar `wize-document-project` para crear la baseline del código existente.
|
|
60
|
+
4. **Brownfield** — ofrece ejecutar `wize-document-project` para crear la baseline del código existente.
|
|
62
61
|
|
|
63
62
|
Tras instalar, abre tu IDE y di:
|
|
64
63
|
|
|
@@ -66,6 +65,24 @@ Tras instalar, abre tu IDE y di:
|
|
|
66
65
|
|
|
67
66
|
---
|
|
68
67
|
|
|
68
|
+
## Harnesses soportados
|
|
69
|
+
|
|
70
|
+
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.
|
|
71
|
+
|
|
72
|
+
| Harness | Salida | Destacado |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| **OpenCode** 🆕 | `.opencode/agents/` + `.opencode/commands/` | `mode: primary\|subagent` nativo; los comandos se vinculan automáticamente a su persona propietaria (`agent:`); los workers de fan-out corren aislados (`subtask: true`). [Docs →](docs/harnesses/opencode.md) |
|
|
75
|
+
| **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) |
|
|
76
|
+
| **Codex** | `.agents/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/codex.md) |
|
|
77
|
+
| **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mismo formato Skill; autodetecta árboles de skills de Claude/Codex. [Docs →](docs/harnesses/kimi-code.md) |
|
|
78
|
+
| **Antigravity** | `.agent/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/antigravity.md) |
|
|
79
|
+
| **Cursor** | `.cursor/rules/*.mdc` | Reglas on-demand (`alwaysApply: false`), emparejadas por descripción. [Docs →](docs/harnesses/cursor.md) |
|
|
80
|
+
| **Windsurf** | `.windsurf/rules/*.md` | Markdown plano; el modo de activación se define dentro del IDE. [Docs →](docs/harnesses/windsurf.md) |
|
|
81
|
+
| **Continue.dev** | `.continue/prompts/*.prompt` | Slash commands con `invokable: true`. [Docs →](docs/harnesses/continue.md) |
|
|
82
|
+
| **Fallback genérico** | `.wize/agents/*.md` + `AGENTS.md` en la raíz | Para cualquier IDE sin adapter dedicado. [Docs →](docs/harnesses/generic.md) |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
69
86
|
## El elenco
|
|
70
87
|
|
|
71
88
|
| # | Persona | Código | Rol |
|
|
@@ -186,9 +203,12 @@ Con el perfil **Wize Security** instalado, la persona `red-teamer` ejecuta un pe
|
|
|
186
203
|
npx wize-dev-kit install # setup interactivo
|
|
187
204
|
npx wize-dev-kit update # actualiza un kit instalado a la versión actual
|
|
188
205
|
npx wize-dev-kit sync # re-renderiza los adapters de IDE tras editar la config
|
|
206
|
+
npx wize-dev-kit list # lista agentes, skills y workflows instalados
|
|
189
207
|
npx wize-dev-kit agent list # lista agentes nativos + personalizados
|
|
190
208
|
npx wize-dev-kit agent create # crea un nuevo agente personalizado (validado + dry-run)
|
|
191
209
|
npx wize-dev-kit agent edit <code> # sobrescribe un agente nativo
|
|
210
|
+
npx wize-dev-kit workflow list # lista workflows nativos + personalizados
|
|
211
|
+
npx wize-dev-kit workflow create # crea un nuevo workflow personalizado
|
|
192
212
|
npx wize-dev-kit doctor # diagnostica kit / proyecto / adapters / gates
|
|
193
213
|
npx wize-dev-kit validate # chequeos estructurales en los assets del kit
|
|
194
214
|
npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
|
|
@@ -203,12 +223,13 @@ npx wize-dev-kit uninstall # elimina .wize/ (tu código queda intacto)
|
|
|
203
223
|
- [`ROSTER.md`](ROSTER.md) — personas con estilo, rol, equivalencias BMAD.
|
|
204
224
|
- [`DECISIONS.md`](DECISIONS.md) — registro de decisiones.
|
|
205
225
|
- [`CHANGELOG.md`](CHANGELOG.md) — historial de releases.
|
|
226
|
+
- [`docs/harnesses/`](docs/harnesses/) — un doc por [harness soportado](#harnesses-soportados), en inglés.
|
|
206
227
|
|
|
207
228
|
---
|
|
208
229
|
|
|
209
230
|
## Estado
|
|
210
231
|
|
|
211
|
-
**v0.
|
|
232
|
+
**v0.8.0 — beta.** El ciclo completo (análisis → plan → solución → implementación) está montado con 10 agentes y una biblioteca estructurada de skills. 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.
|
|
212
233
|
|
|
213
234
|
---
|
|
214
235
|
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Pick your profiles and IDE, then in your AI IDE say *"Activate Wizer and brief h
|
|
|
25
25
|
|
|
26
26
|
Wize Development Kit (WDK) is an installable **AI agent stack** that runs inside your AI IDE (Claude Code, Cursor, Windsurf, Codex, and others) and writes structured artifacts to a hidden `.wize/` folder in your repo. It takes a project from **brief → PRD → UX strategy → architecture → tested implementation**, and can also **pentest the running app and plan the remediation sprint**.
|
|
27
27
|
|
|
28
|
-
It is **file-first and zero-runtime**: the agents are Markdown skills your IDE reads; the tooling is plain Node (
|
|
28
|
+
It is **file-first and zero-runtime**: the agents are Markdown skills your IDE reads; the tooling is plain Node (a single runtime dependency, `prompts`, powers the interactive installer — nothing is added to your project). Nothing is mocked — every step reads the previous artifact and writes a real one.
|
|
29
29
|
|
|
30
30
|
### Profiles (combinable in monorepos)
|
|
31
31
|
|
|
@@ -57,8 +57,7 @@ The installer asks:
|
|
|
57
57
|
1. **Profile(s)** — Core / +Web / +App / +Security (multi-select).
|
|
58
58
|
2. **IDE target(s)** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity, or generic fallback (multi-select).
|
|
59
59
|
3. **Languages** — communication + document output.
|
|
60
|
-
4. **
|
|
61
|
-
5. **Brownfield** — offers to run `wize-document-project` to baseline the existing codebase.
|
|
60
|
+
4. **Brownfield** — offers to run `wize-document-project` to baseline the existing codebase.
|
|
62
61
|
|
|
63
62
|
After install, open your IDE and say:
|
|
64
63
|
|
|
@@ -204,9 +203,11 @@ When the **Wize Security** profile is installed, the `red-teamer` persona runs a
|
|
|
204
203
|
npx wize-dev-kit install # interactive setup
|
|
205
204
|
npx wize-dev-kit update # bring an installed kit up to the current version
|
|
206
205
|
npx wize-dev-kit sync # re-render IDE adapters after editing config
|
|
206
|
+
npx wize-dev-kit list # list built-in + custom agents
|
|
207
207
|
npx wize-dev-kit agent list # list built-in + custom agents
|
|
208
208
|
npx wize-dev-kit agent create # scaffold a new custom agent (validated + dry-run)
|
|
209
209
|
npx wize-dev-kit agent edit <code> # override a built-in agent
|
|
210
|
+
npx wize-dev-kit workflow <create|list> # scaffold or list custom workflows
|
|
210
211
|
npx wize-dev-kit doctor # diagnose kit / project / adapters / gates
|
|
211
212
|
npx wize-dev-kit validate # structural checks on the kit assets
|
|
212
213
|
npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
|
|
@@ -243,3 +244,25 @@ Wize Development Kit is an **independent adaptation** — not affiliated with or
|
|
|
243
244
|
## License
|
|
244
245
|
|
|
245
246
|
MIT — see [`LICENSE`](LICENSE).
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 🤖 Pré-requisito para colaboração com Agentes de IA
|
|
252
|
+
|
|
253
|
+
Antes de abrir o repositório em qualquer agente (Claude Code, Cursor, Codex, Antigravity, OpenCode, Kimi, Qwen, …), instale o Wize Dev Kit:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
npx wize-dev-kit@latest install
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Por quê:
|
|
260
|
+
|
|
261
|
+
- Injeta skills `/wize-*` (analyst, PM, architect, dev, TEA, orchestrator) que dão estrutura ao lifecycle do projeto
|
|
262
|
+
- Cria/atualiza baseline brownfield em `.wize/knowledge/document-project/` — fonte canônica antes de decidir mudanças
|
|
263
|
+
- Habilita trackeamento de atividades em `.wize/implementation/` — toda story, plano e gate fica auditável
|
|
264
|
+
- Padroniza idiomas e gates de qualidade entre agentes via `.wize/config/`
|
|
265
|
+
|
|
266
|
+
Sem o kit, o agente trabalha sem contexto histórico, sem gates e sem rastreabilidade. Premissa válida para todos os agentes de IA usados no projeto.
|
|
267
|
+
|
|
268
|
+
Para Claude Code: comece com `/wize-help` para diagnóstico e recomendação do próximo passo.
|
package/README.pt-BR.md
CHANGED
|
@@ -25,7 +25,7 @@ Escolha os perfis e a IDE; depois, na sua IDE com IA, diga *"Ative o Wizer e dê
|
|
|
25
25
|
|
|
26
26
|
O Wize Development Kit (WDK) é uma **stack de agentes de IA** instalável que roda dentro da sua IDE com IA (Claude Code, Cursor, Windsurf, Codex e outras) e grava artefatos estruturados em uma pasta oculta `.wize/` no seu repositório. Leva um projeto de **brief → PRD → estratégia de UX → arquitetura → implementação testada** e também pode **fazer pentest da aplicação rodando e planejar a sprint de correção**.
|
|
27
27
|
|
|
28
|
-
É **file-first e zero-runtime**: os agentes são skills em Markdown que sua IDE lê; o tooling é Node puro (
|
|
28
|
+
É **file-first e zero-runtime**: os agentes são skills em Markdown que sua IDE lê; o tooling é Node puro (uma única dependência de runtime, `prompts`, usada pelo instalador interativo — nada é adicionado ao seu projeto). Nada é simulado — cada passo lê o artefato anterior e grava um real.
|
|
29
29
|
|
|
30
30
|
### Perfis (combináveis em monorepos)
|
|
31
31
|
|
|
@@ -57,8 +57,7 @@ O instalador pergunta:
|
|
|
57
57
|
1. **Perfil(is)** — Core / +Web / +App / +Security (múltipla escolha).
|
|
58
58
|
2. **IDE(s) alvo** — Claude Code, Cursor, Windsurf, Codex, Continue, Kimi Code, OpenCode, Antigravity ou fallback genérico (múltipla escolha).
|
|
59
59
|
3. **Idiomas** — comunicação + saída de documentos.
|
|
60
|
-
4. **
|
|
61
|
-
5. **Brownfield** — oferece rodar `wize-document-project` para criar a baseline do código existente.
|
|
60
|
+
4. **Brownfield** — oferece rodar `wize-document-project` para criar a baseline do código existente.
|
|
62
61
|
|
|
63
62
|
Após instalar, abra sua IDE e diga:
|
|
64
63
|
|
|
@@ -204,9 +203,11 @@ Com o perfil **Wize Security** instalado, a persona `red-teamer` roda um pentest
|
|
|
204
203
|
npx wize-dev-kit install # setup interativo
|
|
205
204
|
npx wize-dev-kit update # atualiza um kit instalado para a versão atual
|
|
206
205
|
npx wize-dev-kit sync # re-renderiza os adapters de IDE após editar a config
|
|
206
|
+
npx wize-dev-kit list # lista agentes nativos + customizados
|
|
207
207
|
npx wize-dev-kit agent list # lista agentes nativos + customizados
|
|
208
208
|
npx wize-dev-kit agent create # cria um novo agente customizado (validado + dry-run)
|
|
209
209
|
npx wize-dev-kit agent edit <code> # sobrescreve um agente nativo
|
|
210
|
+
npx wize-dev-kit workflow <create|list> # cria ou lista workflows customizados
|
|
210
211
|
npx wize-dev-kit doctor # diagnostica kit / projeto / adapters / gates
|
|
211
212
|
npx wize-dev-kit validate # checagens estruturais nos assets do kit
|
|
212
213
|
npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
|
package/ROSTER.md
CHANGED
|
@@ -10,16 +10,24 @@
|
|
|
10
10
|
| 1 | **Wizer** | `wize-orchestrator` | Orchestrator / Knowledge Base / Briefing | All | "I know the qwize methodology, I know the project — I activate the right agent." Style: host, picks, routes. Tools: global. | (none — orchestrator role surfaces only in BMAD's `party-mode`) |
|
|
11
11
|
| 2 | **Pepper Potts** | `wize-agent-analyst` | Business Analyst | 1 — Analysis | "Relentless efficiency." Brainstorming, market research, product brief, PR/FAQ, ROI, stakeholder map. Style: pragmatic, anticipates, connects business → tech. | Mary (`bmad-agent-analyst`) |
|
|
12
12
|
| 3 | **Peggy Carter** | `wize-agent-tech-writer` | Technical Writer | Transversal (1–4) | "Structure, audience, clarity." DITA, CommonMark, OpenAPI, READMEs, runbooks. Style: organized, didactic, technical but accessible. | Paige (`bmad-agent-tech-writer`) |
|
|
13
|
-
| 4 | **Maria Hill** | `wize-agent-pm` | Product Manager | 2 — Planning | "Mission first." PRD,
|
|
13
|
+
| 4 | **Maria Hill** | `wize-agent-pm` | Product Manager | 2 — Planning | "Mission first." PRD, validation, sprint planning, sprint status, correct-course, deadline enforcement (epics/stories are Tony's). Style: military discipline, no excuses, outcome-focused. | John (`bmad-agent-pm`) |
|
|
14
14
|
| 5 | **Mantis** | `wize-agent-ux-designer` | UX Designer (Whiteport Strategic UX v0.4.3) | 2–3 | "I feel the user before I sketch." Jobs-to-be-done, journeys, empathy mapping, design tokens, IA, design system. Style: research-heavy, qualitative, empathic narrative. | Sally (`bmad-agent-ux-designer`) — replaced with Whiteport methodology |
|
|
15
15
|
| 6 | **Nick Fury** | `wize-agent-solution-strategist` | Solution Strategy / Tech Vision | 2 → 3 (boundary) | "People > Objective." Big-picture, NFRs, stack family, principles, strategic trade-offs. Style: authoritative, direct, few words. | (partial) Winston — strategic side |
|
|
16
16
|
| 7 | **Tony Stark** | `wize-agent-architect` | System Architect | 3 — Solutioning | "I build the thing." System design, components, ADRs, prototyping, pattern selection. Style: confident, irreverent, shows with code. | Winston (`bmad-agent-architect`) — systemic side |
|
|
17
17
|
| 8 | **Hawkeye** | `wize-agent-test-architect` | Test Architect (TEA) | Transversal (gates in 2, 3, 4) | "I always hit where it hurts." Risk profile, test design, traceability, NFR assessment, review, gate decision. Style: pragmatic, edge-case hunter, focused on what matters. | (new — does not exist in BMAD core; inspired by BMAD-Method v5 TEA) |
|
|
18
18
|
| 9 | **Shuri** | `wize-agent-dev` | Senior Developer | 4 — Implementation | "Wakanda forever — now it compiles." TDD red-green-refactor, security, performance. Style: genius innovator, fast, clean code, protective of the ecosystem. | Amelia (`bmad-agent-dev`) |
|
|
19
19
|
|
|
20
|
+
## Security overlay (opt-in)
|
|
21
|
+
|
|
22
|
+
Installs only with the `security-overlay` profile.
|
|
23
|
+
|
|
24
|
+
| # | Persona | Code | Role | Phase | Motto / Style | BMAD equiv. |
|
|
25
|
+
|---|---|---|---|---|---|---|
|
|
26
|
+
| 10 | **red-teamer** | `wize-sec-red-teamer` | AI Pentester | Overlay | "Only what you're authorized to touch." File-first pentest pipeline: recon → enumerate → SAST → DAST → report, gated by a signed `.wize/security/scope.md`. Default passive; exploits opt-in via `--active`; every refusal audited. Hawkeye/TEA validates the overlay's implementation stories. | (new — no BMAD core equivalent) |
|
|
27
|
+
|
|
20
28
|
## Notes
|
|
21
29
|
|
|
22
30
|
- **Visual theme:** emoji icons (📊 🛡️ 🦾 etc.) are placeholders; a full visual identity will be consolidated in a later phase.
|
|
23
31
|
- **Agent Builder:** decided as a **skill** (`wize-create-agent`), not an agent. Wizer invokes the skill when a new persona or custom module needs to be registered.
|
|
24
|
-
- **
|
|
25
|
-
- **Future Marvel personas (out of dev-kit scope):** Pepper is already Analyst here, Fury is already Strategist. Other Marvel personas (Black Panther, Wanda, Falcon, Vision, Riri Williams, Kamala Khan) remain reserved for future kits (Wize Ops Kit, Wize Data Kit,
|
|
32
|
+
- **Overlays add skills, not persona variants.** Web/App overlays add extra skills + playbooks the core personas load (Mantis gets WCAG/HIG playbooks, Hawkeye gets Playwright/Detox patterns); the Security overlay adds one new persona (red-teamer). There are no per-profile "variants" of Tony or Shuri in code.
|
|
33
|
+
- **Future Marvel personas (out of dev-kit scope):** Pepper is already Analyst here, Fury is already Strategist. Other Marvel personas (Black Panther, Wanda, Falcon, Vision, Riri Williams, Kamala Khan) remain reserved for future kits (Wize Ops Kit, Wize Data Kit, etc.). The Security overlay's red-teamer already lives in this kit.
|
package/adapters/README.md
CHANGED
|
@@ -8,12 +8,12 @@ Each adapter renders the kit's agents/skills/workflows into the file layout that
|
|
|
8
8
|
|---|---|---|---|
|
|
9
9
|
| `claude-code` | `.claude/skills/wize-*/` | `SKILL.md` per agent/workflow | Default. Uses Claude Code skill folder pattern. |
|
|
10
10
|
| `cursor` | `.cursor/rules/wize-*.mdc` | MDC | Each agent/skill becomes a rule file. |
|
|
11
|
-
| `windsurf` | `.windsurf/
|
|
11
|
+
| `windsurf` | `.windsurf/rules/wize-*.md` | Markdown | Cascade-friendly. |
|
|
12
12
|
| `codex` | `.agents/skills/wize-*/` | `SKILL.md` per agent/workflow | OpenAI Codex. |
|
|
13
|
-
| `continue` | `.continue/
|
|
14
|
-
| `kimi-code` | `.kimi/
|
|
15
|
-
| `opencode` | `.opencode/agents/wize-*.md` | Markdown | OpenCode CLI. |
|
|
16
|
-
| `antigravity` | `.
|
|
13
|
+
| `continue` | `.continue/prompts/wize-*.prompt` | `.prompt` | Continue prompt slot. |
|
|
14
|
+
| `kimi-code` | `.kimi/skills/wize-*/` | `SKILL.md` per agent/workflow | Moonshot Kimi Code. |
|
|
15
|
+
| `opencode` | `.opencode/agents/wize-*.md` + `.opencode/commands/wize-*.md` | Markdown | OpenCode CLI. Native agents + commands. |
|
|
16
|
+
| `antigravity` | `.agent/skills/wize-*/` | `SKILL.md` per agent/workflow | Antigravity CLI + IDE. |
|
|
17
17
|
| `generic` | `.wize/agents/wize-*.md` | Markdown | Fallback for any agent that can read a folder of markdown. |
|
|
18
18
|
|
|
19
19
|
## Adapter shape
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Adapter — antigravity
|
|
2
2
|
|
|
3
|
-
Antigravity CLI + IDE.
|
|
3
|
+
Antigravity CLI + IDE skills.
|
|
4
4
|
|
|
5
|
-
- **Target path:** `.
|
|
6
|
-
- **File pattern:** `wize
|
|
7
|
-
- **Format:**
|
|
5
|
+
- **Target path:** `.agent/skills/`
|
|
6
|
+
- **File pattern:** `wize-*/SKILL.md`
|
|
7
|
+
- **Format:** Anthropic-compatible `SKILL.md`
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders the Wize skills directly into the folder Antigravity loads at startup.
|
|
@@ -6,4 +6,4 @@ Native Claude Code skills.
|
|
|
6
6
|
- **File pattern:** `wize-*/SKILL.md`
|
|
7
7
|
- **Format:** markdown
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders the Wize skills directly into the folder Claude Code loads at startup.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Adapter — continue
|
|
2
2
|
|
|
3
|
-
Continue
|
|
3
|
+
Continue prompt files.
|
|
4
4
|
|
|
5
|
-
- **Target path:** `.continue/
|
|
6
|
-
- **File pattern:** `wize-*.
|
|
7
|
-
- **Format:** markdown
|
|
5
|
+
- **Target path:** `.continue/prompts/`
|
|
6
|
+
- **File pattern:** `wize-*.prompt`
|
|
7
|
+
- **Format:** Continue `.prompt` (markdown with frontmatter)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders each Wize agent/skill/workflow as a prompt file that Continue loads.
|
|
@@ -4,6 +4,6 @@ Cursor MDC rules.
|
|
|
4
4
|
|
|
5
5
|
- **Target path:** `.cursor/rules/`
|
|
6
6
|
- **File pattern:** `wize-*.mdc`
|
|
7
|
-
- **Format:** markdown
|
|
7
|
+
- **Format:** MDC (markdown with frontmatter)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders each Wize agent/skill/workflow as an MDC rule file that Cursor picks up automatically.
|
|
@@ -6,4 +6,4 @@ Generic markdown fallback for any AI agent runtime that can read a folder of mar
|
|
|
6
6
|
- **File pattern:** `wize-*.md`
|
|
7
7
|
- **Format:** markdown
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders each Wize agent/skill/workflow as a plain markdown file that any runtime can read.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Adapter — kimi-code
|
|
2
2
|
|
|
3
|
-
Moonshot Kimi Code
|
|
3
|
+
Moonshot Kimi Code skills.
|
|
4
4
|
|
|
5
|
-
- **Target path:** `.kimi/
|
|
6
|
-
- **File pattern:** `wize
|
|
7
|
-
- **Format:**
|
|
5
|
+
- **Target path:** `.kimi/skills/`
|
|
6
|
+
- **File pattern:** `wize-*/SKILL.md`
|
|
7
|
+
- **Format:** Anthropic-compatible `SKILL.md`
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders the Wize skills directly into the folder Kimi Code loads at startup.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Adapter — opencode
|
|
2
2
|
|
|
3
|
-
OpenCode CLI agents.
|
|
3
|
+
OpenCode CLI native agents and commands.
|
|
4
4
|
|
|
5
|
-
- **Target
|
|
5
|
+
- **Target paths:** `.opencode/agents/` and `.opencode/commands/`
|
|
6
6
|
- **File pattern:** `wize-*.md`
|
|
7
7
|
- **Format:** markdown
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders each Wize agent as a native OpenCode agent in `.opencode/agents/` and each skill/workflow as a command in `.opencode/commands/`, bound to its owning persona.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Adapter — windsurf
|
|
2
2
|
|
|
3
|
-
Windsurf Cascade-friendly markdown
|
|
3
|
+
Windsurf Cascade-friendly markdown rules.
|
|
4
4
|
|
|
5
|
-
- **Target path:** `.windsurf/
|
|
5
|
+
- **Target path:** `.windsurf/rules/`
|
|
6
6
|
- **File pattern:** `wize-*.md`
|
|
7
7
|
- **Format:** markdown
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Renders each Wize agent/skill/workflow as a rules file that Windsurf Cascade loads.
|
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.9.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",
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"required": ["code", "name", "title", "module", "description"],
|
|
7
7
|
"additionalProperties": true,
|
|
8
8
|
"properties": {
|
|
9
|
-
"code": { "type": "string", "pattern": "^wize-(agent|orchestrator)-[a-z0-9-]+$|^wize-orchestrator$" },
|
|
9
|
+
"code": { "type": "string", "pattern": "^wize-(agent|orchestrator|sec)-[a-z0-9-]+$|^wize-orchestrator$" },
|
|
10
10
|
"name": { "type": "string", "minLength": 1 },
|
|
11
11
|
"title": { "type": "string", "minLength": 1 },
|
|
12
12
|
"icon": { "type": "string" },
|
|
13
13
|
"team": { "type": "string" },
|
|
14
|
-
"module": { "enum": ["orchestrator", "method", "tea", "builder", "core", "web-overlay", "app-overlay", "custom"] },
|
|
14
|
+
"module": { "enum": ["orchestrator", "method", "tea", "builder", "core", "web-overlay", "app-overlay", "security-overlay", "custom"] },
|
|
15
15
|
"phase": { "type": "string" },
|
|
16
16
|
"description": { "type": "string", "minLength": 10 },
|
|
17
17
|
"style": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"phase": { "type": "string" },
|
|
12
12
|
"owner": { "type": "string" },
|
|
13
13
|
"absorbs": { "type": "string" },
|
|
14
|
-
"overlay": { "enum": ["web", "app"] },
|
|
14
|
+
"overlay": { "enum": ["web", "app", "security"] },
|
|
15
15
|
"status": { "enum": ["stub", "draft", "ready", "stable"] },
|
|
16
16
|
"gate": { "enum": ["risk", "design", "trace", "nfr", "review", "gate"] },
|
|
17
17
|
"when": { "type": "string" }
|
|
@@ -14,9 +14,13 @@ Tony drives. Output lands in `.wize/solutioning/epics/` and `.wize/solutioning/s
|
|
|
14
14
|
|
|
15
15
|
## Inputs
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read central docs first, then expand by dependency — don't load unrelated files for padding:
|
|
18
|
+
|
|
19
|
+
- `AGENTS.md` + `.wize/config/project.toml` — active profiles, languages, conventions.
|
|
20
|
+
- `.wize/planning/prd.md` — the AC source (never reword ACs downstream).
|
|
18
21
|
- `.wize/solutioning/architecture.md`
|
|
19
22
|
- `.wize/planning/ux/ux-design/` (every story references one or more screens)
|
|
23
|
+
- `.wize/knowledge/document-project/` — brownfield baseline, if present.
|
|
20
24
|
|
|
21
25
|
## Outputs
|
|
22
26
|
|
|
@@ -105,25 +109,38 @@ linked_acs: [AC-02-1, AC-02-2]
|
|
|
105
109
|
## Context
|
|
106
110
|
Comes right after sign-up. The user lands here with no team yet. The screen is the moment-of-truth from S1: if the user invites a teammate here, the product earned its value moment.
|
|
107
111
|
|
|
112
|
+
## Sources of truth (Shuri reads before coding)
|
|
113
|
+
- `AGENTS.md` + `.wize/config/project.toml` · `.wize/knowledge/document-project/*`.
|
|
114
|
+
- `prd.md` (AC source) · `architecture.md` · `ux-design/onboarding-step-1.md` · parent epic `01-onboarding.md`.
|
|
115
|
+
- The TEA test contract for this story · related code + tests already on this path.
|
|
116
|
+
|
|
108
117
|
## Acceptance criteria
|
|
109
118
|
- **AC-02-1:** Given a new admin on `/onboarding`, When they enter a valid email and click "Send invite", Then a `teammate_invited` event fires and the screen advances to "Invite sent" within 1s.
|
|
110
119
|
- **AC-02-2:** Given an invalid email, When the user blurs the field, Then error text appears (200ms) identifying which rule failed.
|
|
111
120
|
|
|
112
|
-
##
|
|
113
|
-
-
|
|
114
|
-
-
|
|
121
|
+
## Restrictions
|
|
122
|
+
- **Out of scope:** bulk invite → E01-S07; custom invite message → E02-S03.
|
|
123
|
+
- **Protected behaviors:** existing sign-up + session flow must not change.
|
|
124
|
+
- **Compatibility:** `(team_id, email)` idempotency key — don't break existing invite rows.
|
|
125
|
+
- **Security:** validate email at the server boundary; auth context required on `inviteTeammate`.
|
|
115
126
|
|
|
116
127
|
## Notes for Shuri (Dev)
|
|
117
|
-
|
|
118
128
|
- Touch points: `app/(onboarding)/invite/page.tsx`, new server action `inviteTeammate`, `lib/email/send-invite.ts`.
|
|
119
129
|
- Reuse `Button`, `Input`, `Banner` from design system.
|
|
120
130
|
- Add `data-testid="invite-form"`, `"invite-email"`, `"invite-cta"` (Hawkeye depends on these).
|
|
121
131
|
|
|
122
|
-
##
|
|
132
|
+
## Validation contract
|
|
133
|
+
- **AC → test:** AC-02-1 → E2E `invite happy path` + unit `validateInviteEmail`; AC-02-2 → unit `invalid email` + component error-state.
|
|
134
|
+
- **Required checks:** the unit/integration/E2E split Hawkeye declares below, plus lint, format, type-check, build. Authz asserted on the server action.
|
|
135
|
+
- **States:** loading, empty, error rendered and asserted.
|
|
123
136
|
|
|
137
|
+
## Notes for Hawkeye (TEA)
|
|
124
138
|
- Tests required: 2 unit (validation), 1 integration (server action calls mailer with right args), 1 E2E (happy path on Playwright).
|
|
125
139
|
- Mocks: outbound email via MSW; auth context via fixture.
|
|
126
140
|
- NFR sample: response p95 ≤ 800ms locally (NFR 1.A allows up to 1s end-to-end).
|
|
141
|
+
|
|
142
|
+
## Done means
|
|
143
|
+
Every AC has a passing test (mapped above), gate PASS/CONCERNS, story `status: ready-for-review`, knowledge axes updated if touched.
|
|
127
144
|
```
|
|
128
145
|
|
|
129
146
|
## Steps
|
|
@@ -140,6 +157,10 @@ For each epic, walk the linked scenarios in `ux-scenarios.md`. Slice into storie
|
|
|
140
157
|
|
|
141
158
|
Every story declares the AC IDs it advances (from PRD). The union of stories per epic equals the AC set of that epic — no gaps, no overlap.
|
|
142
159
|
|
|
160
|
+
### 3.5 Fill the contract fields
|
|
161
|
+
|
|
162
|
+
Each story carries its own **sources of truth**, **restrictions** (out-of-scope + protected behaviors + compatibility + security), and a **validation contract** (AC → test map + required checks). These aren't optional prose — they are what makes AC → code → test → gate traceable. A story missing them is not ready for dev.
|
|
163
|
+
|
|
143
164
|
### 4. Estimates
|
|
144
165
|
|
|
145
166
|
Story estimates S/M/L/XL. XL gets sliced before merging. If everything is L, slicing pattern is too coarse; revisit.
|
|
@@ -20,9 +20,13 @@ Tony drives. Shuri reads and proposes refinements before pulling the story.
|
|
|
20
20
|
|
|
21
21
|
## Inputs
|
|
22
22
|
|
|
23
|
+
Read central docs first, expand by dependency; don't pad with unrelated files:
|
|
24
|
+
|
|
25
|
+
- `AGENTS.md` + `.wize/config/project.toml` — profiles, languages, conventions.
|
|
23
26
|
- `.wize/solutioning/architecture.md`
|
|
24
27
|
- `.wize/solutioning/epics/{epic}.md`
|
|
25
28
|
- `.wize/planning/prd.md` (the AC list)
|
|
29
|
+
- `.wize/knowledge/document-project/` (brownfield baseline, if present)
|
|
26
30
|
- (optional) `.wize/planning/ux/ux-design/{screen}.md`
|
|
27
31
|
|
|
28
32
|
## Output
|
|
@@ -61,14 +65,26 @@ Don't reword PRD ACs in a story — copy them verbatim. If they're not crisp eno
|
|
|
61
65
|
|
|
62
66
|
Explicit. Other ACs the user might think this story touches, with a one-line reason it's not here.
|
|
63
67
|
|
|
64
|
-
### 6.
|
|
68
|
+
### 6. Sources of truth
|
|
69
|
+
|
|
70
|
+
List the exact docs Shuri must read before coding: `AGENTS.md`, `project.toml`, `document-project/*`, the parent epic, `architecture.md`, the linked screen, the TEA test contract, and the related code + tests already on this path.
|
|
71
|
+
|
|
72
|
+
### 7. Restrictions
|
|
73
|
+
|
|
74
|
+
Beyond out-of-scope: name **protected behaviors** (what must not change), **compatibility** constraints (keys, contracts, migrations), and **security** constraints (boundary validation, authz). No silent scope creep — log recommended extras separately.
|
|
75
|
+
|
|
76
|
+
### 8. Validation contract
|
|
77
|
+
|
|
78
|
+
Declare the **AC → test** map and the **required checks** (unit / integration / e2e, lint, format, type-check, build, security when applicable) plus which UI states (loading / empty / error) must be asserted. Hawkeye writes the real `tea-design.md`, but this is the binding shape it fills.
|
|
79
|
+
|
|
80
|
+
### 9. Notes for Shuri
|
|
65
81
|
|
|
66
82
|
- Touch points: files Shuri will likely edit.
|
|
67
83
|
- Reuse: components from `design-system` already named.
|
|
68
84
|
- `testid` map: names Hawkeye expects.
|
|
69
85
|
- Edge cases worth flagging (only ones not derivable from ACs).
|
|
70
86
|
|
|
71
|
-
###
|
|
87
|
+
### 10. Notes for Hawkeye
|
|
72
88
|
|
|
73
89
|
A one-paragraph hint: suggested split, fixtures, mocks, environment. Hawkeye writes the real `tea-design.md` but reads this hint.
|
|
74
90
|
|
|
@@ -113,20 +129,30 @@ linked_acs: [AC-02-1, AC-02-2]
|
|
|
113
129
|
After sign-up the admin lands on `/onboarding`. This story implements the first
|
|
114
130
|
moment-of-truth from scenario S1: inviting the first teammate.
|
|
115
131
|
|
|
132
|
+
## Sources of truth (Shuri reads before coding)
|
|
133
|
+
- `AGENTS.md` + `.wize/config/project.toml` · `.wize/knowledge/document-project/*`.
|
|
134
|
+
- `prd.md` (AC source) · `architecture.md` · `ux-design/onboarding-step-1.md` · parent epic `01-onboarding.md`.
|
|
135
|
+
- The TEA test contract for this story · related code + tests already on this path.
|
|
136
|
+
|
|
116
137
|
## Acceptance criteria
|
|
117
138
|
- **AC-02-1:** Given a new admin on `/onboarding`, When they enter a valid email and click "Send invite", Then a `teammate_invited` event fires and the screen advances to "Invite sent" within 1s.
|
|
118
139
|
- **AC-02-2:** Given an invalid email, When the user blurs the field, Then error text appears (200ms) identifying which rule failed.
|
|
119
140
|
|
|
120
|
-
##
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
141
|
+
## Restrictions
|
|
142
|
+
- **Out of scope:** bulk invite (multiple emails) → E01-S07; custom invite message → E02-S03; "Skip for now" button — not a moment-of-truth path; out.
|
|
143
|
+
- **Protected behaviors:** existing sign-up + session flow must not change.
|
|
144
|
+
- **Compatibility:** `(team_id, email)` composite idempotency key — don't break existing invite rows.
|
|
145
|
+
- **Security:** validate email at the server boundary; auth context required on `inviteTeammate`.
|
|
124
146
|
|
|
125
147
|
## Notes for Shuri (Dev)
|
|
126
148
|
- Touch points: `app/(onboarding)/invite/page.tsx`, `lib/email/send-invite.ts`, new server action `inviteTeammate`.
|
|
127
149
|
- Reuse: `Button` (primary), `Input`, `Banner` (success/error) from design-system.
|
|
128
150
|
- testid: `invite-form`, `invite-email`, `invite-cta`, `invite-sent-banner`.
|
|
129
|
-
|
|
151
|
+
|
|
152
|
+
## Validation contract
|
|
153
|
+
- **AC → test:** AC-02-1 → E2E happy path (Playwright @chromium @ios) + unit `validateInviteEmail`; AC-02-2 → unit invalid-email rules + component error-state.
|
|
154
|
+
- **Required checks:** the unit/integration/E2E split Hawkeye declares below, plus lint, format, type-check, build. Authz asserted on the server action.
|
|
155
|
+
- **States:** loading, empty, error rendered and asserted.
|
|
130
156
|
|
|
131
157
|
## Notes for Hawkeye (TEA)
|
|
132
158
|
Suggested split: 4 unit, 1 integration, 1 E2E.
|
|
@@ -134,6 +160,9 @@ Suggested split: 4 unit, 1 integration, 1 E2E.
|
|
|
134
160
|
- Integration: server action calls mailer with right args (MSW on Resend).
|
|
135
161
|
- E2E: happy path on Playwright @chromium @ios.
|
|
136
162
|
- Risk: R-1 (mailer) — extra E2E asserts banner within 1s of click.
|
|
163
|
+
|
|
164
|
+
## Done means
|
|
165
|
+
Every AC has a passing test (mapped above), gate PASS/CONCERNS, story `status: ready-for-review`, knowledge axes updated if touched.
|
|
137
166
|
```
|
|
138
167
|
|
|
139
168
|
## Anti-patterns Tony rejects
|
|
@@ -12,6 +12,16 @@ status: ready
|
|
|
12
12
|
|
|
13
13
|
Shuri drives. Hawkeye observes (test design is binding). Tony stays available for architectural questions.
|
|
14
14
|
|
|
15
|
+
## Operating contract
|
|
16
|
+
|
|
17
|
+
I work inside a repo with WDK installed: `.wize/`, `AGENTS.md`, and the `wize-*` skills are my instructions and memory, not background reading. This section is the execution slice of the story's **mission contract** (see `/wize-help mission`).
|
|
18
|
+
|
|
19
|
+
- **Inspect before editing.** Read the story, its sources of truth, and the touched code first.
|
|
20
|
+
- **Reuse ladder before new code** (see `wize-agent-dev` persona): needs to exist → already here → stdlib → framework feature → installed dep → one-liner → only then new code.
|
|
21
|
+
- **Test-first, unconditionally.** Red before green, per the loop below — this is the strict-TDD workflow; the "when applicable" latitude lives in `wize-quick-dev`, not here. Smallest sufficient change; follow existing conventions.
|
|
22
|
+
- **Run real commands.** No success claim without evidence — a passing run, not "should pass."
|
|
23
|
+
- **Never stop at planning.** Planning is a step, not a deliverable.
|
|
24
|
+
|
|
15
25
|
## Inputs
|
|
16
26
|
|
|
17
27
|
- `.wize/solutioning/stories/{epic}/{story}.md`
|
|
@@ -107,10 +117,11 @@ This is how the brownfield baseline stays alive instead of going stale 6 months
|
|
|
107
117
|
|
|
108
118
|
### 9. Pre-PR self-check
|
|
109
119
|
|
|
110
|
-
- All Hawkeye-declared tests exist + pass.
|
|
120
|
+
- All Hawkeye-declared tests exist + pass — **AC → test mapping complete**, every AC traced to a named passing test.
|
|
121
|
+
- Required checks run: unit + integration + e2e (as the test contract declares), lint, format, type-check, build — and security when the story touches auth/payments/boundaries. If a command couldn't run, say **exactly which and why** — don't silently drop it.
|
|
111
122
|
- No `test.skip` / `.only` left.
|
|
112
|
-
-
|
|
113
|
-
-
|
|
123
|
+
- Authz enforced at every server boundary the story adds.
|
|
124
|
+
- Loading / empty / error states rendered and asserted.
|
|
114
125
|
- `data-testid` matches story's "notes for Hawkeye".
|
|
115
126
|
- Story file frontmatter → `status: ready-for-review`.
|
|
116
127
|
- Self-walk the screen (web) or smoke a tab on simulator (app).
|
|
@@ -151,6 +162,20 @@ If the work is small / well-scoped and Wizer invoked `wize-quick-dev` instead of
|
|
|
151
162
|
- Bundling cross-cutting refactors into the story PR. Split.
|
|
152
163
|
- Editing tests so they pass instead of editing code so tests pass.
|
|
153
164
|
|
|
165
|
+
## Final report
|
|
166
|
+
|
|
167
|
+
When the story is done, report to the thread in this shape — decisions, evidence, results, blockers only; no extended private reasoning:
|
|
168
|
+
|
|
169
|
+
1. **Route used** — full lifecycle (dev-story).
|
|
170
|
+
2. **Solution summary** — what changed and why, in a few lines.
|
|
171
|
+
3. **Files changed.**
|
|
172
|
+
4. **AC → test mapping** — each AC and the passing test that covers it.
|
|
173
|
+
5. **Commands run + results** — the real checks and their outcomes; name any that couldn't run and why.
|
|
174
|
+
6. **`.wize/` artifacts updated** — story status, TEA artifacts, knowledge axes.
|
|
175
|
+
7. **Relevant decisions** — including any ADR if architectural.
|
|
176
|
+
8. **Residual risks / limitations / skipped items** — including recommended extras logged separately (no silent scope creep).
|
|
177
|
+
9. **Single recommended next action** — usually the TEA gate.
|
|
178
|
+
|
|
154
179
|
## Hand-off
|
|
155
180
|
|
|
156
181
|
> Story E01-S03 implemented. All ACs covered by tests; CI green. PR opened (#412). Hawkeye, ready for trace + review. Notes section of the story has the testid map you'll use.
|
|
@@ -12,6 +12,10 @@ status: ready
|
|
|
12
12
|
|
|
13
13
|
Wizer authorizes the shortcut (via routing). Shuri runs it. Hawkeye does smoke-only.
|
|
14
14
|
|
|
15
|
+
## Operating contract (light)
|
|
16
|
+
|
|
17
|
+
Still a **mission contract**, just a small one: `.wize/` + `AGENTS.md` + skills are the instructions. Inspect before editing, reuse ladder before new code, smallest sufficient change, test-first when the change has a testable surface, run the real smoke + checks, no success claim without evidence. If it grows past ~1h or touches a new feature/architecture/UX/security surface, stop and re-route to Full Lifecycle — don't force it through here.
|
|
18
|
+
|
|
15
19
|
## When to use (yes)
|
|
16
20
|
|
|
17
21
|
- Bug fix with a clear root cause.
|
|
@@ -113,6 +117,15 @@ No behavior change; copy-only.
|
|
|
113
117
|
| 2026-06-11 | shuri | … | PASS | #N |
|
|
114
118
|
```
|
|
115
119
|
|
|
120
|
+
## Done report (compact)
|
|
121
|
+
|
|
122
|
+
Report in four lines — no ceremony:
|
|
123
|
+
|
|
124
|
+
1. What changed + why.
|
|
125
|
+
2. Files changed.
|
|
126
|
+
3. Checks run + results (smoke, lint, format, type-check). Name any that couldn't run and why.
|
|
127
|
+
4. Recommended next action, if any.
|
|
128
|
+
|
|
116
129
|
## Disabling
|
|
117
130
|
|
|
118
131
|
To force every change through the full lifecycle (for very high-stakes products), set in `.wize/config/project.toml`:
|
|
@@ -14,120 +14,132 @@ You are **Wizer**, the orchestrator. The user invoked `/wize-help`. Don't dump a
|
|
|
14
14
|
|
|
15
15
|
| Invocation | What to do |
|
|
16
16
|
|---|---|
|
|
17
|
-
| `/wize-help`
|
|
17
|
+
| `/wize-help` (no argument) | Greeting + project snapshot + the **single best next step**. |
|
|
18
18
|
| `/wize-help next` | Just the next step. Skip the snapshot. |
|
|
19
|
-
| `/wize-help status` | Snapshot only
|
|
19
|
+
| `/wize-help status` | Snapshot only. For full sprint detail, route `/wize-sprint-status` (Maria Hill). |
|
|
20
20
|
| `/wize-help personas` | List only the personas relevant to the active profiles. |
|
|
21
|
+
| `/wize-help mission` | Emit a filled **mission contract** for the current demand, drawn from project state, ready to hand to the executing persona. |
|
|
21
22
|
|
|
22
23
|
## Step 1 — read project state
|
|
23
24
|
|
|
24
|
-
Read these
|
|
25
|
+
Read these if they exist (absence is information too):
|
|
25
26
|
|
|
26
27
|
| Path | Tells you |
|
|
27
28
|
|---|---|
|
|
28
|
-
| `.wize/config/project.toml` | Active profiles, IDE targets,
|
|
29
|
-
| `.wize/config/user.toml` |
|
|
29
|
+
| `.wize/config/project.toml` | Active profiles, IDE targets, languages, project name, `kit_version`. |
|
|
30
|
+
| `.wize/config/user.toml` | `[user] name` to greet by name; `[preferences] communication` overrides language. |
|
|
30
31
|
| `.wize/config/tea.toml` | TEA gate policy (advisory vs enforcing). |
|
|
31
|
-
| `.wize/planning/brief.md` |
|
|
32
|
-
| `.wize/planning/
|
|
33
|
-
| `.wize/planning/ux/
|
|
34
|
-
| `.wize/planning/
|
|
35
|
-
| `.wize/
|
|
36
|
-
| `.wize/
|
|
37
|
-
| `.wize/
|
|
38
|
-
| `.wize/
|
|
39
|
-
| `.wize/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
32
|
+
| `.wize/planning/brief.md`, `ux/trigger-map.md` | Phase 1 (Pepper) progress. |
|
|
33
|
+
| `.wize/planning/prd.md` (`validated:` in frontmatter) | Phase 2 PRD + whether it passed `wize-validate-prd`. |
|
|
34
|
+
| `.wize/planning/ux/ux-scenarios.md`, `ux/ux-design/**` | Whether Mantis ran UX. |
|
|
35
|
+
| `.wize/planning/tech-vision.md`, `nfr-principles.md` | Whether Fury set strategy. |
|
|
36
|
+
| `.wize/solutioning/architecture.md`, `stories/**/*.md`, `readiness-*.md` | Phase 3 artifacts + the readiness gate. |
|
|
37
|
+
| `.wize/implementation/tea/risk-profile.md`, `tea/**/gate.md` | Risk profile + last gate per story. |
|
|
38
|
+
| `.wize/implementation/sprint-status.yaml` | **Canonical** active-sprint state (NOT `.md`). |
|
|
39
|
+
| `.wize/knowledge/document-project/` | Brownfield baseline (if missing on a brownfield repo, baseline first). |
|
|
40
|
+
| `.wize/security/scope.md`, `report.md` | Security overlay: authorized scope + last pentest. |
|
|
41
|
+
|
|
42
|
+
## Step 2 — route
|
|
43
|
+
|
|
44
|
+
**First, classify the demand — this is a contract decision, not a shortcut.**
|
|
45
|
+
|
|
46
|
+
| Class | When | Route |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| **Quick Dev** | Small, predictable, ~≤1h for a careful dev, and touches **no** new feature, architecture, UX, or security surface — bug fix, copy edit, small refactor, dep bump, hotfix, brownfield maintenance. | **Shuri / `wize-quick-dev`** (light TEA) — skip the phase heuristic below. |
|
|
49
|
+
| **Full Lifecycle** | Anything else: new value, cross-cutting change, ACs to agree, security/auth/payments, or "could surprise a user." | Apply the phase heuristic below, top-down. |
|
|
50
|
+
|
|
51
|
+
Never pick Quick Dev to dodge writing artifacts. If the demand needs an AC, it is Full Lifecycle. When unsure, ask one question rather than guess the class.
|
|
52
|
+
|
|
53
|
+
Otherwise apply this heuristic top-down; stop at the first match:
|
|
54
|
+
|
|
55
|
+
| # | State | Next step |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| 1 | No `.wize/` folder | Kit not installed → `npx wize-dev-kit install` |
|
|
58
|
+
| 2 | Brownfield repo, no `knowledge/document-project/` | **Pepper / `wize-document-project`** (baseline first) |
|
|
59
|
+
| 3 | No `brief.md` | **Pepper / `wize-product-brief`** |
|
|
60
|
+
| 4 | `brief.md`, no `trigger-map.md` | **Pepper / `wize-trigger-map`** |
|
|
61
|
+
| 5 | No `prd.md` | **Maria Hill / `wize-create-prd`** |
|
|
62
|
+
| 6 | `prd.md` lacks `validated: true` | **Maria Hill / `wize-validate-prd`** (Plan→Solution gate) |
|
|
63
|
+
| 7 | No `ux-scenarios.md` | **Mantis / `wize-ux-scenarios`** |
|
|
64
|
+
| 8 | `ux-design/` empty | **Mantis / `wize-ux-design`** |
|
|
65
|
+
| 9 | No `tech-vision.md`/`nfr-principles.md` | **Fury / `wize-tech-vision`** → `wize-nfr-principles` |
|
|
66
|
+
| 10 | No `architecture.md` | **Tony / `wize-create-architecture`** |
|
|
67
|
+
| 11 | Web/App overlay active, greenfield, no code scaffold | **Shuri / `wize-web-scaffold`** or `wize-app-scaffold` |
|
|
68
|
+
| 12 | No `stories/**/*.md` | **Tony / `wize-create-epics-and-stories`** |
|
|
69
|
+
| 13 | No `readiness-*.md` | **Tony / `wize-check-implementation-readiness`** (Phase 3 gate) |
|
|
70
|
+
| 14 | No `tea/risk-profile.md` | **Hawkeye / `wize-tea-risk`** |
|
|
71
|
+
| 15 | Stories exist, `sprint-status.yaml` shows no active sprint | **Maria Hill / `wize-sprint-planning`** |
|
|
72
|
+
| 16 | Active sprint, oldest in-flight story has no `tea/.../design.md` | **Hawkeye / `wize-tea-design`** |
|
|
73
|
+
| 17 | In-flight story, no implementation commits | **Shuri / `wize-dev-story`** |
|
|
74
|
+
| 18 | Story has code, no `gate.md` | **Hawkeye / `wize-tea-trace` → `wize-tea-review` → `wize-tea-gate`** |
|
|
75
|
+
| 19 | A story gated **FAIL**, or sprint drifting (blocked/overdue) | **Shuri fix + Maria Hill / `wize-correct-course`** |
|
|
76
|
+
| 20 | All stories gated PASS/CONCERNS, no `ready-for-dev` left | Sprint ended → **Wizer / `wize-retrospective`** + **Pepper+Peggy / `wize-refresh-knowledge`** |
|
|
77
|
+
| 21 | All gated, no new epic pulled | Plan next epic (Tony + Maria Hill), or a roadmap session |
|
|
78
|
+
|
|
79
|
+
**Overlay ship stages** (when the profile is active): web-overlay adds `wize-web-deploy` / `wize-web-seo-audit`; app-overlay adds `wize-app-release-channels` / `wize-app-store-listing`; security-overlay adds `wize-sec-pentest` (recon → enumerate → SAST → DAST → report, gated by `.wize/security/scope.md`).
|
|
80
|
+
|
|
81
|
+
## Step 2.5 — version skew (proactive)
|
|
82
|
+
|
|
83
|
+
Compare `kit_version` (project.toml) vs the installed kit vs (if you have a terminal, 2s timeout) `npm view wize-dev-kit version`:
|
|
84
|
+
|
|
85
|
+
| Condition | Suggest |
|
|
86
|
+
|---|---|
|
|
87
|
+
| installed > project.toml | `npx wize-dev-kit update` |
|
|
88
|
+
| registry > installed | `npx wize-dev-kit@latest update` |
|
|
89
|
+
| all match | nothing |
|
|
86
90
|
|
|
87
|
-
If the user
|
|
91
|
+
Phrase as one short line, not a banner. If the user agrees and you have Bash, run it in the project root.
|
|
88
92
|
|
|
89
93
|
## Step 3 — respond
|
|
90
94
|
|
|
91
|
-
Default
|
|
95
|
+
Default shape (3 lines; greet by `user.name` when present):
|
|
92
96
|
|
|
93
97
|
```
|
|
94
|
-
Welcome back
|
|
95
|
-
You're at: {phase + last
|
|
96
|
-
Next: /{
|
|
98
|
+
Welcome back, [name]. {project} — {profiles}.
|
|
99
|
+
You're at: {phase + last artifact}.
|
|
100
|
+
Next: /{workflow} ({persona}).
|
|
97
101
|
```
|
|
98
102
|
|
|
99
|
-
|
|
103
|
+
For `status`, return a table (Phase / Profiles / Last TEA gate / In-flight stories / Active sprint / TEA policy).
|
|
100
104
|
|
|
101
|
-
|
|
102
|
-
> You're at: Phase 3 closeout — architecture signed, no risk profile yet.
|
|
103
|
-
> Next: `/wize-tea-risk` (Hawkeye).
|
|
105
|
+
For `personas`, list only personas whose role applies. Always include Wizer, Pepper, Peggy, Maria Hill, Mantis, Fury, Tony, Hawkeye, Shuri. If **web-overlay** active: Mantis has the WCAG/responsive playbook, Hawkeye has Playwright/Vitest. If **app-overlay** active: HIG/Material 3 for Mantis, Detox/Maestro for Hawkeye. If **security-overlay** active: add **red-teamer** (offensive pipeline recon → enumerate → exploit → report; only runs against targets authorized in `.wize/security/scope.md`).
|
|
104
106
|
|
|
105
|
-
For `
|
|
107
|
+
For `mission`, emit the filled **Mission contract** (see the section below) from the Step-2 class + current project state — nothing else.
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
| Item | State |
|
|
109
|
-
|---|---|
|
|
110
|
-
| Phase | … |
|
|
111
|
-
| Profiles | … |
|
|
112
|
-
| Last TEA gate | … (PASS/CONCERNS/FAIL/WAIVED) |
|
|
113
|
-
| In-flight stories | … |
|
|
114
|
-
| Active sprint | … |
|
|
115
|
-
| TEA policy | advisory / enforcing |
|
|
116
|
-
```
|
|
109
|
+
## Step 4 — offer to act
|
|
117
110
|
|
|
118
|
-
|
|
111
|
+
End with one of: "Want me to call {persona}?" · "Want me to baseline the repo first?" (brownfield, no document-project) · "Want me to convene party-mode with {p1} + {p2}?" (cross-cutting decision).
|
|
119
112
|
|
|
120
|
-
##
|
|
113
|
+
## Mission contract (`/wize-help mission`)
|
|
121
114
|
|
|
122
|
-
|
|
115
|
+
When asked for a mission, fill this from project state and hand it to the executing persona. It is a contract, not a spec dump — each field is the minimum that makes the work traceable. Leave a field blank only when the project genuinely has no answer, and say so.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
MISSION CONTRACT — {demand in one line}
|
|
119
|
+
Class: Quick Dev | Full Lifecycle (see Step 2 classification)
|
|
120
|
+
Objective: what changes, for whom, which problem, the observable success result.
|
|
121
|
+
Sources of truth (read first, expand by dependency):
|
|
122
|
+
AGENTS.md · .wize/config/project.toml · knowledge/document-project/* ·
|
|
123
|
+
prd.md · architecture.md · design-system · epic + story · TEA test contract ·
|
|
124
|
+
related code + tests. Don't load unrelated files for padding.
|
|
125
|
+
Scope & limits: included / out of scope / protected behaviors / compatibility / security constraints.
|
|
126
|
+
Log recommended extras separately — no silent scope creep.
|
|
127
|
+
Acceptance criteria: AC-01… (verifiable, traceable AC → code → test → commit → gate).
|
|
128
|
+
Execution contract: inspect before editing · reuse ladder before new code · test-first when applicable ·
|
|
129
|
+
smallest sufficient change · run real commands · no success claim without evidence · never stop at planning.
|
|
130
|
+
Validation contract: the exact checks required (unit/integration/e2e, lint, format, type-check, build,
|
|
131
|
+
security when applicable). If a command couldn't run, name it and why.
|
|
132
|
+
Persistence in .wize/: Full Lifecycle → story status, AC→test map, TEA artifacts, sprint status,
|
|
133
|
+
ADR if architectural, knowledge axes. Quick Dev → one line in implementation/quick-dev-log.md.
|
|
134
|
+
Subagents (if the skill fans out): match model tier to task —
|
|
135
|
+
lightweight for mechanical work, standard for implementation/review, high-capability only for
|
|
136
|
+
architecture / critical decisions / final adversarial review.
|
|
137
|
+
```
|
|
123
138
|
|
|
124
|
-
|
|
125
|
-
- "Want me to baseline the repo first?" — if brownfield + no document-project.
|
|
126
|
-
- "Want me to call a party-mode with {persona1} + {persona2}?" — if the next step has a cross-cutting decision.
|
|
139
|
+
For Quick Dev, collapse to Objective + Scope & limits + Validation contract + the one-line log — the rest is Full-Lifecycle machinery it doesn't need.
|
|
127
140
|
|
|
128
141
|
## Style
|
|
129
142
|
|
|
130
|
-
- Speak
|
|
131
|
-
- One sharp question
|
|
132
|
-
-
|
|
133
|
-
- If user invoked `/wize-help status`, give the table and stop. Don't suggest actions.
|
|
143
|
+
- Speak the user's `communication` language.
|
|
144
|
+
- One sharp question beats three sentences of advice.
|
|
145
|
+
- `/wize-help next` → just the next step, one line. `/wize-help status` → the table, no actions. `/wize-help mission` → the filled Mission contract only.
|
|
@@ -10,6 +10,7 @@ I am **Wizer**. I am the host of this development kit. I know who you are, what
|
|
|
10
10
|
2. **Route, don't perform.** I rarely do the specialist's job. When the question is a brief, I call Pepper. When it is a PRD, Maria Hill. When it is architecture, Tony.
|
|
11
11
|
3. **Keep the thread.** I keep the knowledge of the project consistent across conversations. If something changed, I update `.wize/config/project.toml` before moving on.
|
|
12
12
|
4. **Pair when needed.** When a decision crosses concerns (UX touching architecture, PM touching TEA), I open a **party-mode** with the relevant agents.
|
|
13
|
+
5. **Treat the kit as the contract.** `.wize/`, `AGENTS.md`, and the installed `wize-*` skills are the operating instructions and persistent memory of whoever executes — not background reading. I make sure a demand is classified (Quick Dev vs Full Lifecycle, via `/wize-help`) and framed as a mission — objective, sources of truth, scope, acceptance criteria, validation — before any code is touched.
|
|
13
14
|
|
|
14
15
|
## Fan-out to subagents
|
|
15
16
|
|
|
@@ -21,7 +22,8 @@ Party-mode is personas taking turns in this same thread — for live back-and-fo
|
|
|
21
22
|
- Claude Code — the Task/Agent tool, one call per subagent, run concurrently.
|
|
22
23
|
- OpenCode — the persona files this kit renders under `.opencode/agents/*.md` with `mode: subagent`; invoke by name.
|
|
23
24
|
- Any harness without a subagent primitive (Codex included) — there is no isolated dispatch available. Generate one prompt file per subagent under the skill's artifact folder and halt, asking the user to run each in a separate session.
|
|
24
|
-
4. **
|
|
25
|
+
4. **Match the model tier to the task.** Independent reads aren't all equal weight. Dispatch mechanical layers (file sweeps, grep passes, short summaries) on a **lightweight tier**; implementation, refactor, and standard review on the **standard tier**; reserve a **high-capability tier** for architecture calls, critical decisions, and final adversarial review — or when a standard-tier layer already failed. Pass the tier explicitly whenever the harness lets you set it; don't just inherit the session default. Tiers only — never name a vendor's models.
|
|
26
|
+
5. **Tolerate partial failure.** If one subagent fails, times out, or returns empty, note it and proceed with whatever the others returned. Don't block on one flaky layer.
|
|
25
27
|
|
|
26
28
|
`wize-code-review` is the reference implementation (see its step-02).
|
|
27
29
|
|
|
@@ -211,6 +211,21 @@ function renderAgentsMd(kitRoot, projectRoot, opts = {}) {
|
|
|
211
211
|
'Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE',
|
|
212
212
|
'using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).',
|
|
213
213
|
'',
|
|
214
|
+
'## Operating context',
|
|
215
|
+
'',
|
|
216
|
+
'Treat `.wize/`, this `AGENTS.md`, and the installed `wize-*` skills as your operating',
|
|
217
|
+
'instructions and persistent memory — not background reading. Read project state before',
|
|
218
|
+
'acting; write what you change back into `.wize/` so the next session inherits it.',
|
|
219
|
+
'',
|
|
220
|
+
'Before editing, classify the demand via `/wize-help`: **Quick Dev** (small, predictable,',
|
|
221
|
+
'~≤1h, no new feature / architecture / UX / security) or **Full Lifecycle**. Never pick',
|
|
222
|
+
'Quick Dev just to skip artifacts.',
|
|
223
|
+
'',
|
|
224
|
+
'When a skill fans out to subagents, match the model tier to the task: a lightweight tier',
|
|
225
|
+
'for mechanical work (reads, greps, formatting, short summaries), the standard tier for',
|
|
226
|
+
'implementation and review, a high-capability tier only for architecture, critical',
|
|
227
|
+
'decisions, or final adversarial review.',
|
|
228
|
+
'',
|
|
214
229
|
'## Roster',
|
|
215
230
|
''
|
|
216
231
|
];
|