@qubiit/lmagent 2.5.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/.editorconfig +18 -0
- package/AGENTS.md +169 -0
- package/CLAUDE.md +122 -0
- package/CONTRIBUTING.md +90 -0
- package/LICENSE +21 -0
- package/README.md +195 -0
- package/config/commands.yaml +194 -0
- package/config/levels.yaml +135 -0
- package/config/models.yaml +192 -0
- package/config/settings.yaml +405 -0
- package/config/tools-extended.yaml +534 -0
- package/config/tools.yaml +437 -0
- package/docs/assets/logo.png +0 -0
- package/docs/commands.md +132 -0
- package/docs/customization-guide.md +445 -0
- package/docs/getting-started.md +154 -0
- package/docs/how-to-start.md +242 -0
- package/docs/navigation-index.md +227 -0
- package/docs/usage-guide.md +113 -0
- package/install.js +1044 -0
- package/package.json +35 -0
- package/pyproject.toml +182 -0
- package/rules/_bootstrap.md +138 -0
- package/rules/agents-ia.md +607 -0
- package/rules/api-design.md +337 -0
- package/rules/automations-n8n.md +646 -0
- package/rules/code-style.md +570 -0
- package/rules/documentation.md +98 -0
- package/rules/security.md +316 -0
- package/rules/stack.md +395 -0
- package/rules/testing.md +326 -0
- package/rules/workflow.md +353 -0
- package/scripts/create_skill.js +300 -0
- package/scripts/validate_skills.js +283 -0
- package/skills/ai-agent-engineer/SKILL.md +394 -0
- package/skills/ai-agent-engineer/references/agent-patterns.md +149 -0
- package/skills/api-designer/SKILL.md +429 -0
- package/skills/api-designer/references/api-standards.md +13 -0
- package/skills/architect/SKILL.md +285 -0
- package/skills/architect/references/c4-model.md +133 -0
- package/skills/automation-engineer/SKILL.md +352 -0
- package/skills/automation-engineer/references/n8n-patterns.md +127 -0
- package/skills/backend-engineer/SKILL.md +261 -0
- package/skills/backend-engineer/assets/fastapi-project-structure.yaml +74 -0
- package/skills/backend-engineer/references/debugging-guide.md +174 -0
- package/skills/backend-engineer/references/design-patterns.md +208 -0
- package/skills/backend-engineer/scripts/scaffold_backend.py +313 -0
- package/skills/bmad-methodology/SKILL.md +202 -0
- package/skills/bmad-methodology/references/scale-adaptive-levels.md +141 -0
- package/skills/browser-agent/SKILL.md +502 -0
- package/skills/browser-agent/scripts/playwright_setup.ts +16 -0
- package/skills/code-reviewer/SKILL.md +306 -0
- package/skills/code-reviewer/references/code-review-checklist.md +16 -0
- package/skills/data-engineer/SKILL.md +474 -0
- package/skills/data-engineer/assets/pg-monitoring-queries.sql +154 -0
- package/skills/data-engineer/references/index-strategy.md +128 -0
- package/skills/data-engineer/scripts/backup_postgres.py +221 -0
- package/skills/devops-engineer/SKILL.md +547 -0
- package/skills/devops-engineer/references/ci-cd-patterns.md +265 -0
- package/skills/devops-engineer/scripts/docker_healthcheck.py +125 -0
- package/skills/document-generator/SKILL.md +746 -0
- package/skills/document-generator/references/pdf-generation.md +22 -0
- package/skills/frontend-engineer/SKILL.md +532 -0
- package/skills/frontend-engineer/references/accessibility-guide.md +146 -0
- package/skills/frontend-engineer/scripts/audit_bundle.py +144 -0
- package/skills/git-workflow/SKILL.md +374 -0
- package/skills/git-workflow/references/git-flow.md +25 -0
- package/skills/mcp-builder/SKILL.md +471 -0
- package/skills/mcp-builder/references/mcp-server-guide.md +23 -0
- package/skills/mobile-engineer/SKILL.md +502 -0
- package/skills/mobile-engineer/references/platform-guidelines.md +160 -0
- package/skills/orchestrator/SKILL.md +246 -0
- package/skills/orchestrator/references/methodology-routing.md +117 -0
- package/skills/orchestrator/references/persona-mapping.md +85 -0
- package/skills/orchestrator/references/routing-logic.md +110 -0
- package/skills/performance-engineer/SKILL.md +549 -0
- package/skills/performance-engineer/references/caching-patterns.md +181 -0
- package/skills/performance-engineer/scripts/profile_endpoint.py +170 -0
- package/skills/product-manager/SKILL.md +488 -0
- package/skills/product-manager/references/prioritization-frameworks.md +126 -0
- package/skills/prompt-engineer/SKILL.md +433 -0
- package/skills/prompt-engineer/references/prompt-patterns.md +158 -0
- package/skills/qa-engineer/SKILL.md +441 -0
- package/skills/qa-engineer/references/testing-strategy.md +166 -0
- package/skills/qa-engineer/scripts/run_coverage.py +147 -0
- package/skills/scrum-master/SKILL.md +225 -0
- package/skills/scrum-master/references/sprint-ceremonies.md +159 -0
- package/skills/security-analyst/SKILL.md +390 -0
- package/skills/security-analyst/references/owasp-top10.md +188 -0
- package/skills/security-analyst/scripts/audit_security.py +242 -0
- package/skills/seo-auditor/SKILL.md +523 -0
- package/skills/seo-auditor/references/seo-checklist.md +17 -0
- package/skills/spec-driven-dev/SKILL.md +342 -0
- package/skills/spec-driven-dev/references/phase-gates.md +107 -0
- package/skills/supabase-expert/SKILL.md +602 -0
- package/skills/supabase-expert/references/supabase-patterns.md +19 -0
- package/skills/swe-agent/SKILL.md +311 -0
- package/skills/swe-agent/references/trajectory-format.md +134 -0
- package/skills/systematic-debugger/SKILL.md +512 -0
- package/skills/systematic-debugger/references/debugging-guide.md +12 -0
- package/skills/tech-lead/SKILL.md +409 -0
- package/skills/tech-lead/references/code-review-checklist.md +111 -0
- package/skills/technical-writer/SKILL.md +631 -0
- package/skills/technical-writer/references/doc-templates.md +218 -0
- package/skills/testing-strategist/SKILL.md +476 -0
- package/skills/testing-strategist/references/testing-pyramid.md +16 -0
- package/skills/ux-ui-designer/SKILL.md +419 -0
- package/skills/ux-ui-designer/references/design-system-foundation.md +168 -0
- package/skills_overview.txt +94 -0
- package/templates/PROJECT_KICKOFF.md +284 -0
- package/templates/SKILL_TEMPLATE.md +131 -0
- package/templates/USAGE.md +95 -0
- package/templates/agent-python/README.md +71 -0
- package/templates/agent-python/agent.py +272 -0
- package/templates/agent-python/config.yaml +76 -0
- package/templates/agent-python/prompts/system.md +109 -0
- package/templates/agent-python/requirements.txt +7 -0
- package/templates/automation-n8n/README.md +14 -0
- package/templates/automation-n8n/webhook-handler.json +57 -0
- package/templates/backend-node/Dockerfile +12 -0
- package/templates/backend-node/README.md +15 -0
- package/templates/backend-node/package.json +30 -0
- package/templates/backend-node/src/index.ts +19 -0
- package/templates/backend-node/src/routes.ts +7 -0
- package/templates/backend-node/tsconfig.json +22 -0
- package/templates/backend-python/Dockerfile +11 -0
- package/templates/backend-python/README.md +78 -0
- package/templates/backend-python/app/core/config.py +12 -0
- package/templates/backend-python/app/core/database.py +12 -0
- package/templates/backend-python/app/main.py +17 -0
- package/templates/backend-python/app/routers/__init__.py +1 -0
- package/templates/backend-python/app/routers/health.py +7 -0
- package/templates/backend-python/requirements-dev.txt +6 -0
- package/templates/backend-python/requirements.txt +4 -0
- package/templates/backend-python/tests/test_health.py +9 -0
- package/templates/checkpoint.yaml +117 -0
- package/templates/database/README.md +474 -0
- package/templates/frontend-react/README.md +446 -0
- package/templates/plan.yaml +320 -0
- package/templates/session.yaml +125 -0
- package/templates/spec.yaml +229 -0
- package/templates/tasks.yaml +330 -0
- package/workflows/bugfix-backend.md +380 -0
- package/workflows/documentation.md +232 -0
- package/workflows/generate-prd.md +320 -0
- package/workflows/ideation.md +396 -0
- package/workflows/new-agent-ia.md +497 -0
- package/workflows/new-automation.md +374 -0
- package/workflows/new-feature.md +290 -0
- package/workflows/optimize-performance.md +373 -0
- package/workflows/resolve-github-issue.md +524 -0
- package/workflows/security-review.md +291 -0
- package/workflows/spec-driven.md +476 -0
- package/workflows/testing-strategy.md +296 -0
- package/workflows/third-party-integration.md +277 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para documentar código y APIs
|
|
3
|
+
level: 1
|
|
4
|
+
personas: [technical-writer, backend-engineer]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Documentation Workflow
|
|
8
|
+
|
|
9
|
+
Este workflow guía la creación y mantenimiento de documentación.
|
|
10
|
+
|
|
11
|
+
## Tipos de Documentación
|
|
12
|
+
|
|
13
|
+
| Tipo | Audiencia | Ubicación |
|
|
14
|
+
|------|-----------|-----------|
|
|
15
|
+
| README | Nuevos contribuidores | Raíz del proyecto |
|
|
16
|
+
| API Docs | Desarrolladores consumidores | `/docs/api/` |
|
|
17
|
+
| Architecture | Equipo técnico | `/docs/architecture/` |
|
|
18
|
+
| User Guide | Usuarios finales | Wiki / Docs site |
|
|
19
|
+
| Inline Docs | Desarrolladores | En el código |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## README Template
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
# {Nombre del Proyecto}
|
|
27
|
+
|
|
28
|
+
{Badges}
|
|
29
|
+
|
|
30
|
+
{Una línea describiendo qué hace}
|
|
31
|
+
|
|
32
|
+
## Features
|
|
33
|
+
- Feature 1
|
|
34
|
+
- Feature 2
|
|
35
|
+
|
|
36
|
+
## Quick Start
|
|
37
|
+
{Comandos para empezar}
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
{Instrucciones detalladas}
|
|
41
|
+
|
|
42
|
+
## Usage
|
|
43
|
+
{Ejemplos básicos}
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
{Links a docs más detalladas}
|
|
47
|
+
|
|
48
|
+
## Contributing
|
|
49
|
+
{Cómo contribuir}
|
|
50
|
+
|
|
51
|
+
## License
|
|
52
|
+
{Licencia}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## API Documentation
|
|
58
|
+
|
|
59
|
+
### Usar OpenAPI/Swagger
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
# FastAPI genera automáticamente
|
|
63
|
+
@app.get("/docs") # Swagger UI
|
|
64
|
+
@app.get("/redoc") # ReDoc
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Documentar Endpoints
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
@router.post(
|
|
71
|
+
"/users",
|
|
72
|
+
response_model=UserResponse,
|
|
73
|
+
status_code=201,
|
|
74
|
+
summary="Create a new user",
|
|
75
|
+
description="Creates a new user with the provided data. Requires authentication.",
|
|
76
|
+
responses={
|
|
77
|
+
201: {"description": "User created successfully"},
|
|
78
|
+
400: {"description": "Invalid request data"},
|
|
79
|
+
409: {"description": "Email already exists"},
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
async def create_user(data: UserCreate):
|
|
83
|
+
"""
|
|
84
|
+
Create a new user.
|
|
85
|
+
|
|
86
|
+
- **email**: Valid email address (required)
|
|
87
|
+
- **name**: User's display name (required)
|
|
88
|
+
- **role**: User role, defaults to 'user'
|
|
89
|
+
"""
|
|
90
|
+
...
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Inline Documentation
|
|
96
|
+
|
|
97
|
+
### Python Docstrings
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
def calculate_tax(amount: Decimal, rate: Decimal) -> Decimal:
|
|
101
|
+
"""
|
|
102
|
+
Calculate tax for a given amount.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
amount: The base amount before tax
|
|
106
|
+
rate: Tax rate as a decimal (e.g., 0.21 for 21%)
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
The calculated tax amount
|
|
110
|
+
|
|
111
|
+
Raises:
|
|
112
|
+
ValueError: If amount or rate is negative
|
|
113
|
+
|
|
114
|
+
Example:
|
|
115
|
+
>>> calculate_tax(Decimal("100"), Decimal("0.21"))
|
|
116
|
+
Decimal("21.00")
|
|
117
|
+
"""
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### TypeScript JSDoc
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
/**
|
|
124
|
+
* Formats a date for display.
|
|
125
|
+
*
|
|
126
|
+
* @param date - The date to format
|
|
127
|
+
* @param locale - Optional locale, defaults to 'es-AR'
|
|
128
|
+
* @returns Formatted date string
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* formatDate(new Date()) // "21 de enero de 2024"
|
|
132
|
+
*/
|
|
133
|
+
export function formatDate(date: Date, locale = 'es-AR'): string {
|
|
134
|
+
...
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Architecture Documentation
|
|
141
|
+
|
|
142
|
+
### ADR Template
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
# ADR-{N}: {Título}
|
|
146
|
+
|
|
147
|
+
## Status
|
|
148
|
+
Proposed | Accepted | Deprecated
|
|
149
|
+
|
|
150
|
+
## Context
|
|
151
|
+
{Qué problema estamos resolviendo}
|
|
152
|
+
|
|
153
|
+
## Decision
|
|
154
|
+
{Qué decidimos hacer}
|
|
155
|
+
|
|
156
|
+
## Consequences
|
|
157
|
+
{Qué implica esta decisión}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### System Diagram
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## System Architecture
|
|
164
|
+
|
|
165
|
+
```mermaid
|
|
166
|
+
graph TB
|
|
167
|
+
Client[Web Client] --> API[API Gateway]
|
|
168
|
+
API --> Auth[Auth Service]
|
|
169
|
+
API --> Users[Users Service]
|
|
170
|
+
Users --> DB[(PostgreSQL)]
|
|
171
|
+
```
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Changelog
|
|
177
|
+
|
|
178
|
+
### Keep a Changelog Format
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
# Changelog
|
|
182
|
+
|
|
183
|
+
## [Unreleased]
|
|
184
|
+
|
|
185
|
+
### Added
|
|
186
|
+
- New feature X
|
|
187
|
+
|
|
188
|
+
### Changed
|
|
189
|
+
- Updated dependency Y
|
|
190
|
+
|
|
191
|
+
### Fixed
|
|
192
|
+
- Bug in Z
|
|
193
|
+
|
|
194
|
+
## [1.0.0] - 2024-01-21
|
|
195
|
+
|
|
196
|
+
### Added
|
|
197
|
+
- Initial release
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Documentation Checklist
|
|
203
|
+
|
|
204
|
+
```markdown
|
|
205
|
+
## Para cada release
|
|
206
|
+
- [ ] README actualizado
|
|
207
|
+
- [ ] CHANGELOG actualizado
|
|
208
|
+
- [ ] API docs generados
|
|
209
|
+
- [ ] Migration guide (si breaking changes)
|
|
210
|
+
|
|
211
|
+
## Para código nuevo
|
|
212
|
+
- [ ] Docstrings en funciones públicas
|
|
213
|
+
- [ ] Tipos bien documentados
|
|
214
|
+
- [ ] Ejemplos de uso
|
|
215
|
+
|
|
216
|
+
## Para features grandes
|
|
217
|
+
- [ ] ADR si hay decisiones arquitectónicas
|
|
218
|
+
- [ ] Diagrama de flujo
|
|
219
|
+
- [ ] User guide
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Tools
|
|
225
|
+
|
|
226
|
+
| Tool | Uso |
|
|
227
|
+
|------|-----|
|
|
228
|
+
| Swagger/OpenAPI | API REST |
|
|
229
|
+
| MkDocs | Documentation sites |
|
|
230
|
+
| Mermaid | Diagramas |
|
|
231
|
+
| Docusaurus | Docs con React |
|
|
232
|
+
| Storybook | Component docs |
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow para generar un PRD completo (Product Requirements Document)
|
|
3
|
+
level: 2
|
|
4
|
+
personas: [product-manager, architect]
|
|
5
|
+
bmad_feature: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# PRD Generator Workflow (BMAD-style)
|
|
9
|
+
|
|
10
|
+
Este workflow genera un Product Requirements Document completo usando IA.
|
|
11
|
+
|
|
12
|
+
## Pre-requisitos
|
|
13
|
+
|
|
14
|
+
1. Leer [AGENTS.md](../AGENTS.md)
|
|
15
|
+
2. Leer [personas/product-manager.md](../personas/product-manager.md)
|
|
16
|
+
3. Tener una idea o concepto inicial del producto/feature
|
|
17
|
+
|
|
18
|
+
## Información Requerida
|
|
19
|
+
|
|
20
|
+
Para generar un PRD completo, necesito:
|
|
21
|
+
|
|
22
|
+
1. **Nombre del producto/feature**: ¿Cómo se llama?
|
|
23
|
+
2. **Problema a resolver**: ¿Qué problema resuelve? ¿Para quién?
|
|
24
|
+
3. **Contexto**: ¿Por qué ahora? ¿Qué existe actualmente?
|
|
25
|
+
4. **Usuarios objetivo**: ¿Quiénes son los usuarios?
|
|
26
|
+
5. **Métricas de éxito**: ¿Cómo sabremos si tuvo éxito?
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Proceso de Generación
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
34
|
+
│ PRD GENERATION FLOW │
|
|
35
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
36
|
+
|
|
37
|
+
┌──────────────────────────────────────────────────────────┐
|
|
38
|
+
│ 1. DISCOVERY │
|
|
39
|
+
│ • Entender el problema │
|
|
40
|
+
│ • Identificar usuarios │
|
|
41
|
+
│ • Analizar contexto │
|
|
42
|
+
└────────────────────────┬─────────────────────────────────┘
|
|
43
|
+
│
|
|
44
|
+
▼
|
|
45
|
+
┌──────────────────────────────────────────────────────────┐
|
|
46
|
+
│ 2. DEFINITION │
|
|
47
|
+
│ • Definir scope │
|
|
48
|
+
│ • Priorizar features │
|
|
49
|
+
│ • Establecer métricas │
|
|
50
|
+
└────────────────────────┬─────────────────────────────────┘
|
|
51
|
+
│
|
|
52
|
+
▼
|
|
53
|
+
┌──────────────────────────────────────────────────────────┐
|
|
54
|
+
│ 3. SPECIFICATION │
|
|
55
|
+
│ • User Stories │
|
|
56
|
+
│ • Acceptance Criteria │
|
|
57
|
+
│ • Mockups/Wireframes │
|
|
58
|
+
└────────────────────────┬─────────────────────────────────┘
|
|
59
|
+
│
|
|
60
|
+
▼
|
|
61
|
+
┌──────────────────────────────────────────────────────────┐
|
|
62
|
+
│ 4. VALIDATION │
|
|
63
|
+
│ • Review con stakeholders │
|
|
64
|
+
│ • Ajustes │
|
|
65
|
+
│ • Aprobación │
|
|
66
|
+
└──────────────────────────────────────────────────────────┘
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Template del PRD
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
# PRD: {Nombre del Producto/Feature}
|
|
75
|
+
|
|
76
|
+
## 1. Información General
|
|
77
|
+
|
|
78
|
+
| Campo | Valor |
|
|
79
|
+
|-------|-------|
|
|
80
|
+
| **Nombre** | {nombre} |
|
|
81
|
+
| **Versión PRD** | 1.0 |
|
|
82
|
+
| **Autor** | {autor} |
|
|
83
|
+
| **Fecha** | {fecha} |
|
|
84
|
+
| **Estado** | Draft / In Review / Approved |
|
|
85
|
+
|
|
86
|
+
## 2. Resumen Ejecutivo
|
|
87
|
+
|
|
88
|
+
### 2.1 Problema
|
|
89
|
+
{Descripción clara del problema que se resuelve}
|
|
90
|
+
|
|
91
|
+
### 2.2 Solución Propuesta
|
|
92
|
+
{Descripción de alto nivel de la solución}
|
|
93
|
+
|
|
94
|
+
### 2.3 Objetivo
|
|
95
|
+
{Qué queremos lograr}
|
|
96
|
+
|
|
97
|
+
## 3. Contexto
|
|
98
|
+
|
|
99
|
+
### 3.1 Background
|
|
100
|
+
{Por qué es importante, historia, contexto de negocio}
|
|
101
|
+
|
|
102
|
+
### 3.2 Estado Actual
|
|
103
|
+
{Cómo se hace actualmente, problemas del approach actual}
|
|
104
|
+
|
|
105
|
+
### 3.3 Oportunidad
|
|
106
|
+
{Qué oportunidad representa este producto/feature}
|
|
107
|
+
|
|
108
|
+
## 4. Usuarios
|
|
109
|
+
|
|
110
|
+
### 4.1 Usuarios Objetivo
|
|
111
|
+
|
|
112
|
+
#### Persona 1: {Nombre}
|
|
113
|
+
| Campo | Descripción |
|
|
114
|
+
|-------|-------------|
|
|
115
|
+
| **Rol** | {rol} |
|
|
116
|
+
| **Demografía** | {edad, ubicación, etc.} |
|
|
117
|
+
| **Necesidades** | {qué necesita} |
|
|
118
|
+
| **Pain Points** | {problemas actuales} |
|
|
119
|
+
| **Goals** | {qué quiere lograr} |
|
|
120
|
+
|
|
121
|
+
#### Persona 2: {Nombre}
|
|
122
|
+
{Repetir estructura}
|
|
123
|
+
|
|
124
|
+
### 4.2 Casos de Uso Principales
|
|
125
|
+
|
|
126
|
+
| ID | Nombre | Usuario | Descripción |
|
|
127
|
+
|----|--------|---------|-------------|
|
|
128
|
+
| UC-01 | {nombre} | {persona} | {descripción} |
|
|
129
|
+
| UC-02 | {nombre} | {persona} | {descripción} |
|
|
130
|
+
|
|
131
|
+
## 5. Scope
|
|
132
|
+
|
|
133
|
+
### 5.1 In Scope
|
|
134
|
+
- {Feature 1}
|
|
135
|
+
- {Feature 2}
|
|
136
|
+
- {Feature 3}
|
|
137
|
+
|
|
138
|
+
### 5.2 Out of Scope
|
|
139
|
+
- {Feature X} - {Razón}
|
|
140
|
+
- {Feature Y} - {Razón}
|
|
141
|
+
|
|
142
|
+
### 5.3 Fases
|
|
143
|
+
|
|
144
|
+
| Fase | Features | Timeline |
|
|
145
|
+
|------|----------|----------|
|
|
146
|
+
| MVP | {features} | {time} |
|
|
147
|
+
| V2 | {features} | {time} |
|
|
148
|
+
| V3+ | {features} | {time} |
|
|
149
|
+
|
|
150
|
+
## 6. Requisitos Funcionales
|
|
151
|
+
|
|
152
|
+
### 6.1 Epic: {Nombre del Epic}
|
|
153
|
+
|
|
154
|
+
#### US-001: {Nombre de la Historia}
|
|
155
|
+
**Como** {tipo de usuario}
|
|
156
|
+
**Quiero** {acción}
|
|
157
|
+
**Para** {beneficio}
|
|
158
|
+
|
|
159
|
+
**Criterios de Aceptación:**
|
|
160
|
+
- [ ] Dado {contexto}, cuando {acción}, entonces {resultado}
|
|
161
|
+
- [ ] Dado {contexto}, cuando {acción}, entonces {resultado}
|
|
162
|
+
|
|
163
|
+
**Prioridad:** Must Have / Should Have / Could Have
|
|
164
|
+
**Story Points:** {X}
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
#### US-002: {Nombre de la Historia}
|
|
169
|
+
{Repetir estructura}
|
|
170
|
+
|
|
171
|
+
## 7. Requisitos No Funcionales
|
|
172
|
+
|
|
173
|
+
### 7.1 Performance
|
|
174
|
+
- Tiempo de carga: < {X}ms
|
|
175
|
+
- Throughput: {X} requests/segundo
|
|
176
|
+
- Latencia P99: < {X}ms
|
|
177
|
+
|
|
178
|
+
### 7.2 Seguridad
|
|
179
|
+
- Autenticación: {método}
|
|
180
|
+
- Autorización: {método}
|
|
181
|
+
- Encriptación: {especificación}
|
|
182
|
+
|
|
183
|
+
### 7.3 Escalabilidad
|
|
184
|
+
- Usuarios concurrentes: {número}
|
|
185
|
+
- Datos: {volumen esperado}
|
|
186
|
+
|
|
187
|
+
### 7.4 Disponibilidad
|
|
188
|
+
- Uptime: {%}
|
|
189
|
+
- RPO: {tiempo}
|
|
190
|
+
- RTO: {tiempo}
|
|
191
|
+
|
|
192
|
+
## 8. Métricas de Éxito
|
|
193
|
+
|
|
194
|
+
### 8.1 OKRs
|
|
195
|
+
|
|
196
|
+
**Objective**: {objetivo}
|
|
197
|
+
|
|
198
|
+
| Key Result | Target | Actual | Status |
|
|
199
|
+
|------------|--------|--------|--------|
|
|
200
|
+
| {KR1} | {valor} | - | 🔴 |
|
|
201
|
+
| {KR2} | {valor} | - | 🔴 |
|
|
202
|
+
| {KR3} | {valor} | - | 🔴 |
|
|
203
|
+
|
|
204
|
+
### 8.2 KPIs para Tracking
|
|
205
|
+
|
|
206
|
+
| KPI | Baseline | Target | Método de Medición |
|
|
207
|
+
|-----|----------|--------|-------------------|
|
|
208
|
+
| {KPI1} | {valor} | {valor} | {cómo medir} |
|
|
209
|
+
| {KPI2} | {valor} | {valor} | {cómo medir} |
|
|
210
|
+
|
|
211
|
+
## 9. Dependencias & Riesgos
|
|
212
|
+
|
|
213
|
+
### 9.1 Dependencias
|
|
214
|
+
|
|
215
|
+
| Dependencia | Tipo | Dueño | Status |
|
|
216
|
+
|-------------|------|-------|--------|
|
|
217
|
+
| {Dep1} | Técnica/Negocio/Externa | {nombre} | {status} |
|
|
218
|
+
|
|
219
|
+
### 9.2 Riesgos
|
|
220
|
+
|
|
221
|
+
| Riesgo | Probabilidad | Impacto | Mitigación |
|
|
222
|
+
|--------|--------------|---------|------------|
|
|
223
|
+
| {Riesgo1} | Alta/Media/Baja | Alto/Medio/Bajo | {acción} |
|
|
224
|
+
|
|
225
|
+
### 9.3 Asunciones
|
|
226
|
+
- {Asunción 1}
|
|
227
|
+
- {Asunción 2}
|
|
228
|
+
|
|
229
|
+
## 10. Timeline
|
|
230
|
+
|
|
231
|
+
### 10.1 Milestones
|
|
232
|
+
|
|
233
|
+
| Milestone | Fecha | Entregables |
|
|
234
|
+
|-----------|-------|-------------|
|
|
235
|
+
| Design Complete | {fecha} | Wireframes, Tech Design |
|
|
236
|
+
| Development Complete | {fecha} | Feature code, unit tests |
|
|
237
|
+
| QA Complete | {fecha} | Test report, bugs fixed |
|
|
238
|
+
| Launch | {fecha} | Production deployment |
|
|
239
|
+
|
|
240
|
+
### 10.2 Gantt (opcional)
|
|
241
|
+
|
|
242
|
+
```mermaid
|
|
243
|
+
gantt
|
|
244
|
+
title Project Timeline
|
|
245
|
+
dateFormat YYYY-MM-DD
|
|
246
|
+
section Design
|
|
247
|
+
Wireframes :a1, 2024-01-01, 5d
|
|
248
|
+
Tech Design :a2, after a1, 3d
|
|
249
|
+
section Development
|
|
250
|
+
Backend :b1, after a2, 10d
|
|
251
|
+
Frontend :b2, after a2, 10d
|
|
252
|
+
section Testing
|
|
253
|
+
QA :c1, after b1 b2, 5d
|
|
254
|
+
section Launch
|
|
255
|
+
Deployment :d1, after c1, 1d
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## 11. Apéndices
|
|
259
|
+
|
|
260
|
+
### A. Mockups/Wireframes
|
|
261
|
+
{Incluir imágenes o links}
|
|
262
|
+
|
|
263
|
+
### B. Tech Design Reference
|
|
264
|
+
{Link al documento de arquitectura}
|
|
265
|
+
|
|
266
|
+
### C. Research & Data
|
|
267
|
+
{Links a estudios, análisis, etc.}
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Historial de Cambios
|
|
272
|
+
|
|
273
|
+
| Versión | Fecha | Autor | Cambios |
|
|
274
|
+
|---------|-------|-------|---------|
|
|
275
|
+
| 1.0 | {fecha} | {autor} | Initial version |
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Preguntas Guía
|
|
281
|
+
|
|
282
|
+
Al generar un PRD, hacer estas preguntas:
|
|
283
|
+
|
|
284
|
+
### Discovery
|
|
285
|
+
1. ¿Cuál es el problema principal que resolvemos?
|
|
286
|
+
2. ¿Quién tiene este problema? ¿Qué tan frecuente es?
|
|
287
|
+
3. ¿Cómo lo resuelven actualmente?
|
|
288
|
+
4. ¿Cuánto les cuesta el problema (tiempo, dinero, frustración)?
|
|
289
|
+
|
|
290
|
+
### Definition
|
|
291
|
+
5. ¿Cuál es nuestra solución en una oración?
|
|
292
|
+
6. ¿Qué hace nuestra solución que otras no hacen?
|
|
293
|
+
7. ¿Cuál es el alcance mínimo para resolver el problema (MVP)?
|
|
294
|
+
8. ¿Qué features pueden esperar a V2?
|
|
295
|
+
|
|
296
|
+
### Metrics
|
|
297
|
+
9. ¿Cómo sabremos si tiene éxito?
|
|
298
|
+
10. ¿Qué métricas moverá este producto?
|
|
299
|
+
11. ¿Cuánto movimiento es "suficiente" para declarar éxito?
|
|
300
|
+
|
|
301
|
+
### Risk
|
|
302
|
+
12. ¿Qué podría salir mal?
|
|
303
|
+
13. ¿Qué dependemos de otros para lograr esto?
|
|
304
|
+
14. ¿Qué asumimos que es verdad?
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Checklist de PRD Completo
|
|
309
|
+
|
|
310
|
+
- [ ] Problema claramente definido
|
|
311
|
+
- [ ] Usuarios identificados con personas
|
|
312
|
+
- [ ] Scope definido (in/out)
|
|
313
|
+
- [ ] User Stories con acceptance criteria
|
|
314
|
+
- [ ] Requisitos no funcionales
|
|
315
|
+
- [ ] Métricas de éxito (OKRs/KPIs)
|
|
316
|
+
- [ ] Dependencias listadas
|
|
317
|
+
- [ ] Riesgos identificados con mitigaciones
|
|
318
|
+
- [ ] Timeline con milestones
|
|
319
|
+
- [ ] Revisado por stakeholders
|
|
320
|
+
- [ ] Aprobado para desarrollo
|