wize-dev-kit 0.3.0 → 0.4.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.
Files changed (83) hide show
  1. package/AGENTS.md +21 -0
  2. package/ARCH.md +40 -4
  3. package/CHANGELOG.md +50 -0
  4. package/DECISIONS.md +13 -0
  5. package/README.md +11 -2
  6. package/package.json +3 -2
  7. package/src/core-skills/module.yaml +4 -0
  8. package/src/core-skills/wize-spec/assets/headless-schemas.md +39 -0
  9. package/src/core-skills/wize-spec/assets/spec-template.md +40 -0
  10. package/src/core-skills/wize-spec/customize.toml +20 -0
  11. package/src/core-skills/wize-spec/skill.md +110 -0
  12. package/src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv +12 -0
  13. package/src/method-skills/1-analysis/wize-document-project/templates/api-contracts-template.md +38 -0
  14. package/src/method-skills/1-analysis/wize-document-project/templates/architecture-template.md +54 -0
  15. package/src/method-skills/1-analysis/wize-document-project/templates/component-inventory-template.md +40 -0
  16. package/src/method-skills/1-analysis/wize-document-project/templates/contribution-guide-template.md +34 -0
  17. package/src/method-skills/1-analysis/wize-document-project/templates/data-models-template.md +36 -0
  18. package/src/method-skills/1-analysis/wize-document-project/templates/deep-dive-template.md +312 -0
  19. package/src/method-skills/1-analysis/wize-document-project/templates/deployment-guide-template.md +42 -0
  20. package/src/method-skills/1-analysis/wize-document-project/templates/development-guide-template.md +61 -0
  21. package/src/method-skills/1-analysis/wize-document-project/templates/index-template.md +185 -0
  22. package/src/method-skills/1-analysis/wize-document-project/templates/project-overview-template.md +110 -0
  23. package/src/method-skills/1-analysis/wize-document-project/templates/project-scan-report-schema.json +159 -0
  24. package/src/method-skills/1-analysis/wize-document-project/templates/source-tree-template.md +142 -0
  25. package/src/method-skills/1-analysis/wize-document-project/workflow.md +23 -0
  26. package/src/method-skills/1-analysis/wize-domain-research/customize.toml +14 -0
  27. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-01-init.md +49 -0
  28. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-02-domain-analysis.md +39 -0
  29. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-03-competitive-landscape.md +39 -0
  30. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-04-regulatory-focus.md +39 -0
  31. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-05-technical-trends.md +39 -0
  32. package/src/method-skills/1-analysis/wize-domain-research/domain-steps/step-06-research-synthesis.md +43 -0
  33. package/src/method-skills/1-analysis/wize-domain-research/research.template.md +31 -0
  34. package/src/method-skills/1-analysis/wize-domain-research/workflow.md +51 -0
  35. package/src/method-skills/1-analysis/wize-market-research/customize.toml +14 -0
  36. package/src/method-skills/1-analysis/wize-market-research/research.template.md +31 -0
  37. package/src/method-skills/1-analysis/wize-market-research/steps/step-01-init.md +57 -0
  38. package/src/method-skills/1-analysis/wize-market-research/steps/step-02-customer-behavior.md +39 -0
  39. package/src/method-skills/1-analysis/wize-market-research/steps/step-03-customer-pain-points.md +37 -0
  40. package/src/method-skills/1-analysis/wize-market-research/steps/step-04-customer-decisions.md +39 -0
  41. package/src/method-skills/1-analysis/wize-market-research/steps/step-05-competitive-analysis.md +37 -0
  42. package/src/method-skills/1-analysis/wize-market-research/steps/step-06-research-completion.md +47 -0
  43. package/src/method-skills/1-analysis/wize-market-research/workflow.md +59 -0
  44. package/src/method-skills/1-analysis/wize-technical-research/customize.toml +14 -0
  45. package/src/method-skills/1-analysis/wize-technical-research/research.template.md +31 -0
  46. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-01-init.md +49 -0
  47. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-02-technical-overview.md +45 -0
  48. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-03-integration-patterns.md +39 -0
  49. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-04-architectural-patterns.md +39 -0
  50. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-05-implementation-research.md +42 -0
  51. package/src/method-skills/1-analysis/wize-technical-research/technical-steps/step-06-research-synthesis.md +46 -0
  52. package/src/method-skills/1-analysis/wize-technical-research/workflow.md +53 -0
  53. package/src/method-skills/3-solutioning/wize-create-architecture/architecture-decision-template.md +41 -0
  54. package/src/method-skills/3-solutioning/wize-create-architecture/customize.toml +20 -0
  55. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01-init.md +95 -0
  56. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-01b-continue.md +32 -0
  57. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-02-context.md +126 -0
  58. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-03-starter.md +110 -0
  59. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-04-decisions.md +129 -0
  60. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-05-patterns.md +109 -0
  61. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-06-structure.md +97 -0
  62. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-07-validation.md +124 -0
  63. package/src/method-skills/3-solutioning/wize-create-architecture/steps/step-08-complete.md +59 -0
  64. package/src/method-skills/3-solutioning/wize-create-architecture/workflow.md +38 -201
  65. package/src/method-skills/4-implementation/wize-code-review/customize.toml +21 -0
  66. package/src/method-skills/4-implementation/wize-code-review/steps/step-01-gather-context.md +64 -0
  67. package/src/method-skills/4-implementation/wize-code-review/steps/step-02-review.md +38 -0
  68. package/src/method-skills/4-implementation/wize-code-review/steps/step-03-triage.md +43 -0
  69. package/src/method-skills/4-implementation/wize-code-review/steps/step-04-present.md +100 -0
  70. package/src/method-skills/4-implementation/wize-code-review/workflow.md +34 -89
  71. package/src/method-skills/module.yaml +19 -0
  72. package/src/tea-skills/wize-tea-risk/workflow.md +11 -0
  73. package/tools/installer/commands/doctor.js +27 -1
  74. package/tools/installer/commands/document-project.js +93 -0
  75. package/tools/installer/document-project/batch-scanner.js +93 -0
  76. package/tools/installer/document-project/classify.js +170 -0
  77. package/tools/installer/document-project/modes/deep-dive.js +196 -0
  78. package/tools/installer/document-project/modes/full-rescan.js +15 -0
  79. package/tools/installer/document-project/modes/initial-scan.js +100 -0
  80. package/tools/installer/document-project/modes/quick.js +211 -0
  81. package/tools/installer/document-project/render-index.js +101 -0
  82. package/tools/installer/document-project/state.js +110 -0
  83. package/tools/installer/wize-cli.js +46 -30
