wize-dev-kit 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
7
7
  > **0.10.0 and earlier are in Brazilian Portuguese** and are kept verbatim as a
8
8
  > historical record (not back-translated).
9
9
 
10
+ ## [0.22.0] — 2026-09-25
11
+
12
+ **GitHub Copilot is now the 12th supported harness.** The new `copilot` IDE target renders the kit into the two trees Copilot actually reads: `.github/skills/wize-{code}/SKILL.md` for workflows + skills (Agent Skills standard) and `.github/agents/wize-{code}.agent.md` for the 10 personas (custom agents, pickable in the chat dropdown). Works across the Copilot cloud agent, Copilot code review, the GitHub Copilot CLI, the Copilot app, and agent mode in VS Code, JetBrains IDEs, Eclipse and Xcode. Highlighted in all 3 READMEs + `docs/harnesses/copilot.md` (+pt-BR); registered in the installer targets, `doctor`, the `.gitignore` block, the brownfield baseline and the test suites.
13
+
14
+ ### Added
15
+
16
+ - **`copilot` IDE target** (`adapters/copilot/`) — personas → `.github/agents/*.agent.md` (frontmatter `name` + `description`, persona body as the prompt, `tools` omitted so each persona keeps every available tool); workflows + skills → `.github/skills/*/SKILL.md` via the shared Anthropic emitter, including companion files (`steps/`, `templates/`, `data/`, `*.csv`) so micro-file workflows resolve their relative paths.
17
+ - **`copilot` harness in the brownfield baseline** — headless one-shot via `copilot -p "<prompt>"` (grant the minimum permissions you need for unattended runs, e.g. `--allow-tool=write`, instead of `--allow-all`).
18
+ - **`docs/harnesses/copilot.md` + `copilot.pt-BR.md`** — the skill vs custom-agent split, progressive disclosure, `AGENTS.md` as the always-on instructions source (no `.github/copilot-instructions.md` duplicate is written), why prompt files are deliberately not shipped (VS Code deprecated `.github/prompts/*.prompt.md` in favor of agent skills), and the headless invocation.
19
+ - **`renderAnthropicSkills` accepts an optional `opts.kinds` filter** — one emitter now serves harnesses that split assets across trees (Copilot sends workflows/skills to `.github/skills/` and personas to `.github/agents/`) without duplicating the rendering logic.
20
+
10
21
  ## [0.21.0] — 2026-09-25
11
22
 
12
23
  **Less code, and a way to verify it.** Four changes put the kit's reuse discipline to work *after* the code is written, not only while it is being written: a deletion-first review (`/wize-subtract`) wired as a fourth layer of `wize-code-review`, a ledger for deliberate shortcuts (`/wize-debt` + the `wize-debt:` marker), the code ladder promoted into the generated `AGENTS.md` (always-on in every harness), and code accounting in the retrospective. Inspired by [Ponytail](https://github.com/DietrichGebert/ponytail) by Dietrich Gebert (credited in all 3 READMEs).
package/README.es.md CHANGED
@@ -69,12 +69,13 @@ Tras instalar, abre tu IDE y di:
69
69
 
70
70
  ## Harnesses soportados
71
71
 
72
- Los 11 IDEs objetivo se renderizan desde la misma fuente; el formato y la mecánica varían por harness. **OpenCode** recibe la integración más profunda — la separación persona/workflow del kit se mapea sobre las primitivas propias de OpenCode (`mode: primary|subagent`, `agent:`, `subtask:`) en lugar de aplanarse en un único tipo de archivo.
72
+ Los 12 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
  |---|---|---|
76
76
  | **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) |
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
+ | **GitHub Copilot** 🆕 | `.github/skills/*/SKILL.md` + `.github/agents/*.agent.md` | Agent Skills standard para workflows/skills, **custom agents** para las 10 personas (seleccionables en el desplegable del chat); contexto always-on vía `AGENTS.md`; funciona en el cloud agent, code review, CLI, app y agent mode de VS Code/JetBrains. [Docs →](docs/harnesses/copilot.md) |
78
79
  | **Codex** | `.agents/skills/*/SKILL.md` | Mismo formato Skill + `AGENTS.md` en la raíz. [Docs →](docs/harnesses/codex.md) |
