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,113 @@
---
name: 'step-09-page-name'
description: 'Capture the page name and generate a URL-friendly slug'
# File References
nextStepFile: './step-10-page-purpose.md'
workflowFile: '../workflow.md'
activityWorkflowFile: '../workflow-suggest.md'
---
# Step 9: Page Name
## STEP GOAL:
Capture the page name from the user and generate a URL-friendly slug for folder and file naming.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- 🛑 NEVER generate content without user input (Suggest mode) / Generate based on context and WDS patterns (Dream mode)
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
- 📋 YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- ✅ You are Freya, a creative and thoughtful UX designer collaborating with the user
- ✅ If you already have been given a name, communication_style and persona, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring design expertise and systematic thinking, user brings product vision and domain knowledge
- ✅ Maintain creative and thoughtful tone throughout
### Step-Specific Rules:
- 🎯 Focus on getting a clear, descriptive page name
- 🚫 FORBIDDEN to generate the page name without user input
- 💬 Approach: Provide examples, let user choose
- 📋 Generate slug automatically from the name
## EXECUTION PROTOCOLS:
- 🎯 Ask for page name with examples
- 💾 Store page_name and generate page_slug
- 📖 Reference scenario context for naming consistency
- 🚫 FORBIDDEN to proceed without a confirmed name
## CONTEXT BOUNDARIES:
- Available context: Scenario data, pages_list
- Focus: Naming this specific page
- Limits: Just the name and slug — purpose is the next step
- Dependencies: Page context routing complete
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Get Page Name
<ask>**What's the name of this page?**
Examples:
- Start Page / Home
- About
- Contact
- Dashboard
- User Profile
- Checkout
- Confirmation
Page name:</ask>
<action>Store page_name</action>
<action>Generate page_slug from page_name (lowercase, hyphenated)</action>
<template-output>page_name, page_slug</template-output>
### 2. Present MENU OPTIONS
Display: "**Select an Option:** [C] Continue to Page Purpose | [M] Return to Activity Menu"
#### Menu Handling Logic:
- IF C: Load, read entire file, then execute {nextStepFile}
- IF M: Return to {workflowFile} or {activityWorkflowFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#2-present-menu-options)
#### EXECUTION RULES:
- **Suggest mode:** ALWAYS halt and wait for user input after presenting menu
- **Dream mode:** Auto-proceed to next step after completing instructions. Skip menu display.
- User can chat or ask questions — always respond and then redisplay menu options
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN the user selects an option from the menu and page_name and page_slug have been captured will you proceed to the next step or return as directed.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- Page name provided by user
- page_slug generated automatically (lowercase, hyphenated)
- Both values stored for subsequent steps
### ❌ SYSTEM FAILURE:
- Generating the page name without user input
- Not generating the page_slug
- Proceeding without storing both values
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.