package/AGENTS.md ADDED
@@ -0,0 +1,21 @@
1
+ # Agents — Wize Development Kit
2
+
3
+ This repo is wired with the [`wize-dev-kit`](https://www.npmjs.com/package/wize-dev-kit).
4
+ Detailed artifacts live under `.wize/`. The agents below are activated through your AI IDE
5
+ using slash commands (Claude Code, Codex, Cursor, Windsurf, Antigravity all read this file).
6
+
7
+ ## Roster
8
+
9
+ - **Hawkeye** (`wize-agent-test-architect`) — Test Architect (TEA). |
10
+ - **Wizer** (`wize-orchestrator`) — Orchestrator / Knowledge Base. |
11
+ - **Shuri** (`wize-agent-dev`) — Senior Developer. |
12
+ - **Nick Fury** (`wize-agent-solution-strategist`) — Solution Strategy / Tech Vision. |
13
+ - **Tony Stark** (`wize-agent-architect`) — System Architect. |
14
+ - **Mantis** (`wize-agent-ux-designer`) — UX Designer (Whiteport Design Studio). |
15
+ - **Maria Hill** (`wize-agent-pm`) — Product Manager. |
16
+ - **Peggy Carter** (`wize-agent-tech-writer`) — Technical Writer. |
17
+ - **Pepper Potts** (`wize-agent-analyst`) — Business Analyst (incl. WDS Saga). |
18
+
19
+ ## Where to start
20
+
21
+ Activate the orchestrator: `wize-orchestrator` (Wizer). Then ask `/wize-help`.
package/ARCH.md CHANGED
@@ -210,7 +210,43 @@ wize-dev-kit sync # regera adapters IDE
210
210
 
211
211
  ---
212
212
 
213
- ## 8. Overlays Web e App
213
+ ## 8. Document Project Engine
214
+
215
+ `wize-dev-kit document-project` é a ferramenta de baseline e documentação brownfield do kit.
216
+
217
+ ### Modos
218
+
219
+ | Modo | O que faz | Nível de scan |
220
+ |---|---|---|
221
+ | `quick` | Gera 6 arquivos de baseline leves (`overview.md`, `architecture-snapshot.md`, `conventions.md`, `dependencies.md`, `risk-spots.md`, `open-questions.md`). | `quick` apenas |
222
+ | `initial_scan` | Classifica o tipo do projeto, gera `index.md` + docs condicionais conforme o tipo. | `quick`, `deep`, `exhaustive` |
223
+ | `full_rescan` | Arquiva o estado anterior e re-executa `initial_scan` do zero. | `quick`, `deep`, `exhaustive` |
224
+ | `deep_dive` | Análise exaustiva de uma pasta, arquivo, feature, api_group ou component_group. | `exhaustive` |
225
+
226
+ ### Arquivo de estado
227
+
228
+ - `.wize/knowledge/document-project/project-scan-report.json` mantém progresso, passos completados e instruções de resume.
229
+ - Arquivos antigos são arquivados em `.wize/knowledge/document-project/_archive/`.
230
+ - `--resume` continua a partir do `current_step`.
231
+
232
+ ### Index mestre
233
+
234
+ - `index.md` lista toda a documentação gerada e documentação existente.
235
+ - Docs condicionais que ainda não foram gerados aparecem com `_(To be generated)_`.
236
+ - Re-gerar o index remove os marcadores conforme os arquivos são produzidos.
237
+
238
+ ### Componentes de código
239
+
240
+ - `tools/installer/commands/document-project.js` — dispatcher CLI e parsing de args.
241
+ - `tools/installer/document-project/modes/{quick,initial-scan,full-rescan,deep-dive}.js` — implementação dos modos.
242
+ - `tools/installer/document-project/classify.js` — classificador de tipo de projeto via CSV.
243
+ - `tools/installer/document-project/batch-scanner.js` — varredura em batches para evitar estouro de contexto.
244
+ - `tools/installer/document-project/render-index.js` — renderizador do `index.md`.
245
+ - `tools/installer/document-project/state.js` — leitura/escrita do `project-scan-report.json`.
246
+ - `src/method-skills/1-analysis/wize-document-project/templates/` — templates markdown/Handlebars para cada doc condicional.
247
+ - `src/method-skills/1-analysis/wize-document-project/documentation-requirements.csv` — regras de tipo de projeto e flags de scan.
248
+
249
+ ## 9. Overlays Web e App
214
250
 
215
251
  ### Wize Web Dev (overlay)
216
252
 
@@ -228,7 +264,7 @@ wize-dev-kit sync # regera adapters IDE
228
264
 
229
265
  ---
230
266
 
231
- ## 9. Agent Builder
267
+ ## 10. Agent Builder
232
268
 
233
269
  - 3 skills meta: `wize-create-agent`, `wize-create-skill`, `wize-create-workflow`.
234
270
  - Customização de built-ins via `.wize/custom/{tipo}/{code}/customize.toml` (override sem fork).
@@ -237,7 +273,7 @@ wize-dev-kit sync # regera adapters IDE
237
273
 
238
274
  ---
239
275
 
240
- ## 10. Onboarding pós-install (Wizer)
276
+ ## 11. Onboarding pós-install (Wizer)
241
277
 
242
278
  1. Wizer triages: greenfield vs brownfield, perfil, objetivo do projeto.
243
279
  2. Se brownfield: oferece rodar `wize-document-project` (Tony + Peggy geram baseline).
@@ -246,7 +282,7 @@ wize-dev-kit sync # regera adapters IDE
246
282
 
247
283
  ---
248
284
 
249
- ## 11. Estrutura do repo `wize-dev-kit/` (source code do kit)
285
+ ## 12. Estrutura do repo `wize-dev-kit/` (source code do kit)
250
286
 
251
287
  ```
252
288
  wize-dev-kit/
package/CHANGELOG.md CHANGED
@@ -5,6 +5,56 @@ Format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.4.0] — 2026-06-13
9
+
10
+ Adapts four BMAD Method step-based flows into the Wize universe: spec, architecture, code review, and research.
11
+
12
+ ### Added
13
+
14
+ - **`wize-spec`** (core skill) — distills any intent input into a canonical five-field `SPEC.md` (Why, Capabilities, Constraints, Non-goals, Success signal) plus optional companion files. Includes template and headless response schemas.
15
+ - **Vertical research skills** under `src/method-skills/1-analysis/`:
16
+ - `wize-market-research` — 6-step competition and customer research.
17
+ - `wize-domain-research` — 6-step industry, regulatory, and trend research.
18
+ - `wize-technical-research` — 6-step technology and architecture research.
19
+ - Registered new skills in `src/core-skills/module.yaml` and `src/method-skills/module.yaml`.
20
+
21
+ ### Changed
22
+
23
+ - **`wize-create-architecture`** rewritten as an 8-step micro-file workflow: init → context → starter → decisions → patterns → structure → validation → complete. Old monolithic body archived in `.wize/knowledge/decisions/`.
24
+ - **`wize-code-review`** rewritten as a 4-step adversarial triage workflow: gather-context → review (Blind Hunter, Edge Case Hunter, Acceptance Auditor) → triage → present. Integrates with existing `wize-review-adversarial` and `wize-review-edge-case-hunter`.
25
+ - `README.md`, `DECISIONS.md`, and `.wize/knowledge/decisions/ADR-001-bmad-steps-import.md` document the import rationale and scope.
26
+ - `test/workflow-bodies.test.js` allowlists the short research dispatcher workflows.
27
+
28
+ ### Tests
29
+
30
+ - Total: **222 passing**.
31
+
32
+ ## [0.3.1] — 2026-06-13
33
+
34
+ Expands `wize-document-project` from a single lightweight baseline into a multi-mode documentation engine with project-type classification, resume state, and BMAD-equivalent templates.
35
+
36
+ ### Added — `wize-document-project` engine
37
+
38
+ - **CLI modes:** `quick`, `initial_scan`, `full_rescan`, `deep_dive` via `wize-dev-kit document-project [mode]`.
39
+ - **Project-type classification:** `documentation-requirements.csv` with 12 types + `classifyProject()` module; detects monolith, multi-part repos, and the kit itself as `cli` + `library`.
40
+ - **JSON state file:** `project-scan-report.json` with schema, init/load/update/archive helpers, and `--resume` support.
41
+ - **Batch scanner:** subfolder-sized scans that skip noise directories and flag files >5000 LOC.
42
+ - **Master index renderer:** `index.md` with links + `_(To be generated)_` markers for missing conditional docs.
43
+ - **Deep-dive mode:** folder, file, feature, `api_group`, `component_group` targets with typed resolution.
44
+ - **11 BMAD-equivalent templates:** index, project-overview, source-tree-analysis, architecture, component-inventory, development-guide, api-contracts, data-models, deployment-guide, contribution-guide, deep-dive.
45
+
46
+ ### Added — integration
47
+
48
+ - `doctor` now reports scan-state age, `index.md` "To be generated" marker count, and suggests `document-project` / `wize-refresh-knowledge` when stale.
49
+ - Brownfield installer prompts for documentation mode (quick / initial_scan / full_rescan / skip) with non-TTY fallback to quick.
50
+ - `wize-tea-risk` workflow adds documentation gaps as a risk category.
51
+ - CI smoke E2E now runs `wize-dev-kit document-project quick` and asserts the 6 baseline files.
52
+ - `README.md` and `ARCH.md` updated to describe the new engine and current maturity.
53
+
54
+ ### Tests
55
+
56
+ - Total: **219 passing** (was 115).
57
+
8
58
  ## [0.3.0] — 2026-06-12
9
59
 
10
60
  Adds a single-command diagnostic plus traceable GitHub Releases on every tag.
package/DECISIONS.md CHANGED
@@ -136,6 +136,19 @@
136
136
  - **D7.5 — Localização das custom:** `.wize/custom/agents/{code}/`, `.wize/custom/skills/{code}/`, `.wize/custom/workflows/{code}/`. Estrutura espelha a do kit core.
137
137
  - **D7.6 — Ponto de entrada:** `wize-dev-kit agent create` no CLI + skill nativo `wize-create-agent` chamável pelo Wizer dentro do IDE.
138
138
 
139
+ ### Fase 8 — Importação de fluxos Steps do BMAD
140
+
141
+ - **D8.1 — Seleção:** dos fluxos de Steps do BMAD ainda não importados, selecionamos quatro para adaptação imediata:
142
+ - `bmad-spec` → `wize-spec` (core skill).
143
+ - `bmad-create-architecture` → `wize-create-architecture` reescrito em 8 steps (micro-file architecture).
144
+ - `bmad-code-review` → `wize-code-review` reescrito em 4 steps com triagem adversarial.
145
+ - Research do BMAD (`bmad-market-research`, `bmad-domain-research`, `bmad-technical-research`) → três skills verticais Wize em `src/method-skills/1-analysis/`.
146
+ - **D8.2 — Micro-file architecture:** workflows substituídos por step files auto-contidos em `steps/` ou `{vertical}-steps/`. Cada step controla frontmatter `stepsCompleted` e só avança com confirmação do usuário.
147
+ - **D8.3 — Manter dispatcher genérico:** `wize-research` continua existindo como skill genérico, mas as três vertentes oferecem passos estruturados e templates próprios.
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
+ - **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
+
139
151
  ## Perguntas em aberto
140
152
 
141
153
  _(serão preenchidas conforme a entrevista avança)_
154
+
package/README.md CHANGED
@@ -83,6 +83,9 @@ Below is the canonical flow Wizer drives in a real session. Each step is a slash
83
83
  2. /wize-product-brief Pepper turns raw demand into brief.md.
84
84
  /wize-trigger-map Pepper maps user psychology → business goals (WDS).
85
85
  /wize-research Pepper synthesizes external evidence (optional).
86
+ Or run a focused pass:
87
+ /wize-market-research, /wize-domain-research,
88
+ /wize-technical-research.
86
89
 
87
90
  3. /wize-create-prd Maria Hill writes prd.md (goals, scope, ACs).
88
91
  /wize-validate-prd Maria Hill (+ Mantis/Fury) signs off.
@@ -93,7 +96,8 @@ Below is the canonical flow Wizer drives in a real session. Each step is a slash
93
96
  5. /wize-tech-vision Fury picks the stack family + non-negotiables.
94
97
  /wize-nfr-principles Fury writes the NFR budget (perf, sec, a11y…).
95
98
 
96
- 6. /wize-create-architecture Tony writes architecture.md + ADRs.
99
+ 6. /wize-create-architecture Tony writes architecture.md + ADRs via 8 steps
100
+ (context → decisions → patterns → structure → validation).
97
101
  /wize-design-system Mantis writes design-system/ (tokens + components).
98
102
  /wize-create-epics-and-stories
99
103
  Tony slices epics → stories (each has ACs).
@@ -113,6 +117,9 @@ Cross-cutting:
113
117
  /wize-help Wizer figures out where you are and proposes
114
118
  the next step (use anytime).
115
119
  /wize-quick-dev Shuri takes a small fix without the full ride.
120
+ /wize-code-review Shuri runs an adversarial peer review (Blind Hunter,
121
+ Edge Case Hunter, Acceptance Auditor) before Hawkeye's TEA review.
122
+ /wize-spec Distill any intent into a canonical five-field spec.
116
123
  /wize-party-mode Wizer convenes multi-persona for hard calls.
117
124
  ```
118
125
 
@@ -146,6 +153,8 @@ npx wize-dev-kit agent create # scaffold a new custom agent (validated + dry-
146
153
  npx wize-dev-kit agent edit <code> # override a built-in via .wize/custom/agents/<code>/customize.toml
147
154
  npx wize-dev-kit doctor # diagnose kit / project / adapters / gates and suggest fixes
148
155
  npx wize-dev-kit validate # structural checks on the kit assets
156
+ npx wize-dev-kit document-project [quick|initial_scan|full_rescan|deep_dive] [--resume] [--target <path>]
157
+ # document the current repo; quick baseline by default
149
158
  npx wize-dev-kit uninstall # remove .wize/ (your code is left untouched)
150
159
  ```
151
160
 
@@ -161,7 +170,7 @@ npx wize-dev-kit uninstall # remove .wize/ (your code is left untouched)
161
170
 
162
171
  ## Status
163
172
 
164
- **Alpha — v0.1.0.** This release is a working skeleton: directory tree, agent descriptors, workflow stubs, installer scaffolding, and IDE adapter placeholders. The core flow (brief PRD architecture story TEA gates) is **scaffolded but not yet wired end-to-end**. Production-readiness target: v0.5.0.
173
+ **v0.3.0+ — beta.** The core lifecycle is scaffolded, the `document-project` engine is wired, and selected BMAD step flows have been adapted into Wize skills: `wize-spec`, `wize-create-architecture` (8-step), `wize-code-review` (adversarial triage), and vertical research skills (`wize-market-research`, `wize-domain-research`, `wize-technical-research`). IDE adapters for Claude Code, Cursor, Windsurf, and others are regenerated automatically. Production-readiness target remains v0.5.0.
165
174
 
166
175
  ---
167
176
 
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.3.0",
4
+ "version": "0.4.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",
@@ -47,7 +47,8 @@
47
47
  "CHANGELOG.md",
48
48
  "ARCH.md",
49
49
  "ROSTER.md",
50
- "DECISIONS.md"
50
+ "DECISIONS.md",
51
+ "AGENTS.md"
51
52
  ],
52
53
  "dependencies": {
53
54
  "prompts": "^2.4.2"
@@ -22,3 +22,7 @@ skills:
22
22
  - code: wize-review-adversarial
23
23
  name: "Adversarial Review"
24
24
  description: "Red-team review of artifacts — challenges assumptions, surfaces edge cases."
25
+ - code: wize-spec
26
+ name: "Spec"
27
+ description: "Distills any intent input into a canonical five-field spec kernel + companions."
28
+
@@ -0,0 +1,39 @@
1
+ # Headless response schemas for wize-spec
2
+
3
+ Used when `wize-spec` is invoked non-interactively (headless).
4
+
5
+ ## Create / Update
6
+
7
+ ```json
8
+ {
9
+ "error_code": null,
10
+ "spec_path": "{project-root}/.wize/specs/spec-{slug}/SPEC.md",
11
+ "slug": "{slug}",
12
+ "capabilities": ["CAP-1", "CAP-2"],
13
+ "companions": ["glossary.md"],
14
+ "assumptions": [],
15
+ "open_questions": [],
16
+ "verdict": "Coherence: pass. Preservation: pass."
17
+ }
18
+ ```
19
+
20
+ ## Error codes
21
+
22
+ - `missing_slug` — headless caller did not provide a slug and it could not be derived.
23
+ - `insufficient_intent` — no input content provided.
24
+ - `too_sparse` — input too thin to distill; suggest `wize-product-brief` or `wize-create-prd`.
25
+
26
+ ## Validate
27
+
28
+ ```json
29
+ {
30
+ "error_code": null,
31
+ "violations": [
32
+ {
33
+ "rule": "4",
34
+ "message": "No explicit non-goals found."
35
+ }
36
+ ],
37
+ "verdict": "Coherence: 1 issue. Preservation: pass."
38
+ }
39
+ ```
@@ -0,0 +1,40 @@
1
+ ---
2
+ slug: "{{slug}}"
3
+ status: draft
4
+ owner: "{{owner}}"
5
+ companions: []
6
+ sources: []
7
+ assumptions: []
8
+ open_questions: []
9
+ ---
10
+
11
+ # SPEC — {{slug}}
12
+
13
+ ## Why
14
+
15
+ {{One paragraph: what problem this thing exists to solve and for whom.}}
16
+
17
+ ## Capabilities
18
+
19
+ | ID | Intent | Success |
20
+ |---|---|---|
21
+ | CAP-1 | {{what the system does for the user}} | {{observable outcome that proves it works}} |
22
+ | CAP-2 | … | … |
23
+
24
+ ## Constraints
25
+
26
+ - {{Constraint that bends a design decision.}}
27
+ - …
28
+
29
+ ## Non-goals
30
+
31
+ - {{Explicitly out of scope.}}
32
+ - …
33
+
34
+ ## Success signal
35
+
36
+ {{Concrete, testable or demonstrable signal that the spec is satisfied.}}
37
+
38
+ ## Decision log
39
+
40
+ See `.decision-log.md`.
@@ -0,0 +1,20 @@
1
+ # Wize Dev Kit — overrides for the built-in skill "wize-spec".
2
+ # DO NOT EDIT in the installed kit; copy to .wize/custom/skills/wize-spec/
3
+ # for project-level overrides.
4
+
5
+ [workflow]
6
+
7
+ # Steps to run before standard activation (config load, greet).
8
+ activation_steps_prepend = []
9
+
10
+ # Steps to run after greet but before the workflow begins.
11
+ activation_steps_append = []
12
+
13
+ # Persistent facts the skill keeps in mind for the whole run.
14
+ persistent_facts = [
15
+ "file:{project-root}/.wize/knowledge/document-project/conventions.md",
16
+ ]
17
+
18
+ # Scalar executed when the spec is finalized and the decision-log verdict is written.
19
+ # Override wins. Leave empty for no custom post-completion behavior.
20
+ on_complete = ""
@@ -0,0 +1,110 @@
1
+ ---
2
+ code: wize-spec
3
+ name: Spec
4
+ module: core
5
+ status: ready
6
+ ---
7
+
8
+ # Spec
9
+
10
+ **Goal.** Distill any intent input into a canonical, preservation-validated machine contract for downstream Wize work.
11
+
12
+ Takes any intent input — vague idea, brain dump, PRD, RFC, brief, Slack thread, customer email, meeting transcript, mockups, mixed multi-source — and produces `SPEC.md` carrying the five-field kernel (Why, Capabilities, Constraints, Non-goals, Success signal) plus companion files for load-bearing content that does not fit or would bloat the kernel.
13
+
14
+ Peggy Carter edits prose; Tony, Maria Hill, and Shuri consume the spec downstream.
15
+
16
+ ## When to use
17
+
18
+ - "Create a spec for this idea."
19
+ - "Distill this PRD into a spec."
20
+ - "Validate this spec."
21
+ - "Update the spec."
22
+
23
+ Multiple skills may call to update the same spec over time.
24
+
25
+ ## Workspace
26
+
27
+ The spec is **always a folder** named `{output_folder}/specs/spec-{slug}/`.
28
+
29
+ `{slug}` describes the thing being specced, not the input shape:
30
+
31
+ - Source artifact already carries a slug (e.g., `prd-foo-bar-2026-05-23/`): inherit (`foo-bar`).
32
+ - Sparse, in-chat, or multi-source input: ask interactively. Headless callers must provide it.
33
+ - Same slug = same folder. A second invocation updates in place, preserving capability IDs.
34
+
35
+ Inside the spec folder:
36
+
37
+ ```
38
+ <spec-folder>/
39
+ SPEC.md ← uppercase, the kernel
40
+ <companion-1>.md ← optional, content-typed
41
+ <companion-2>.md
42
+ .decision-log.md ← canonical memory for this spec
43
+ ```
44
+
45
+ ## The Operation
46
+
47
+ 1. Read the input and its ancillary linked materials. If no input, ask or block.
48
+ 2. If a prior `SPEC.md` exists at the target folder, read it — the operation becomes an **update**. Preserve capability IDs; new capabilities get the next unused `CAP-N`; never reuse retired IDs.
49
+ 3. When input is structured and pre-sorted (PRD with addendum, brief from Pepper, UX spec from Mantis), trust the authored separation.
50
+ 4. When input is mixed (brain dump, transcript, email), sort claims using the three-lens load-bearing test and route to the kernel field or a companion.
51
+ 5. Distill into the five-field kernel using `assets/spec-template.md`. When input is rich, extract directly. When input is sparse, choose:
52
+ - **express** — best-effort distill, every gap becomes an `open_questions[]` entry
53
+ - **guided** — walk the five fields with the user one at a time
54
+ 6. Write lean: every sentence must earn its place.
55
+ 7. If input is genuinely too thin (e.g. "an app for hikers" with no context), stop and suggest `wize-product-brief` or `wize-create-prd`.
56
+
57
+ ## Load-bearing
58
+
59
+ A claim is **load-bearing** if any downstream consumer (skill, implementing agent, verification pass) would change a decision without it.
60
+
61
+ ## Companions
62
+
63
+ When load-bearing content does not fit the five-field kernel, it lives in a companion. The kernel cites it; the companion holds it. Companions are part of the contract; every consumer reads `companions:` in `SPEC.md` frontmatter to discover them.
64
+
65
+ **Spawn a companion when the content needs more than one kernel-shape line:** multi-item catalogs (archetypes, modes, routes, entity matrices), tables, diagrams (always), editorial voice rules, long-form reference material the kernel cites by name.
66
+
67
+ Companions are either:
68
+
69
+ - **Spec-authored** — written by `wize-spec` and live as siblings of `SPEC.md` (e.g., `glossary.md`, `patron-archetypes.md`, `stack.md`, `conventions.md`, `brownfield.md`, `architecture-diagrams.md`, `state-machines.md`, `failure-modes.md`).
70
+ - **Adopted** — load-bearing artifacts written by upstream skills that downstream still needs to read (e.g., a `DESIGN.md` from Mantis, an API spec from a partner). The originating skill owns them; `wize-spec` references them in `companions:` but does not edit them.
71
+
72
+ Two rules govern companions:
73
+
74
+ 1. Name spec-authored companions for the content type they hold.
75
+ 2. Diagrams always land in a companion, regardless of size. Mermaid/ASCII/image references live there; `SPEC.md` holds prose only.
76
+
77
+ Pre-existing project-wide docs (e.g., `.wize/knowledge/document-project/conventions.md`) that downstream needs are listed as **adopted companions**, never duplicated.
78
+
79
+ ## Spec Law
80
+
81
+ 1. Each capability has both `intent` and `success`.
82
+ 2. Intents describe WHAT, not HOW.
83
+ 3. Constraints actually bend design decisions.
84
+ 4. Non-goals are explicit — at least one.
85
+ 5. Success signal is concrete enough to test or demonstrate against.
86
+ 6. Capability IDs are stable and unique — never reused, never renumbered.
87
+ 7. Preservation — every load-bearing source claim lands in `SPEC.md` or a companion.
88
+ 8. Lean prose — every sentence carries load-bearing content.
89
+
90
+ ## Self-Validate
91
+
92
+ After every create or update, sweep the artifact in two passes:
93
+
94
+ - **Pass 1 — Coherence.** Judge against Spec Law rules 1–6 and 8. Calls made without direct confirmation become `assumptions[]`; gaps become `open_questions[]`.
95
+ - **Pass 2 — Preservation.** Walk source claims; confirm each landed in `SPEC.md` or a companion. Wrapper-only drops are logged under "Wrapper-only content" so the drop is on the record.
96
+
97
+ Append a one-paragraph verdict to `.decision-log.md`.
98
+
99
+ ## Output
100
+
101
+ - **Interactive** — share the spec folder path, name capability count, companions produced, and verdict in one or two sentences. List `assumptions[]` and `open_questions[]` if non-empty.
102
+ - **Headless** — return JSON per `assets/headless-schemas.md`.
103
+
104
+ ## After the spec is output
105
+
106
+ Any update to assumptions, open questions, or other changes is appended to `.decision-log.md` and, when applicable, to the source artifact's decision log.
107
+
108
+ ## Hand-off
109
+
110
+ > Spec `{slug}` distilled into `{output_folder}/specs/spec-{slug}/SPEC.md` with `{n}` capabilities and `{m}` companions. Verdict: `{verdict}`. Open questions: `{list}`.
@@ -0,0 +1,12 @@
1
+ project_type_id,requires_api_scan,requires_data_models,requires_state_management,requires_ui_components,requires_deployment_config,key_file_patterns,critical_directories,integration_scan_patterns,test_file_patterns,config_patterns,auth_security_patterns,schema_migration_patterns,entry_point_patterns,shared_code_patterns,monorepo_workspace_patterns,async_event_patterns,ci_cd_patterns,asset_patterns,hardware_interface_patterns,protocol_schema_patterns,localization_patterns,requires_hardware_docs,requires_asset_inventory
2
+ web,true,true,true,true,true,package.json;tsconfig.json;*.config.js;*.config.ts;vite.config.*;webpack.config.*;next.config.*;nuxt.config.*,src/;app/;pages/;components/;api/;lib/;styles/;public/;static/,*client.ts;*service.ts;*api.ts;fetch*.ts;axios*.ts;*http*.ts,*.test.ts;*.spec.ts;*.test.tsx;*.spec.tsx;**/__tests__/**;**/*.test.*;**/*.spec.*,.env*;config/*;*.config.*;.config/;settings/,*auth*.ts;*session*.ts;middleware/auth*;*.guard.ts;*authenticat*;*permission*;guards/,migrations/**;prisma/**;*.prisma;alembic/**;knex/**;*migration*.sql;*migration*.ts,main.ts;index.ts;app.ts;server.ts;_app.tsx;_app.ts;layout.tsx,shared/**;common/**;utils/**;lib/**;helpers/**;@*/**;packages/**,pnpm-workspace.yaml;lerna.json;nx.json;turbo.json;workspace.json;rush.json,*event*.ts;*queue*.ts;*subscriber*.ts;*consumer*.ts;*producer*.ts;*worker*.ts;jobs/**,.github/workflows/**;.gitlab-ci.yml;Jenkinsfile;.circleci/**;azure-pipelines.yml;bitbucket-pipelines.yml;.drone.yml,public/**;static/**;assets/**;images/**;media/**,N/A,*.proto;*.graphql;graphql/**;schema.graphql;*.avro;openapi.*;swagger.*,i18n/**;locales/**;lang/**;translations/**;messages/**;*.po;*.pot,false,false
3
+ mobile,true,true,true,true,true,package.json;pubspec.yaml;Podfile;build.gradle;app.json;capacitor.config.*;ionic.config.json,src/;app/;screens/;components/;services/;models/;assets/;ios/;android/,*client.ts;*service.ts;*api.ts;fetch*.ts;axios*.ts;*http*.ts,*.test.ts;*.test.tsx;*_test.dart;*.test.dart;**/__tests__/**,.env*;config/*;app.json;capacitor.config.*;google-services.json;GoogleService-Info.plist,*auth*.ts;*session*.ts;*authenticat*;*permission*;*biometric*;secure-store*,migrations/**;realm/**;*.realm;watermelondb/**;sqlite/**,main.ts;index.ts;App.tsx;App.ts;main.dart,shared/**;common/**;utils/**;lib/**;components/shared/**;@*/**,pnpm-workspace.yaml;lerna.json;nx.json;turbo.json,*event*.ts;*notification*.ts;*push*.ts;background-fetch*,fastlane/**;.github/workflows/**;.gitlab-ci.yml;bitbucket-pipelines.yml;appcenter-*,assets/**;Resources/**;res/**;*.xcassets;drawable*/;mipmap*/;images/**,N/A,*.proto;graphql/**;*.graphql,i18n/**;locales/**;translations/**;*.strings;*.xml,false,true
4
+ backend,true,true,false,false,true,package.json;requirements.txt;go.mod;Gemfile;pom.xml;build.gradle;Cargo.toml;*.csproj,src/;api/;services/;models/;routes/;controllers/;middleware/;handlers/;repositories/;domain/,*client.ts;*repository.ts;*service.ts;*connector*.ts;*adapter*.ts,*.test.ts;*.spec.ts;*_test.go;test_*.py;*Test.java;*_test.rs,.env*;config/*;*.config.*;application*.yml;application*.yaml;appsettings*.json;settings.py,*auth*.ts;*session*.ts;*authenticat*;*authorization*;middleware/auth*;guards/;*jwt*;*oauth*,migrations/**;alembic/**;flyway/**;liquibase/**;prisma/**;*.prisma;*migration*.sql;*migration*.ts;db/migrate,main.ts;index.ts;server.ts;app.ts;main.go;main.py;Program.cs;__init__.py,shared/**;common/**;utils/**;lib/**;core/**;@*/**;pkg/**,pnpm-workspace.yaml;lerna.json;nx.json;go.work,*event*.ts;*queue*.ts;*subscriber*.ts;*consumer*.ts;*producer*.ts;*worker*.ts;*handler*.ts;jobs/**;workers/**,.github/workflows/**;.gitlab-ci.yml;Jenkinsfile;.circleci/**;azure-pipelines.yml;.drone.yml,N/A,N/A,*.proto;*.graphql;graphql/**;*.avro;*.thrift;openapi.*;swagger.*;schema/**,N/A,false,false
5
+ cli,false,false,false,false,false,package.json;go.mod;Cargo.toml;setup.py;pyproject.toml;*.gemspec,src/;cmd/;cli/;bin/;lib/;commands/,N/A,*.test.ts;*_test.go;test_*.py;*.spec.ts;*_spec.rb,.env*;config/*;*.config.*;.*.rc;.*rc,N/A,N/A,main.ts;index.ts;cli.ts;main.go;main.py;__main__.py;bin/*,shared/**;common/**;utils/**;lib/**;helpers/**,N/A,N/A,.github/workflows/**;.gitlab-ci.yml;goreleaser.yml,N/A,N/A,N/A,N/A,false,false
6
+ library,false,false,false,false,false,package.json;setup.py;Cargo.toml;go.mod;*.gemspec;*.csproj;pom.xml,src/;lib/;dist/;pkg/;build/;target/,N/A,*.test.ts;*_test.go;test_*.py;*.spec.ts;*Test.java;*_test.rs,.*.rc;tsconfig.json;rollup.config.*;vite.config.*;webpack.config.*,N/A,N/A,index.ts;index.js;lib.rs;main.go;__init__.py,src/**;lib/**;core/**,N/A,N/A,.github/workflows/**;.gitlab-ci.yml;.circleci/**,N/A,N/A,N/A,N/A,false,false
7
+ desktop,false,false,true,true,true,package.json;Cargo.toml;*.csproj;CMakeLists.txt;tauri.conf.json;electron-builder.yml;wails.json,src/;app/;components/;main/;renderer/;resources/;assets/;build/,*service.ts;ipc*.ts;*bridge*.ts;*native*.ts;invoke*,*.test.ts;*.spec.ts;*_test.rs;*.spec.tsx,.env*;config/*;*.config.*;app.config.*;forge.config.*;builder.config.*,*auth*.ts;*session*.ts;keychain*;secure-storage*,N/A,main.ts;index.ts;main.js;src-tauri/main.rs;electron.ts,shared/**;common/**;utils/**;lib/**;components/shared/**,N/A,*event*.ts;*ipc*.ts;*message*.ts,.github/workflows/**;.gitlab-ci.yml;.circleci/**,resources/**;assets/**;icons/**;static/**;build/resources,N/A,N/A,i18n/**;locales/**;translations/**;lang/**,false,true
8
+ game,false,false,true,false,false,*.unity;*.godot;*.uproject;package.json;project.godot,Assets/;Scenes/;Scripts/;Prefabs/;Resources/;Content/;Source/;src/;scenes/;scripts/,N/A,*Test.cs;*_test.gd;*Test.cpp;*.test.ts,.env*;config/*;*.ini;settings/;GameSettings/,N/A,N/A,main.gd;Main.cs;GameManager.cs;main.cpp;index.ts,shared/**;common/**;utils/**;Core/**;Framework/**,N/A,N/A,.github/workflows/**;.gitlab-ci.yml,Assets/**;Scenes/**;Prefabs/**;Materials/**;Textures/**;Audio/**;Models/**;*.fbx;*.blend;*.shader;*.hlsl;*.glsl;Shaders/**;VFX/**,N/A,N/A,Localization/**;Languages/**;i18n/**,false,true
9
+ data,false,true,false,false,true,requirements.txt;pyproject.toml;dbt_project.yml;airflow.cfg;setup.py;Pipfile,dags/;pipelines/;models/;transformations/;notebooks/;sql/;etl/;jobs/,N/A,test_*.py;*_test.py;tests/**,.env*;config/*;profiles.yml;dbt_project.yml;airflow.cfg,N/A,migrations/**;dbt/models/**;*.sql;schemas/**,main.py;__init__.py;pipeline.py;dag.py,shared/**;common/**;utils/**;lib/**;helpers/**,N/A,*event*.py;*consumer*.py;*producer*.py;*worker*.py;jobs/**;tasks/**,.github/workflows/**;.gitlab-ci.yml;airflow/dags/**,N/A,N/A,*.proto;*.avro;schemas/**;*.parquet,N/A,false,false
10
+ extension,true,false,true,true,false,manifest.json;package.json;wxt.config.ts,src/;popup/;content/;background/;assets/;components/,*message.ts;*runtime.ts;*storage.ts;*tabs.ts,*.test.ts;*.spec.ts;*.test.tsx,.env*;wxt.config.*;webpack.config.*;vite.config.*,*auth*.ts;*session*.ts;*permission*,N/A,index.ts;popup.ts;background.ts;content.ts,shared/**;common/**;utils/**;lib/**,N/A,*message*.ts;*event*.ts;chrome.runtime*;browser.runtime*,.github/workflows/**,assets/**;icons/**;images/**;static/**,N/A,N/A,_locales/**;locales/**;i18n/**,false,false
11
+ infra,false,false,false,false,true,*.tf;*.tfvars;pulumi.yaml;cdk.json;*.yml;*.yaml;Dockerfile;docker-compose*.yml,terraform/;modules/;k8s/;charts/;playbooks/;roles/;policies/;stacks/,N/A,*_test.go;test_*.py;*_test.tf;*_spec.rb,.env*;*.tfvars;config/*;vars/;group_vars/;host_vars/,N/A,N/A,main.tf;index.ts;__main__.py;playbook.yml,modules/**;shared/**;common/**;lib/**,N/A,N/A,.github/workflows/**;.gitlab-ci.yml;.circleci/**,N/A,N/A,N/A,N/A,false,false
12
+ embedded,false,false,false,false,false,platformio.ini;CMakeLists.txt;*.ino;Makefile;*.ioc;mbed-os.lib,src/;lib/;include/;firmware/;drivers/;hal/;bsp/;components/,N/A,test_*.c;*_test.cpp;*_test.c;tests/**,.env*;config/*;sdkconfig;*.json;settings/,N/A,N/A,main.c;main.cpp;main.ino;app_main.c,lib/**;shared/**;common/**;drivers/**,N/A,N/A,.github/workflows/**;.gitlab-ci.yml,N/A,*.h;*.hpp;drivers/**;hal/**;bsp/**;pinout.*;peripheral*;gpio*;*.fzz;schematics/**,*.proto;mqtt*;coap*;modbus*,N/A,true,false
@@ -0,0 +1,38 @@
1
+ ---
2
+ status: baseline
3
+ owner: Pepper Potts + Tony Stark
4
+ created: {{date}}
5
+ last_refreshed: {{date}}
6
+ ---
7
+
8
+ # {{project_name}} — API Contracts{{#if part_id}} — {{part_id}}{{/if}}
9
+
10
+ **Date:** {{date}}
11
+
12
+ ## Overview
13
+
14
+ {{api_overview}}
15
+
16
+ ## Endpoints
17
+
18
+ {{#each endpoints}}
19
+ ### {{name}}
20
+ - **Method:** {{method}}
21
+ - **Path:** `{{path}}`
22
+ - **Description:** {{description}}
23
+
24
+ #### Request
25
+ {{request_schema}}
26
+
27
+ #### Response
28
+ {{response_schema}}
29
+
30
+ #### Errors
31
+ {{#each errors}}
32
+ - **{{status}}** — {{description}}
33
+ {{/each}}
34
+ {{/each}}
35
+
36
+ ---
37
+
38
+ _Generated using Wize Dev Kit `document-project` workflow_
@@ -0,0 +1,54 @@
1
+ ---
2
+ status: baseline
3
+ owner: Pepper Potts + Tony Stark
4
+ created: {{date}}
5
+ last_refreshed: {{date}}
6
+ ---
7
+
8
+ # {{project_name}} — Architecture{{#if part_id}} — {{part_id}}{{/if}}
9
+
10
+ **Date:** {{date}}
11
+ **Type:** {{project_type}}
12
+ **Architecture Pattern:** {{architecture_pattern}}
13
+
14
+ ## Executive Summary
15
+
16
+ {{architecture_summary}}
17
+
18
+ ## Entry Points
19
+
20
+ {{#each entry_points}}
21
+ - **`{{path}}`** — {{description}}
22
+ {{/each}}
23
+
24
+ ## Components
25
+
26
+ {{#each components}}
27
+ ### {{name}}
28
+ - **Responsibility:** {{responsibility}}
29
+ - **Location:** `{{location}}`
30
+ - **Depends on:** {{dependencies}}
31
+ - **Used by:** {{dependents}}
32
+ {{/each}}
33
+
34
+ ## Data Flow
35
+
36
+ {{data_flow_description}}
37
+
38
+ ## Integrations
39
+
40
+ {{#each integrations}}
41
+ - **{{name}}** — {{description}}
42
+ - **Type:** {{integration_type}}
43
+ - **Boundary:** {{boundary}}
44
+ {{/each}}
45
+
46
+ ## Decisions & Trade-offs
47
+
48
+ {{#each decisions}}
49
+ - {{description}}
50
+ {{/each}}
51
+
52
+ ---
53
+
54
+ _Generated using Wize Dev Kit `document-project` workflow_
@@ -0,0 +1,40 @@
1
+ ---
2
+ status: baseline
3
+ owner: Pepper Potts + Mantis
4
+ created: {{date}}
5
+ last_refreshed: {{date}}
6
+ ---
7
+
8
+ # {{project_name}} — Component Inventory{{#if part_id}} — {{part_id}}{{/if}}
9
+
10
+ **Date:** {{date}}
11
+ **Type:** {{project_type}}
12
+
13
+ ## Categorization
14
+
15
+ {{#each categories}}
16
+ ### {{name}}
17
+ {{#each components}}
18
+ - **{{name}}** (`{{location}}`) — {{purpose}}
19
+ {{/each}}
20
+ {{/each}}
21
+
22
+ ## Reuse
23
+
24
+ {{#each reusable_components}}
25
+ - **{{name}}** — {{usage_guidance}}
26
+ {{/each}}
27
+
28
+ ## Design System
29
+
30
+ {{design_system_notes}}
31
+
32
+ ## Component Dependencies
33
+
34
+ {{#each dependency_notes}}
35
+ - {{description}}
36
+ {{/each}}
37
+
38
+ ---
39
+
40
+ _Generated using Wize Dev Kit `document-project` workflow_
@@ -0,0 +1,34 @@
1
+ ---
2
+ status: baseline
3
+ owner: Peggy Carter + Pepper Potts
4
+ created: {{date}}
5
+ last_refreshed: {{date}}
6
+ ---
7
+
8
+ # {{project_name}} — Contribution Guide{{#if part_id}} — {{part_id}}{{/if}}
9
+
10
+ **Date:** {{date}}
11
+
12
+ ## Local Setup
13
+
14
+ {{local_setup}}
15
+
16
+ ## Conventions
17
+
18
+ {{contribution_conventions}}
19
+
20
+ ## Pull Request Process
21
+
22
+ {{pr_process}}
23
+
24
+ ## Testing
25
+
26
+ {{testing_requirements}}
27
+
28
+ ## Questions
29
+
30
+ {{contact_notes}}
31
+
32
+ ---
33
+
34
+ _Generated using Wize Dev Kit `document-project` workflow_