79
80
  | **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mismo formato Skill; autodetecta árboles de skills de Claude/Codex. [Docs →](docs/harnesses/kimi-code.md) |
80
81
  | **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) |
package/README.md CHANGED
@@ -69,12 +69,13 @@ After install, open your IDE and say:
69
69
 
70
70
  ## Supported harnesses
71
71
 
72
- All 11 IDE targets render from the same source; format and mechanics differ per harness. **OpenCode** gets the deepest integration — the kit's persona/workflow split maps onto OpenCode's own primitives (`mode: primary|subagent`, `agent:`, `subtask:`) instead of being flattened into one file type.
72
+ All 12 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
  |---|---|---|
76
76
  | **OpenCode** 🆕 | `.opencode/agents/` + `.opencode/commands/` | Native `mode: primary\|subagent`; commands auto-bind to their owning persona (`agent:`); fan-out workers run isolated (`subtask: true`). [Docs →](docs/harnesses/opencode.md) |
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
+ | **GitHub Copilot** 🆕 | `.github/skills/*/SKILL.md` + `.github/agents/*.agent.md` | Agent Skills standard for workflows/skills, **custom agents** for the 10 personas (pickable in the chat dropdown); always-on context via `AGENTS.md`; works in the cloud agent, code review, CLI, app and VS Code/JetBrains agent mode. [Docs →](docs/harnesses/copilot.md) |
78
79
  | **Codex** | `.agents/skills/*/SKILL.md` | Same Skill format + root `AGENTS.md`. [Docs →](docs/harnesses/codex.md) |
79
80
  | **Kimi Code** | `.kimi/skills/*/SKILL.md` | Same Skill format; auto-detects Claude/Codex skill trees. [Docs →](docs/harnesses/kimi-code.md) |
80
81
  | **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) |
package/README.pt-BR.md CHANGED
@@ -69,12 +69,13 @@ Após instalar, abra sua IDE e diga:
69
69
 
70
70
  ## Harnesses suportadas
71
71
 
72
- Os 11 alvos de IDE são gerados a partir da mesma fonte; formato e mecânica mudam por harness. O **OpenCode** tem a integração mais profunda — a divisão persona/workflow do kit mapeia pras primitivas nativas do próprio OpenCode (`mode: primary|subagent`, `agent:`, `subtask:`) em vez de ser achatada num único tipo de arquivo.
72
+ Os 12 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
  |---|---|---|
76
76
  | **OpenCode** 🆕 | `.opencode/agents/` + `.opencode/commands/` | `mode: primary\|subagent` nativo; commands se ligam à persona dona (`agent:`); workers de fan-out rodam isolados (`subtask: true`). [Docs →](docs/harnesses/opencode.pt-BR.md) |
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
+ | **GitHub Copilot** 🆕 | `.github/skills/*/SKILL.md` + `.github/agents/*.agent.md` | Agent Skills standard para workflows/skills, **custom agents** para as 10 personas (selecionáveis na dropdown do chat); contexto always-on via `AGENTS.md`; funciona no cloud agent, code review, CLI, app e agent mode do VS Code/JetBrains. [Docs →](docs/harnesses/copilot.pt-BR.md) |
78
79
  | **Codex** | `.agents/skills/*/SKILL.md` | Mesmo formato Skill + `AGENTS.md` na raiz. [Docs →](docs/harnesses/codex.pt-BR.md) |
79
80
  | **Kimi Code** | `.kimi/skills/*/SKILL.md` | Mesmo formato Skill; autodetecta as árvores do Claude/Codex. [Docs →](docs/harnesses/kimi-code.pt-BR.md) |
80
81
  | **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) |
@@ -7,6 +7,7 @@ Each adapter renders the kit's agents/skills/workflows into the file layout that
7
7
  | Code | Target path in repo | File format | Notes |
8
8
  |---|---|---|---|
9
9
  | `claude-code` | `.claude/skills/wize-*/` | `SKILL.md` per agent/workflow | Default. Uses Claude Code skill folder pattern. |
10
+ | `copilot` | `.github/skills/wize-*/` + `.github/agents/wize-*.agent.md` | `SKILL.md` per workflow/skill + `.agent.md` per persona | GitHub Copilot — Agent Skills standard for skills, custom agents for personas. |
10
11
  | `cursor` | `.cursor/rules/wize-*.mdc` | MDC | Each agent/skill becomes a rule file. |
