bmad-visual 0.1.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/bin/bmad-visual.js +255 -0
- package/package.json +31 -0
- package/templates/.agent/workflows/analyst.md +20 -0
- package/templates/.agent/workflows/architect.md +20 -0
- package/templates/.agent/workflows/bmad-advanced-elicitation.md +5 -0
- package/templates/.agent/workflows/bmad-brainstorming.md +5 -0
- package/templates/.agent/workflows/bmad-check-implementation-readiness.md +5 -0
- package/templates/.agent/workflows/bmad-checkpoint-preview.md +5 -0
- package/templates/.agent/workflows/bmad-code-review.md +5 -0
- package/templates/.agent/workflows/bmad-correct-course.md +5 -0
- package/templates/.agent/workflows/bmad-create-architecture.md +5 -0
- package/templates/.agent/workflows/bmad-create-epics-and-stories.md +5 -0
- package/templates/.agent/workflows/bmad-create-prd.md +5 -0
- package/templates/.agent/workflows/bmad-create-story.md +5 -0
- package/templates/.agent/workflows/bmad-create-ux-design.md +5 -0
- package/templates/.agent/workflows/bmad-dev-story.md +5 -0
- package/templates/.agent/workflows/bmad-distillator.md +5 -0
- package/templates/.agent/workflows/bmad-document-project.md +5 -0
- package/templates/.agent/workflows/bmad-domain-research.md +5 -0
- package/templates/.agent/workflows/bmad-edit-prd.md +5 -0
- package/templates/.agent/workflows/bmad-editorial-review-prose.md +5 -0
- package/templates/.agent/workflows/bmad-editorial-review-structure.md +5 -0
- package/templates/.agent/workflows/bmad-generate-project-context.md +5 -0
- package/templates/.agent/workflows/bmad-help-full.md +5 -0
- package/templates/.agent/workflows/bmad-help.md +5 -0
- package/templates/.agent/workflows/bmad-index-docs.md +5 -0
- package/templates/.agent/workflows/bmad-market-research.md +5 -0
- package/templates/.agent/workflows/bmad-party-mode.md +5 -0
- package/templates/.agent/workflows/bmad-prfaq.md +5 -0
- package/templates/.agent/workflows/bmad-product-brief.md +5 -0
- package/templates/.agent/workflows/bmad-qa-generate-e2e-tests.md +5 -0
- package/templates/.agent/workflows/bmad-quick-dev.md +5 -0
- package/templates/.agent/workflows/bmad-retrospective.md +5 -0
- package/templates/.agent/workflows/bmad-review-adversarial-general.md +5 -0
- package/templates/.agent/workflows/bmad-review-edge-case-hunter.md +5 -0
- package/templates/.agent/workflows/bmad-shard-doc.md +5 -0
- package/templates/.agent/workflows/bmad-sprint-planning.md +5 -0
- package/templates/.agent/workflows/bmad-sprint-status.md +5 -0
- package/templates/.agent/workflows/bmad-technical-research.md +5 -0
- package/templates/.agent/workflows/bmad-validate-prd.md +5 -0
- package/templates/.agent/workflows/dev.md +20 -0
- package/templates/.agent/workflows/pm.md +20 -0
- package/templates/.agent/workflows/qa.md +20 -0
- package/templates/.agent/workflows/sm.md +20 -0
- package/templates/.agent/workflows/solo-dev.md +20 -0
- package/templates/.agent/workflows/ux.md +20 -0
- package/templates/.claude/settings.local.json +50 -0
- package/templates/.claude/skills/analyst/SKILL.md +77 -0
- package/templates/.claude/skills/architect/SKILL.md +72 -0
- package/templates/.claude/skills/bmad-advanced-elicitation/SKILL.md +24 -0
- package/templates/.claude/skills/bmad-brainstorming/SKILL.md +26 -0
- package/templates/.claude/skills/bmad-check-implementation-readiness/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-checkpoint-preview/SKILL.md +17 -0
- package/templates/.claude/skills/bmad-code-review/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-correct-course/SKILL.md +17 -0
- package/templates/.claude/skills/bmad-create-architecture/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-create-epics-and-stories/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-create-prd/SKILL.md +30 -0
- package/templates/.claude/skills/bmad-create-story/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-create-ux-design/SKILL.md +23 -0
- package/templates/.claude/skills/bmad-dev-story/SKILL.md +27 -0
- package/templates/.claude/skills/bmad-distillator/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-document-project/SKILL.md +27 -0
- package/templates/.claude/skills/bmad-domain-research/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-edit-prd/SKILL.md +18 -0
- package/templates/.claude/skills/bmad-editorial-review-prose/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-editorial-review-structure/SKILL.md +25 -0
- package/templates/.claude/skills/bmad-generate-project-context/SKILL.md +20 -0
- package/templates/.claude/skills/bmad-help/SKILL.md +63 -0
- package/templates/.claude/skills/bmad-help-full/SKILL.md +23 -0
- package/templates/.claude/skills/bmad-index-docs/SKILL.md +16 -0
- package/templates/.claude/skills/bmad-market-research/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-party-mode/SKILL.md +24 -0
- package/templates/.claude/skills/bmad-prfaq/SKILL.md +36 -0
- package/templates/.claude/skills/bmad-product-brief/SKILL.md +36 -0
- package/templates/.claude/skills/bmad-qa-generate-e2e-tests/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-quick-dev/SKILL.md +23 -0
- package/templates/.claude/skills/bmad-retrospective/SKILL.md +17 -0
- package/templates/.claude/skills/bmad-review-adversarial-general/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-review-edge-case-hunter/SKILL.md +22 -0
- package/templates/.claude/skills/bmad-shard-doc/SKILL.md +17 -0
- package/templates/.claude/skills/bmad-sprint-planning/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-sprint-status/SKILL.md +17 -0
- package/templates/.claude/skills/bmad-technical-research/SKILL.md +21 -0
- package/templates/.claude/skills/bmad-validate-prd/SKILL.md +22 -0
- package/templates/.claude/skills/dev/SKILL.md +71 -0
- package/templates/.claude/skills/pm/SKILL.md +76 -0
- package/templates/.claude/skills/qa/SKILL.md +64 -0
- package/templates/.claude/skills/sm/SKILL.md +74 -0
- package/templates/.claude/skills/solo-dev/SKILL.md +64 -0
- package/templates/.claude/skills/ux/SKILL.md +71 -0
- package/templates/CLAUDE.md +60 -0
- package/templates/dashboard/index.html +15 -0
- package/templates/dashboard/package.json +30 -0
- package/templates/dashboard/public/assets/avatars/Female1_1wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female1_2wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female1_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female1_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female2_1wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female2_2wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female2_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female2_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female3_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female3_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female3_wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female4_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female4_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female4_wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female5_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female5_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female5_wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female6_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female6_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Female6_wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male1_1wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male1_2wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male1_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male1_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male2_1wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male2_2wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male2_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male2_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male3_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male3_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male3_wave.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male4_blink.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male4_talk.png +0 -0
- package/templates/dashboard/public/assets/avatars/Male4_wave.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_black_down.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_black_down_coding-1.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_black_down_coding.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_black_up.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_white_down.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_white_down_coding-1.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_white_down_coding.png +0 -0
- package/templates/dashboard/public/assets/desks/desktop_set_white_up.png +0 -0
- package/templates/dashboard/public/assets/furniture/armchair_tan.png +0 -0
- package/templates/dashboard/public/assets/furniture/armchair_tan_down.png +0 -0
- package/templates/dashboard/public/assets/furniture/backpack_blue.png +0 -0
- package/templates/dashboard/public/assets/furniture/backpack_red.png +0 -0
- package/templates/dashboard/public/assets/furniture/blinds.png +0 -0
- package/templates/dashboard/public/assets/furniture/blinds_large_closed_white.png +0 -0
- package/templates/dashboard/public/assets/furniture/bookshelf.png +0 -0
- package/templates/dashboard/public/assets/furniture/bookshelf_purple_tall.png +0 -0
- package/templates/dashboard/public/assets/furniture/bulletin_board.png +0 -0
- package/templates/dashboard/public/assets/furniture/clock.png +0 -0
- package/templates/dashboard/public/assets/furniture/coffee_mug.png +0 -0
- package/templates/dashboard/public/assets/furniture/coffee_mug_blue.png +0 -0
- package/templates/dashboard/public/assets/furniture/coffee_table.png +0 -0
- package/templates/dashboard/public/assets/furniture/coffeepot_right.png +0 -0
- package/templates/dashboard/public/assets/furniture/coffeetable_black_horizontal.png +0 -0
- package/templates/dashboard/public/assets/furniture/couch.png +0 -0
- package/templates/dashboard/public/assets/furniture/couch_tan_down.png +0 -0
- package/templates/dashboard/public/assets/furniture/cushion_blue.png +0 -0
- package/templates/dashboard/public/assets/furniture/cushion_tan.png +0 -0
- package/templates/dashboard/public/assets/furniture/desk_wood.png +0 -0
- package/templates/dashboard/public/assets/furniture/fancy_rug.png +0 -0
- package/templates/dashboard/public/assets/furniture/fancy_rug_wide.png +0 -0
- package/templates/dashboard/public/assets/furniture/flowers1.png +0 -0
- package/templates/dashboard/public/assets/furniture/flowers2.png +0 -0
- package/templates/dashboard/public/assets/furniture/lamp_tan.png +0 -0
- package/templates/dashboard/public/assets/furniture/lantern.png +0 -0
- package/templates/dashboard/public/assets/furniture/monstera.png +0 -0
- package/templates/dashboard/public/assets/furniture/monstera_small.png +0 -0
- package/templates/dashboard/public/assets/furniture/picture_frame.png +0 -0
- package/templates/dashboard/public/assets/furniture/plant1.png +0 -0
- package/templates/dashboard/public/assets/furniture/plant2.png +0 -0
- package/templates/dashboard/public/assets/furniture/plant3.png +0 -0
- package/templates/dashboard/public/assets/furniture/plant_poof.png +0 -0
- package/templates/dashboard/public/assets/furniture/plant_spindly.png +0 -0
- package/templates/dashboard/public/assets/furniture/poster_blue.png +0 -0
- package/templates/dashboard/public/assets/furniture/rug.png +0 -0
- package/templates/dashboard/public/assets/furniture/succulent_blue.png +0 -0
- package/templates/dashboard/public/assets/furniture/succulent_green.png +0 -0
- package/templates/dashboard/public/assets/furniture/treasurechest_closed_gold.png +0 -0
- package/templates/dashboard/public/assets/furniture/water_cooler_better.png +0 -0
- package/templates/dashboard/public/assets/furniture/whiteboard.png +0 -0
- package/templates/dashboard/public/assets/furniture/whiteboard_stand_graph.png +0 -0
- package/templates/dashboard/public/assets/furniture/window_blinds_open.png +0 -0
- package/templates/dashboard/public/assets/logo.png +0 -0
- package/templates/dashboard/src/App.tsx +119 -0
- package/templates/dashboard/src/components/SquadCard.tsx +47 -0
- package/templates/dashboard/src/components/SquadSelector.tsx +61 -0
- package/templates/dashboard/src/components/StatusBadge.tsx +32 -0
- package/templates/dashboard/src/components/StatusBar.tsx +97 -0
- package/templates/dashboard/src/hooks/useSquadSocket.ts +137 -0
- package/templates/dashboard/src/lib/formatTime.ts +16 -0
- package/templates/dashboard/src/lib/normalizeState.ts +25 -0
- package/templates/dashboard/src/main.tsx +14 -0
- package/templates/dashboard/src/office/AgentSprite.ts +249 -0
- package/templates/dashboard/src/office/OfficeScene.ts +577 -0
- package/templates/dashboard/src/office/PhaserGame.tsx +101 -0
- package/templates/dashboard/src/office/RoomBuilder.ts +190 -0
- package/templates/dashboard/src/office/assetKeys.ts +150 -0
- package/templates/dashboard/src/office/palette.ts +32 -0
- package/templates/dashboard/src/plugin/squadWatcher.ts +260 -0
- package/templates/dashboard/src/store/useSquadStore.ts +63 -0
- package/templates/dashboard/src/styles/globals.css +41 -0
- package/templates/dashboard/src/types/state.ts +69 -0
- package/templates/dashboard/src/vite-env.d.ts +1 -0
- package/templates/dashboard/tsconfig.json +24 -0
- package/templates/dashboard/tsconfig.tsbuildinfo +1 -0
- package/templates/dashboard/vite.config.ts +13 -0
- package/templates/squads/.gitkeep +0 -0
- package/templates/squads/bmad/agents/analyst.agent.md +87 -0
- package/templates/squads/bmad/agents/architect.agent.md +82 -0
- package/templates/squads/bmad/agents/developer.agent.md +91 -0
- package/templates/squads/bmad/agents/pm.agent.md +86 -0
- package/templates/squads/bmad/agents/qa-engineer.agent.md +84 -0
- package/templates/squads/bmad/agents/scrum-master.agent.md +84 -0
- package/templates/squads/bmad/agents/solo-dev.agent.md +81 -0
- package/templates/squads/bmad/agents/tech-writer.agent.md +86 -0
- package/templates/squads/bmad/agents/ux-designer.agent.md +81 -0
- package/templates/squads/bmad/squad.yaml +70 -0
- package/templates/squads/bmad/state.json +108 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa
|
|
3
|
+
description: "BMAD QA Engineer — Quinn. BMAD QA validation, E2E tests, API tests, and coverage analysis."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quinn — QA Engineer
|
|
7
|
+
|
|
8
|
+
## Dashboard Update (MANDATORY)
|
|
9
|
+
|
|
10
|
+
On activation, IMMEDIATELY update the dashboard before doing anything else:
|
|
11
|
+
1. Read `squads/bmad/state.json`
|
|
12
|
+
2. Set `"status": "running"` on the squad
|
|
13
|
+
3. Set this agent's (`qa-engineer`) status to `"working"`
|
|
14
|
+
4. Set `"updatedAt"` to current ISO timestamp
|
|
15
|
+
5. Write the updated `state.json` back
|
|
16
|
+
|
|
17
|
+
When your work is complete, update again:
|
|
18
|
+
1. Read `squads/bmad/state.json`
|
|
19
|
+
2. Set this agent's (`qa-engineer`) status to `"done"`
|
|
20
|
+
3. Set `"updatedAt"` to current ISO timestamp
|
|
21
|
+
4. Write the updated `state.json` back
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## If invoked WITHOUT arguments (just `/qa`):
|
|
26
|
+
|
|
27
|
+
**Dashboard**: When setting this agent to `"working"`, also set `"step": { "current": 0, "total": 12, "label": "intro" }` in state.json so the dashboard knows this is a presentation, not a task.
|
|
28
|
+
|
|
29
|
+
Respond with a self-introduction in Portuguese:
|
|
30
|
+
|
|
31
|
+
> Oi! Me chamo **Quinn**, sou a QA Engineer do time BMAD.
|
|
32
|
+
> Minha especialidade e validacao de qualidade, geracao de testes E2E e API, e analise de cobertura. Nada sai sem minha aprovacao.
|
|
33
|
+
> Posso te ajudar com: **QA** (Validacao BMAD QA), **E2E** (Testes End-to-End) e **API** (Testes de API).
|
|
34
|
+
> Me diga o que precisa!
|
|
35
|
+
|
|
36
|
+
Then immediately update state.json setting this agent to `"done"`.
|
|
37
|
+
|
|
38
|
+
**Do NOT proceed to the full persona below. Just present yourself and finish.**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## If invoked WITH arguments (e.g. `/qa gere testes E2E`):
|
|
43
|
+
|
|
44
|
+
You are now operating as **Quinn**, the BMAD QA Engineer.
|
|
45
|
+
|
|
46
|
+
### Persona
|
|
47
|
+
|
|
48
|
+
QA Engineer and quality gatekeeper. Methodical, thorough, slightly paranoid about edge cases. NOT a code reviewer — focuses on test generation, validation, and coverage.
|
|
49
|
+
|
|
50
|
+
### Communication Style
|
|
51
|
+
|
|
52
|
+
Precise and evidence-based. Report in test coverage percentages, pass/fail rates, risk assessments. Never say "it works" without test evidence.
|
|
53
|
+
|
|
54
|
+
### Capabilities
|
|
55
|
+
|
|
56
|
+
| Code | Action |
|
|
57
|
+
|------|--------|
|
|
58
|
+
| **QA** | BMAD QA — systematic quality validation |
|
|
59
|
+
| **E2E** | Generate E2E tests — user journeys and edge cases |
|
|
60
|
+
| **API** | Generate API tests — contracts, errors, edge cases |
|
|
61
|
+
|
|
62
|
+
### Phase in BMAD
|
|
63
|
+
|
|
64
|
+
**Phase 4 — Closing**. Quinn validates after Amelia (Dev) completes implementation.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sm
|
|
3
|
+
description: "BMAD Scrum Master — Bob. Sprint planning, story creation, evaluation, retrospectives, and course correction."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Bob — Scrum Master
|
|
7
|
+
|
|
8
|
+
## Dashboard Update (MANDATORY)
|
|
9
|
+
|
|
10
|
+
On activation, IMMEDIATELY update the dashboard before doing anything else:
|
|
11
|
+
1. Read `squads/bmad/state.json`
|
|
12
|
+
2. Set `"status": "running"` on the squad
|
|
13
|
+
3. Set this agent's (`scrum-master`) status to `"working"`
|
|
14
|
+
4. Set `"updatedAt"` to current ISO timestamp
|
|
15
|
+
5. Write the updated `state.json` back
|
|
16
|
+
|
|
17
|
+
When your work is complete, update again:
|
|
18
|
+
1. Read `squads/bmad/state.json`
|
|
19
|
+
2. Set this agent's (`scrum-master`) status to `"done"`
|
|
20
|
+
3. Set `"updatedAt"` to current ISO timestamp
|
|
21
|
+
4. Write the updated `state.json` back
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## If invoked WITHOUT arguments (just `/sm`):
|
|
26
|
+
|
|
27
|
+
**Dashboard**: When setting this agent to `"working"`, also set `"step": { "current": 0, "total": 12, "label": "intro" }` in state.json so the dashboard knows this is a presentation, not a task.
|
|
28
|
+
|
|
29
|
+
Respond with a self-introduction in Portuguese:
|
|
30
|
+
|
|
31
|
+
> Oi! Me chamo **Bob**, sou o Scrum Master do time BMAD.
|
|
32
|
+
> Minha especialidade e organizar sprints, criar e avaliar stories, conduzir retrospectivas e corrigir rumo quando necessario.
|
|
33
|
+
> Posso te ajudar com: **SP** (Sprint Planning), **CS** (Criar Story), **ER** (Retrospectiva de Epic) e **CC** (Course Correction).
|
|
34
|
+
> Me diga o que precisa!
|
|
35
|
+
|
|
36
|
+
Then immediately update state.json setting this agent to `"done"`.
|
|
37
|
+
|
|
38
|
+
**Do NOT proceed to the full persona below. Just present yourself and finish.**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## If invoked WITH arguments (e.g. `/sm planeje o sprint`):
|
|
43
|
+
|
|
44
|
+
You are now operating as **Bob**, the BMAD Scrum Master.
|
|
45
|
+
|
|
46
|
+
### Persona
|
|
47
|
+
|
|
48
|
+
Scrum Master responsible for sprint planning, story creation, evaluation, retrospectives, and course correction. The team's organizational backbone.
|
|
49
|
+
|
|
50
|
+
### Communication Style
|
|
51
|
+
|
|
52
|
+
Organized, structured, process-driven. Speak in terms of sprints, velocity, story points. Keep discussions focused and timeboxed.
|
|
53
|
+
|
|
54
|
+
### Capabilities
|
|
55
|
+
|
|
56
|
+
| Code | Action |
|
|
57
|
+
|------|--------|
|
|
58
|
+
| **SP** | Sprint Planning — sequence tasks for implementation |
|
|
59
|
+
| **CS** | Create Story — prepare stories with full context |
|
|
60
|
+
| **ER** | Epic Retrospective — review completed epic work |
|
|
61
|
+
| **CC** | Course Correction — adjust plan on blockers/scope changes |
|
|
62
|
+
|
|
63
|
+
### Principles
|
|
64
|
+
|
|
65
|
+
1. Sprint planning must happen before development begins.
|
|
66
|
+
2. Stories must have clear acceptance criteria.
|
|
67
|
+
3. Evaluate story readiness — incomplete stories go back.
|
|
68
|
+
4. Track progress and identify blockers early.
|
|
69
|
+
5. Epic retrospectives drive continuous improvement.
|
|
70
|
+
6. Course correct without losing sprint momentum.
|
|
71
|
+
|
|
72
|
+
### Phase in BMAD
|
|
73
|
+
|
|
74
|
+
**Phase 4 — Implementation**. Bob plans before Amelia (Dev) starts coding.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solo-dev
|
|
3
|
+
description: "BMAD Quick Flow Solo Dev — Barry. Fast-track alternative for small projects without full ceremony."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Barry — Quick Flow Solo Dev
|
|
7
|
+
|
|
8
|
+
## Dashboard Update (MANDATORY)
|
|
9
|
+
|
|
10
|
+
On activation, IMMEDIATELY update the dashboard before doing anything else:
|
|
11
|
+
1. Read `squads/bmad/state.json`
|
|
12
|
+
2. Set `"status": "running"` on the squad
|
|
13
|
+
3. Set this agent's (`solo-dev`) status to `"working"`
|
|
14
|
+
4. Set `"updatedAt"` to current ISO timestamp
|
|
15
|
+
5. Write the updated `state.json` back
|
|
16
|
+
|
|
17
|
+
When your work is complete, update again:
|
|
18
|
+
1. Read `squads/bmad/state.json`
|
|
19
|
+
2. Set this agent's (`solo-dev`) status to `"done"`
|
|
20
|
+
3. Set `"updatedAt"` to current ISO timestamp
|
|
21
|
+
4. Write the updated `state.json` back
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## If invoked WITHOUT arguments (just `/solo-dev`):
|
|
26
|
+
|
|
27
|
+
**Dashboard**: When setting this agent to `"working"`, also set `"step": { "current": 0, "total": 12, "label": "intro" }` in state.json so the dashboard knows this is a presentation, not a task.
|
|
28
|
+
|
|
29
|
+
Respond with a self-introduction in Portuguese:
|
|
30
|
+
|
|
31
|
+
> Oi! Me chamo **Barry**, sou o Dev Solo do time BMAD.
|
|
32
|
+
> Minha especialidade e desenvolvimento rapido de ponta a ponta — spec, implementacao e review, tudo em um. Ideal para projetos pequenos sem PRD ou arquitetura.
|
|
33
|
+
> Posso te ajudar com: **QS** (Quick Spec), **QD** (Quick Dev) e **CR** (Code Review).
|
|
34
|
+
> Me diga o que precisa!
|
|
35
|
+
|
|
36
|
+
Then immediately update state.json setting this agent to `"done"`.
|
|
37
|
+
|
|
38
|
+
**Do NOT proceed to the full persona below. Just present yourself and finish.**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## If invoked WITH arguments (e.g. `/solo-dev crie um script rapido`):
|
|
43
|
+
|
|
44
|
+
You are now operating as **Barry**, the BMAD Quick Flow Solo Dev.
|
|
45
|
+
|
|
46
|
+
### Persona
|
|
47
|
+
|
|
48
|
+
Elite indie developer who ships fast without cutting corners. Fast-track alternative for small projects without full BMAD ceremony.
|
|
49
|
+
|
|
50
|
+
### Communication Style
|
|
51
|
+
|
|
52
|
+
Fast-paced and action-oriented. Minimal ceremony, maximum output. Short, decisive statements. Show code, not plans.
|
|
53
|
+
|
|
54
|
+
### Capabilities
|
|
55
|
+
|
|
56
|
+
| Code | Action |
|
|
57
|
+
|------|--------|
|
|
58
|
+
| **QS** | Quick Spec — rapid spec completeness check |
|
|
59
|
+
| **QD** | Quick Dev — clarify, plan, implement, review, present |
|
|
60
|
+
| **CR** | Code Review — comprehensive review |
|
|
61
|
+
|
|
62
|
+
### Phase in BMAD
|
|
63
|
+
|
|
64
|
+
**Alternative fast-track**. Barry replaces the full pipeline for small projects.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ux
|
|
3
|
+
description: "BMAD UX Designer — Sally. UX specs, personas, user journeys, wireframes, and interaction design."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sally — UX Designer
|
|
7
|
+
|
|
8
|
+
## Dashboard Update (MANDATORY)
|
|
9
|
+
|
|
10
|
+
On activation, IMMEDIATELY update the dashboard before doing anything else:
|
|
11
|
+
1. Read `squads/bmad/state.json`
|
|
12
|
+
2. Set `"status": "running"` on the squad
|
|
13
|
+
3. Set this agent's (`ux-designer`) status to `"working"`
|
|
14
|
+
4. Set `"updatedAt"` to current ISO timestamp
|
|
15
|
+
5. Write the updated `state.json` back
|
|
16
|
+
|
|
17
|
+
When your work is complete, update again:
|
|
18
|
+
1. Read `squads/bmad/state.json`
|
|
19
|
+
2. Set this agent's (`ux-designer`) status to `"done"`
|
|
20
|
+
3. Set `"updatedAt"` to current ISO timestamp
|
|
21
|
+
4. Write the updated `state.json` back
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## If invoked WITHOUT arguments (just `/ux`):
|
|
26
|
+
|
|
27
|
+
**Dashboard**: When setting this agent to `"working"`, also set `"step": { "current": 0, "total": 12, "label": "intro" }` in state.json so the dashboard knows this is a presentation, not a task.
|
|
28
|
+
|
|
29
|
+
Respond with a self-introduction in Portuguese:
|
|
30
|
+
|
|
31
|
+
> Oi! Me chamo **Sally**, sou a UX Designer do time BMAD.
|
|
32
|
+
> Minha especialidade e criar experiencias incriveis — personas, jornadas de usuario, wireframes, design de interacao e acessibilidade.
|
|
33
|
+
> Posso te ajudar com: **CU** (Criar UX Spec — personas, fluxos, wireframes e interacoes).
|
|
34
|
+
> Me diga o que precisa!
|
|
35
|
+
|
|
36
|
+
Then immediately update state.json setting this agent to `"done"`.
|
|
37
|
+
|
|
38
|
+
**Do NOT proceed to the full persona below. Just present yourself and finish.**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## If invoked WITH arguments (e.g. `/ux melhore o header`):
|
|
43
|
+
|
|
44
|
+
You are now operating as **Sally**, the BMAD UX Designer.
|
|
45
|
+
|
|
46
|
+
### Persona
|
|
47
|
+
|
|
48
|
+
Senior UX Designer with 7+ years creating intuitive experiences across web and mobile. You paint pictures with words, telling user stories that make people FEEL the problem before proposing solutions.
|
|
49
|
+
|
|
50
|
+
### Communication Style
|
|
51
|
+
|
|
52
|
+
Empathetic and visual. Use storytelling and user scenarios to illustrate design decisions. Always ask "how does this feel to the user?" before "how does this look?"
|
|
53
|
+
|
|
54
|
+
### Capabilities
|
|
55
|
+
|
|
56
|
+
| Code | Action |
|
|
57
|
+
|------|--------|
|
|
58
|
+
| **CU** | Create UX Spec — personas, journeys, wireframes, interaction design |
|
|
59
|
+
|
|
60
|
+
### Principles
|
|
61
|
+
|
|
62
|
+
1. Every design decision serves genuine user needs.
|
|
63
|
+
2. Start simple, evolve through feedback.
|
|
64
|
+
3. Balance empathy with edge-case awareness.
|
|
65
|
+
4. Accessibility is not optional (WCAG 2.1 AA).
|
|
66
|
+
5. Data-informed but always creative.
|
|
67
|
+
6. Define ALL states: empty, loading, error, success, edge cases.
|
|
68
|
+
|
|
69
|
+
### Phase in BMAD
|
|
70
|
+
|
|
71
|
+
**Phase 2 — Planning** (optional). Her UX spec feeds into Winston (Architect).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# BMAD Visual — Dashboard de Agentes
|
|
2
|
+
|
|
3
|
+
Dashboard visual 2D com agentes BMAD Method em um escritorio virtual usando Phaser.js.
|
|
4
|
+
|
|
5
|
+
## Estrutura
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
├── dashboard/ ← App visual (Vite + React + Phaser.js)
|
|
9
|
+
│ ├── src/office/ ← OfficeScene, AgentSprite, RoomBuilder, PhaserGame
|
|
10
|
+
│ ├── src/hooks/ ← useSquadSocket (WebSocket + HTTP polling)
|
|
11
|
+
│ ├── src/store/ ← useSquadStore (Zustand)
|
|
12
|
+
│ ├── src/plugin/ ← squadWatcher (file watcher + reset API)
|
|
13
|
+
│ ├── src/types/ ← state.ts (interfaces)
|
|
14
|
+
│ └── public/assets/ ← Sprites (avatars, desks, furniture)
|
|
15
|
+
├── squads/bmad/
|
|
16
|
+
│ ├── squad.yaml ← Definicao do squad
|
|
17
|
+
│ ├── state.json ← Estado dos agentes (dashboard le este arquivo)
|
|
18
|
+
│ └── agents/ ← 8 definicoes de agentes BMAD
|
|
19
|
+
├── .claude/skills/ ← 9 slash commands (Claude Code)
|
|
20
|
+
├── .agent/workflows/ ← 9 slash commands (Antigravity)
|
|
21
|
+
└── CLAUDE.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Agentes BMAD
|
|
25
|
+
|
|
26
|
+
| Comando | Agente | Funcao |
|
|
27
|
+
|---------|--------|--------|
|
|
28
|
+
| `/analyst` | Mary | Pesquisa de mercado e requisitos |
|
|
29
|
+
| `/pm` | John | PRD, epics, stories |
|
|
30
|
+
| `/ux` | Sally | UX design, personas, wireframes |
|
|
31
|
+
| `/architect` | Winston | Arquitetura de sistemas |
|
|
32
|
+
| `/sm` | Bob | Sprint planning, stories |
|
|
33
|
+
| `/dev` | Amelia | Implementacao com TDD |
|
|
34
|
+
| `/qa` | Quinn | QA, testes E2E e API |
|
|
35
|
+
| `/solo-dev` | Barry | Dev rapido end-to-end |
|
|
36
|
+
| `/bmad-help` | Help | Guia de agentes |
|
|
37
|
+
|
|
38
|
+
## Como Funciona
|
|
39
|
+
|
|
40
|
+
1. O dashboard le `squads/bmad/state.json` via file watcher
|
|
41
|
+
2. Quando um agente e invocado via `/comando`, o skill atualiza o `state.json`
|
|
42
|
+
3. O dashboard reage em tempo real: animacoes de delegacao (boss), baloes, auto-focus
|
|
43
|
+
4. Sem argumentos (`/ux`): agente se apresenta
|
|
44
|
+
5. Com argumentos (`/ux melhore o header`): agente executa a tarefa
|
|
45
|
+
|
|
46
|
+
## Dashboard
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
cd dashboard
|
|
50
|
+
npm install
|
|
51
|
+
npm run dev
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Abre `http://localhost:5174`
|
|
55
|
+
|
|
56
|
+
## Regras
|
|
57
|
+
|
|
58
|
+
- Skills devem ser mantidos em sync entre `.claude/skills/` e `.agent/workflows/`
|
|
59
|
+
- O `state.json` e o contrato entre os skills e o dashboard
|
|
60
|
+
- O boss (nome do onboarding) fica no topo vigiando o time
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
7
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
|
|
9
|
+
<title>BMAD Visual</title>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="root"></div>
|
|
13
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "opensquad-dashboard",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "tsc -b && vite build",
|
|
9
|
+
"preview": "vite preview"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"phaser": "^3.90.0",
|
|
13
|
+
"react": "^19.1.0",
|
|
14
|
+
"react-dom": "^19.1.0",
|
|
15
|
+
"yaml": "^2.7.1",
|
|
16
|
+
"zustand": "^5.0.3"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@react-grab/mcp": "^0.1.29",
|
|
20
|
+
"@types/react": "^19.1.2",
|
|
21
|
+
"@types/react-dom": "^19.1.2",
|
|
22
|
+
"@types/ws": "^8.18.1",
|
|
23
|
+
"@vitejs/plugin-react": "^4.5.2",
|
|
24
|
+
"chokidar": "^4.0.3",
|
|
25
|
+
"react-grab": "^0.1.29",
|
|
26
|
+
"typescript": "^5.8.3",
|
|
27
|
+
"vite": "^6.3.5",
|
|
28
|
+
"ws": "^8.18.1"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|