chore: initial monorepo scaffold + WDS Phase 1+2 artifacts

- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24)
- apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004)
- apps/web: React 19 + Vite 8 (ESM)
- libs/shared/api-interface: Zod contract base
- Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit
- WDS artifacts:
  - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs)
  - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact)
- Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md
- AGENTS.md + README.md como entrada para devs/agentes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 14:34:20 +00:00
commit 17c08e6392
3631 changed files with 855518 additions and 0 deletions

View File

@@ -0,0 +1,151 @@
---
name: sync
version: "1.0.0"
description: Syncs WDS skills from the current project (_bmad/wds/) to ~/.claude/commands/ so they work in any project. Called automatically on every agent activation.
agents: [saga, freya, mimir]
---
# WDS Sync
Keeps `~/.claude/commands/` current with the WDS installation in the active project.
Agents call this silently on every activation. Users can also call it directly.
---
## Entry points
**On agent activation — silent mode**
- First time (no global commands exist): ask the user once, then sync.
- Subsequent activations: compare files, sync silently if changed, skip if identical.
- Never block activation. If sync fails for any reason, continue.
**Direct user request** ("sync", "update WDS", "sync skills", "check for updates") — verbose, report each step.
---
## Steps
### 1 — Locate project installation
Find `_bmad/wds/` relative to the current project root.
If `_bmad/wds/` does not exist:
- Silent mode: stop silently.
- Verbose mode: `⚠️ WDS not installed in this project. Run: npx bmad-method install`
Store the source root: `WDS_SRC = {project-root}/_bmad/wds`
---
### 2 — Detect home directory
```bash
# Mac / Linux
HOME_DIR="$HOME"
# Windows (PowerShell)
$HOME_DIR = $env:USERPROFILE
```
Destination directories:
- Commands: `{HOME_DIR}/.claude/commands/`
- Tools: `{HOME_DIR}/.claude/wds/tools/memory/`
- Data: `{HOME_DIR}/.claude/wds/data/`
---
### 3 — Check sync state
Check if `{HOME_DIR}/.claude/commands/wrap.md` exists.
**First time (file missing):** go to step 4 — ask user.
**Already synced:** compare `{HOME_DIR}/.claude/commands/wrap.md` to `{WDS_SRC}/skills/wrap.md`.
```bash
# Mac / Linux
diff -q "{HOME_DIR}/.claude/commands/wrap.md" "{WDS_SRC}/skills/wrap.md"
# Windows
Compare-Object (Get-Content "{HOME_DIR}\.claude\commands\wrap.md") (Get-Content "{WDS_SRC}\skills\wrap.md")
```
If identical: finish silently.
If different: go to step 5 — sync silently.
---
### 4 — First time: ask user
Print exactly:
```
WDS is installed in this project but skills are not yet available globally.
Sync now? Adds /saga /freya /mimir /start /wrap /handoff to all Claude Code sessions.
[Y/n]
```
If **n**: stop. Do not ask again this session.
If **y** (or Enter): go to step 5.
---
### 5 — Sync files
Create destination directories if they don't exist:
```bash
# Mac / Linux
mkdir -p "{HOME_DIR}/.claude/commands"
mkdir -p "{HOME_DIR}/.claude/wds/tools/memory"
mkdir -p "{HOME_DIR}/.claude/wds/data"
# Windows
New-Item -ItemType Directory -Force "{HOME_DIR}\.claude\commands"
New-Item -ItemType Directory -Force "{HOME_DIR}\.claude\wds\tools\memory"
New-Item -ItemType Directory -Force "{HOME_DIR}\.claude\wds\data"
```
Copy agent commands:
| Source | Destination |
|--------|-------------|
| `{WDS_SRC}/skills/saga.activation.md` | `{HOME_DIR}/.claude/commands/saga.md` |
| `{WDS_SRC}/skills/freya.activation.md` | `{HOME_DIR}/.claude/commands/freya.md` |
| `{WDS_SRC}/skills/mimir.activation.md` | `{HOME_DIR}/.claude/commands/mimir.md` |
| `{WDS_SRC}/skills/start.md` | `{HOME_DIR}/.claude/commands/start.md` |
| `{WDS_SRC}/skills/wrap.md` | `{HOME_DIR}/.claude/commands/wrap.md` |
| `{WDS_SRC}/skills/handoff.md` | `{HOME_DIR}/.claude/commands/handoff.md` |
Copy tools and data:
| Source | Destination |
|--------|-------------|
| `{WDS_SRC}/tools/memory/SKILL.md` | `{HOME_DIR}/.claude/wds/tools/memory/SKILL.md` |
| `{WDS_SRC}/data/wds-glossary.md` | `{HOME_DIR}/.claude/wds/data/wds-glossary.md` |
| `{WDS_SRC}/data/agent-contracts.md` | `{HOME_DIR}/.claude/wds/data/agent-contracts.md` |
| `{WDS_SRC}/data/shared-activation.md`| `{HOME_DIR}/.claude/wds/data/shared-activation.md`|
Skip any source file that does not exist — do not error.
---
### 6 — Report
**First-time / direct call:**
```
✓ WDS skills synced to ~/.claude/commands/
/saga /freya /mimir /start /wrap /handoff
```
**Silent update (changes detected):**
```
✓ WDS skills updated.
```
**No changes (direct call only):**
```
WDS skills are up to date.
```
**Silent mode with no changes:** no output.