11
12
  | `windsurf` | `.windsurf/rules/wize-*.md` | Markdown | Cascade-friendly. |
12
13
  | `codex` | `.agents/skills/wize-*/` | `SKILL.md` per agent/workflow | OpenAI Codex. |
@@ -0,0 +1,54 @@
1
+ # GitHub Copilot — Wize Dev Kit Adapter
2
+
3
+ Emits the kit's assets into the two trees GitHub Copilot reads, mirroring how
4
+ Copilot itself separates **skills** from **agents**:
5
+
6
+ - `.github/skills/wize-{code}/SKILL.md` — workflows + skills, as **agent skills**
7
+ (Agent Skills standard: one folder per skill, `SKILL.md` with `name` +
8
+ `description` frontmatter, optional companion files).
9
+ - `.github/agents/wize-{code}.agent.md` — the 10 personas, as **custom agents**
10
+ (frontmatter: `name`, `description`; body = the persona).
11
+
12
+ ## How Copilot picks these up
13
+
14
+ - **Skills** work with the Copilot cloud agent, Copilot code review, the GitHub
15
+ Copilot CLI, the Copilot app, and agent mode in VS Code, JetBrains IDEs,
16
+ Eclipse and Xcode. Copilot discovers project skills in `.github/skills/`,
17
+ `.claude/skills/` or `.agents/skills/` — this adapter writes the canonical
18
+ `.github/skills/` path, so it also works without picking the Claude Code or
19
+ Codex target.
20
+ - **Custom agents** surface in the agent dropdown (VS Code, JetBrains, and the
21
+ agents tab on github.com). VS Code detects any `.md` under `.github/agents/`
22
+ as a custom agent; GitHub's cloud agent uses the same folder. `tools` is
23
+ intentionally omitted so each persona keeps every available tool — the persona
24
+ body defines the role, and narrowing tools is a per-team decision.
25
+ - **Progressive disclosure:** only `name` + `description` load at session start;
26
+ the full `SKILL.md` activates when your request matches the description (or is
27
+ invoked explicitly). The kit's descriptions are written keyword-rich for
28
+ exactly this match.
29
+ - **Always-on instructions are not duplicated.** Copilot reads the root
30
+ `AGENTS.md` as agent instructions (nearest file in the tree wins), and the
31
+ generic adapter already emits it — including the code ladder and the kit's
32
+ operating contract. Writing a `.github/copilot-instructions.md` with the same
33
+ content would only fork it.
34
+ - **No prompt files.** `.github/prompts/*.prompt.md` is deprecated by VS Code
35
+ (the migration path is *prompt → agent skill*), so this adapter ships skills
36
+ instead of prompts on purpose.
37
+ - Generated `wize-*` entries are gitignored (regenerate with
38
+ `npx wize-dev-kit sync`); hand-written team skills you add next to them should
39
+ be committed, per GitHub's own guidance.
40
+
41
+ ## Files
42
+
43
+ - `render.js` — personas → `.github/agents/`; workflows + skills → `.github/skills/`
44
+ via the shared `renderAnthropicSkills` emitter (`kinds` filter), which also
45
+ copies companion files (`steps/`, `templates/`, `data/`, `*.csv`) so
46
+ micro-file workflows resolve their relative paths.
47
+ - `adapter.yaml` — descriptor (target path, file pattern).
48
+
49
+ ## Headless
50
+
51
+ `copilot -p "<prompt>"` runs a one-shot session (the installer's brownfield
52
+ baseline uses this when the Copilot CLI is the detected harness). For unattended
53
+ automation add the minimum permissions you need, e.g. `--allow-tool=write`
54
+ instead of `--allow-all`.
@@ -0,0 +1,8 @@
1
+ code: copilot
2
+ description: "GitHub Copilot — agent skills (.github/skills/, Agent Skills standard) + custom agents (.github/agents/*.agent.md)."
3
+ target_path: ".github/"
4
+ file_pattern: "skills/wize-*/SKILL.md + agents/wize-*.agent.md"
5
+ file_format: markdown
6
+ hooks:
7
+ pre_render: []
8
+ post_render: []
@@ -0,0 +1,77 @@
1
+ // GitHub Copilot adapter — emits two trees, mirroring how Copilot itself
2
+ // separates skills from agents:
3
+ //
4
+ // - .github/skills/wize-{code}/SKILL.md workflows + skills → agent skills
5
+ // - .github/agents/wize-{code}.agent.md personas → custom agents
6
+ //
7
+ // GitHub Copilot reads project agent skills from .github/skills/, .claude/skills/
8
+ // or .agents/skills/ (Agent Skills standard: a folder per skill, SKILL.md with
9
+ // `name` + `description` frontmatter, optional companion files), and custom
10
+ // agents from .github/agents/*.agent.md. Both paths are honored by agent mode
11
+ // in VS Code, the Copilot cloud agent on github.com, Copilot code review, the
12
+ // GitHub Copilot CLI and the Copilot app.
13
+ //
14
+ // Always-on instructions are NOT duplicated here: Copilot reads the root
15
+ // AGENTS.md (generated by the generic adapter) as agent instructions, so
16
+ // writing a .github/copilot-instructions.md would only fork the same content.
17
+ //
18
+ // Skills: https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
19
+ // Agents: https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/create-custom-agents
20
+
21
+ 'use strict';
22
+
23
+ const fs = require('node:fs');
24
+ const path = require('node:path');
25
+ const {
26
+ collectAssets,
27
+ renderAnthropicSkills,
28
+ escapeYamlDouble,
29
+ clipOneLine,
30
+ ensureDir
31
+ } = require('../../tools/installer/render-shared.js');
32
+
33
+ function render(kitRoot, projectRoot, opts = {}) {
34
+ const skillsDir = path.join(projectRoot, '.github', 'skills');
35
+ const agentsDir = path.join(projectRoot, '.github', 'agents');
36
+
37
+ // 1. Workflows + skills → .github/skills/wize-{code}/SKILL.md
38
+ // (companion files — steps/, templates/, data/ — are copied alongside by
39
+ // the shared emitter so micro-file workflows resolve their relative paths.)
40
+ const skills = renderAnthropicSkills(kitRoot, skillsDir, { ...opts, kinds: ['workflow', 'skill'] });
41
+ const written = [...skills.written];
42
+ const skipped = [...(skills.skipped || [])];
43
+
44
+ // 2. Personas → .github/agents/wize-{code}.agent.md
45
+ // Frontmatter: name (the stable wize-* identifier), description (persona
46
+ // name + role + summary, shown as the chat placeholder). `tools` is left
47
+ // out on purpose — the persona body defines the role, and omitting the
48
+ // property grants the agent every available tool (per GitHub docs).
49
+ const agents = collectAssets(kitRoot, opts).filter(a => a.kind === 'agent');
50
+ if (!opts.dryRun) ensureDir(agentsDir);
51
+
52
+ for (const a of agents) {
53
+ const desc = clipOneLine(`${a.name} (${a.title}) — ${a.description}`);
54
+ const content = [
55
+ '---',
56
+ `name: ${a.code}`,
57
+ `description: "${escapeYamlDouble(desc)}"`,
58
+ '---',
59
+ '',
60
+ `# ${a.name} — ${a.title}`,
61
+ '',
62
+ a.body.trim(),
63
+ ''
64
+ ].join('\n');
65
+
66
+ if (opts.dryRun) {
67
+ written.push(`[dry-run] ${a.code}.agent.md`);
68
+ continue;
69
+ }
70
+ fs.writeFileSync(path.join(agentsDir, `${a.code}.agent.md`), content, 'utf-8');
71
+ written.push(`${a.code}.agent.md`);
72
+ }
73
+
74
+ return { written, skipped };
75
+ }
76
+
77
+ module.exports = { render };
@@ -0,0 +1,65 @@
1
+ # GitHub Copilot — Wize Development Kit
2
+
3
+ 🌐 **Languages:** **English** · [Português (pt-BR)](copilot.pt-BR.md)
4
+
5
+ ← [Back to README](../../README.md)
6
+
7
+ GitHub Copilot reads two kinds of project customizations, and the kit fills both:
8
+
9
+ - **Agent skills** — `.github/skills/wize-{code}/SKILL.md`, following the open
10
+ [Agent Skills](https://agentskills.io) standard (a folder per skill; YAML
11
+ frontmatter with `name` + `description`).
12
+ - **Custom agents** — `.github/agents/wize-{code}.agent.md`, one per persona,
13
+ with the persona as its prompt.
14
+
15
+ ## Output
16
+
17
+ ```
18
+ .github/
19
+ ├── agents/ wize-orchestrator.agent.md, wize-agent-dev.agent.md, … (10 personas)
20
+ └── skills/ wize-grill/SKILL.md, wize-code-review/SKILL.md, … (workflows + skills)
21
+ ```
22
+
23
+ Companion files (`steps/`, `templates/`, `data/`, `*.csv`) are copied next to
24
+ each `SKILL.md`, so micro-file workflows like `wize-create-architecture` resolve
25
+ their relative paths.
26
+
27
+ ## Notable
28
+
29
+ - **Where it works.** Copilot cloud agent, Copilot code review, the GitHub
30
+ Copilot CLI, the Copilot app, and agent mode in VS Code, JetBrains IDEs,
31
+ Eclipse and Xcode. Copilot discovers project skills in `.github/skills/`,
32
+ `.claude/skills/` or `.agents/skills/` — this adapter writes the canonical
33
+ `.github/skills/` path.
34
+ - **Progressive disclosure.** Only `name` + `description` load at session start;
35
+ the full `SKILL.md` activates when your request matches the description. The
36
+ kit's descriptions are keyword-rich on purpose.
37
+ - **Always-on context comes from `AGENTS.md`.** Copilot treats `AGENTS.md` as
38
+ agent instructions (the nearest file in the directory tree wins), and the
39
+ installer already generates one — carrying the operating contract **and** the
40
+ code ladder (YAGNI → reuse → stdlib → native → installed dependency →
41
+ one-liner → minimum). No `.github/copilot-instructions.md` duplicate is
42
+ written; keep your own there if you need repo-specific rules beyond the kit's.
43
+ - **The personas are pickable.** The agent dropdown (VS Code / JetBrains) and
44
+ the agents tab on github.com list the 10 `wize-*` agents, each with its role
45
+ as description. `tools` is omitted, so a persona keeps every available tool.
46
+ - **No prompt files.** `.github/prompts/*.prompt.md` is deprecated by VS Code
47
+ (migrating to agent skills), so the kit ships skills instead — `/wize-{code}`
48
+ invocations are covered by skill activation.
49
+
50
+ ## Setup
51
+
52
+ Pick **GitHub Copilot** as an IDE target during `npx wize-dev-kit install` (or
53
+ add it and re-run `npx wize-dev-kit sync`). Restart Copilot, then start with
54
+ `/wize-orchestrator` in chat — or select a persona from the agent dropdown.
55
+
56
+ Generated `wize-*` files are gitignored (regenerate any time with
57
+ `npx wize-dev-kit sync`). Hand-written team skills added next to them should be
58
+ committed.
59
+
60
+ ## Headless
61
+
62
+ `copilot -p "<prompt>"` runs a one-shot session without entering the interactive
63
+ UI, which is what the installer's brownfield baseline uses when the Copilot CLI
64
+ is the detected harness. For unattended automation, grant the minimum you need
65
+ (for example `--allow-tool=write`) rather than `--allow-all`.
@@ -0,0 +1,65 @@
1
+ # GitHub Copilot — Wize Development Kit
2
+
3
+ 🌐 **Idiomas:** [English](copilot.md) · **Português (pt-BR)**
4
+
5
+ ← [Voltar ao README](../../README.pt-BR.md)
6
+
7
+ O GitHub Copilot lê dois tipos de customização de projeto, e o kit preenche os dois:
8
+
9
+ - **Agent skills** — `.github/skills/wize-{code}/SKILL.md`, seguindo o padrão aberto
10
+ [Agent Skills](https://agentskills.io) (uma pasta por skill; frontmatter YAML com
11
+ `name` + `description`).
12
+ - **Custom agents** — `.github/agents/wize-{code}.agent.md`, um por persona, com a
13
+ persona como prompt.
14
+
15
+ ## Saída
16
+
17
+ ```
18
+ .github/
19
+ ├── agents/ wize-orchestrator.agent.md, wize-agent-dev.agent.md, … (10 personas)
20
+ └── skills/ wize-grill/SKILL.md, wize-code-review/SKILL.md, … (workflows + skills)
21
+ ```
22
+
23
+ Arquivos companheiros (`steps/`, `templates/`, `data/`, `*.csv`) são copiados ao
24
+ lado de cada `SKILL.md`, então workflows micro-file como `wize-create-architecture`
25
+ resolvem seus caminhos relativos.
26
+
27
+ ## Destaques
28
+
29
+ - **Onde funciona.** Copilot cloud agent, Copilot code review, GitHub Copilot CLI,
30
+ app do Copilot e agent mode no VS Code, JetBrains IDEs, Eclipse e Xcode. O Copilot
31
+ descobre skills de projeto em `.github/skills/`, `.claude/skills/` ou
32
+ `.agents/skills/` — este adapter escreve o caminho canônico `.github/skills/`.
33
+ - **Progressive disclosure.** No início da sessão só `name` + `description` são
34
+ carregados; o `SKILL.md` completo ativa quando o pedido casa com a descrição. As
35
+ descrições do kit são ricas em palavras-chave de propósito.
36
+ - **Contexto always-on vem do `AGENTS.md`.** O Copilot trata `AGENTS.md` como
37
+ instruções de agente (o arquivo mais próximo na árvore vence), e o installer já
38
+ gera um — carregando o contrato de operação **e** a ladder de código
39
+ (YAGNI → reuso → stdlib → nativo → dependência instalada → uma linha → mínimo).
40
+ Nenhum `.github/copilot-instructions.md` duplicado é escrito; mantenha o seu ali
41
+ se precisar de regras específicas do repo além das do kit.
42
+ - **As personas são selecionáveis.** A dropdown de agentes (VS Code / JetBrains) e a
43
+ aba de agentes no github.com listam os 10 agentes `wize-*`, cada um com seu papel
44
+ na descrição. O campo `tools` é omitido, então cada persona mantém todas as
45
+ ferramentas disponíveis.
46
+ - **Sem prompt files.** `.github/prompts/*.prompt.md` está deprecado pelo VS Code
47
+ (migrando para agent skills), então o kit entrega skills — as invocações
48
+ `/wize-{code}` ficam cobertas pela ativação por descrição.
49
+
50
+ ## Instalação
51
+
52
+ Escolha **GitHub Copilot** como IDE target no `npx wize-dev-kit install` (ou
53
+ adicione e rode `npx wize-dev-kit sync`). Reinicie o Copilot e comece com
54
+ `/wize-orchestrator` no chat — ou selecione uma persona na dropdown de agentes.
55
+
56
+ Arquivos `wize-*` gerados ficam no `.gitignore` (regenere com
57
+ `npx wize-dev-kit sync`). Skills de time escritas à mão ao lado deles devem ser
58
+ commitadas.
59
+
60
+ ## Headless
61
+
62
+ `copilot -p "<prompt>"` roda uma sessão one-shot sem entrar na UI interativa — é o
63
+ que o baseline brownfield do installer usa quando o Copilot CLI é o harness
64
+ detectado. Para automação não assistida, conceda o mínimo necessário (por exemplo
65
+ `--allow-tool=write`) em vez de `--allow-all`.
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.21.0",
4
+ "version": "0.22.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",
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- // Verifica que as skills core novas (wize-subtract, wize-debt) — e a wize-eli5 —
3
- // são renderizadas por TODOS os 11 adapters de harness.
2
+ // Verifica que as skills core (wize-subtract, wize-debt, wize-eli5) são
3
+ // renderizadas por TODOS os 12 adapters de harness.
4
4
  //
5
5
  // Uso:
6
6
  // node tools/check-skills-all-adapters.js # valida a lista padrão
@@ -23,6 +23,7 @@ const SKILLS = {
23
23
  // Onde cada harness deposita uma skill `wize-{code}`.
24
24
  const ADAPTERS = [
25
25
  { code: 'claude-code', path: (c) => `.claude/skills/${c}/SKILL.md` },
26
+ { code: 'copilot', path: (c) => `.github/skills/${c}/SKILL.md` },
26
27
  { code: 'antigravity', path: (c) => `.agent/skills/${c}/SKILL.md` },
27
28
  { code: 'codex', path: (c) => `.agents/skills/${c}/SKILL.md` },
28
29
  { code: 'kimi-code', path: (c) => `.kimi/skills/${c}/SKILL.md` },
@@ -5,7 +5,7 @@
5
5
  //
6
6
  // Harness priority is:
7
7
  // 1. user's selected IDE targets (from .wize/config/project.toml), highest first
8
- // 2. claude > codex > opencode > hermes > kiro-cli (universal fallback)
8
+ // 2. claude > copilot > codex > opencode > hermes > kiro-cli (universal fallback)
9
9
  //
10
10
  // Set WIZE_SKIP_BASELINE=1 in the environment to disable any execution (the
11
11
  // install still suggests the next step). Useful for CI and unattended setups.
@@ -26,6 +26,11 @@ const HARNESSES = [
26
26
  binary: 'claude',
27
27
  buildCmd: (prompt) => ({ cmd: 'claude', args: ['-p', prompt] })
28
28
  },
29
+ {
30
+ code: 'copilot',
31
+ binary: 'copilot',
32
+ buildCmd: (prompt) => ({ cmd: 'copilot', args: ['-p', prompt] })
33
+ },
29
34
  {
30
35
  code: 'codex',
31
36
  binary: 'codex',
@@ -106,7 +111,7 @@ function manualInstructions(harness) {
106
111
  if (!harness) {
107
112
  return [
108
113
  '',
109
- 'No AI harness CLI was detected on PATH (claude / codex / opencode / hermes / kiro-cli).',
114
+ 'No AI harness CLI was detected on PATH (claude / copilot / codex / opencode / hermes / kiro-cli).',
110
115
  'Open your IDE in this repo and run:',
111
116
  ' /wize-document-project',
112
117
  ''
@@ -57,6 +57,7 @@ function adapterTargetPath(targetCode, projectRoot) {
57
57
  // Mirror of the adapter render conventions documented in adapters/README.md.
58
58
  switch (targetCode) {
59
59
  case 'claude-code': return path.join(projectRoot, '.claude/skills');
60
+ case 'copilot': return path.join(projectRoot, '.github/skills');
60
61
  case 'antigravity': return path.join(projectRoot, '.agent/skills');
61
62
  case 'codex': return path.join(projectRoot, '.agents/skills');
62
63
  case 'kimi-code': return path.join(projectRoot, '.kimi/skills');
@@ -211,8 +211,12 @@ function collectAssets(kitRoot, { profiles = ['core'] } = {}) {
211
211
 
212
212
  // Anthropic-style SKILL.md renderer used by Claude Code, Antigravity, Codex, Kimi.
213
213
  // Each asset becomes <targetDir>/<code>/SKILL.md with YAML frontmatter (name, description).
214
+ // `opts.kinds` (optional) restricts the emitter to some asset kinds — GitHub
215
+ // Copilot uses it to send workflows/skills to .github/skills/ while its personas
216
+ // go out as .agent.md custom agents instead.
214
217
  function renderAnthropicSkills(kitRoot, targetDir, opts = {}) {
215
- const assets = collectAssets(kitRoot, opts);
218
+ const kinds = opts.kinds ? new Set(opts.kinds) : null;
219
+ const assets = collectAssets(kitRoot, opts).filter(a => !kinds || kinds.has(a.kind));
216
220
  const written = [];
217
221
  if (!opts.dryRun) ensureDir(targetDir);
218
222
 
@@ -21,6 +21,8 @@ const GITIGNORE_BODY = [
21
21
  '',
22
22
  '# Generated IDE adapter outputs (regenerate with `npx wize-dev-kit install`)',
23
23
  '.claude/skills/wize-*',
24
+ '.github/skills/wize-*',
25
+ '.github/agents/wize-*.agent.md',
24
26
  '.agent/skills/wize-*',
25
27
  '.agents/skills/wize-*',
26
28
  '.kimi/skills/wize-*',
@@ -33,6 +33,7 @@ const KIT_VERSION = require(path.join(KIT_ROOT, 'package.json')).version;
33
33
 
34
34
  const TARGETS = [
35
35
  { code: 'claude-code', label: 'Claude Code (.claude/skills/)', default: true },
36
+ { code: 'copilot', label: 'GitHub Copilot (.github/skills/ + .github/agents/)', default: false },
36
37
  { code: 'cursor', label: 'Cursor (.cursor/rules/)', default: false },
37
38
  { code: 'windsurf', label: 'Windsurf', default: false },
38
39
  { code: 'codex', label: 'Codex', default: false },