@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,320 @@
|
|
|
1
|
+
# Plan Template (SPEC DRIVEN Development)
|
|
2
|
+
# LMAgent Framework v3.0 - SPEC+LM Methodology
|
|
3
|
+
#
|
|
4
|
+
# This template creates an implementation plan from a spec.yaml.
|
|
5
|
+
# It defines HOW to build what the spec defined (WHAT).
|
|
6
|
+
# Use with `/arch` persona.
|
|
7
|
+
#
|
|
8
|
+
# Usage:
|
|
9
|
+
# 1. Requires: specs/[feature-name]/spec.yaml (approved)
|
|
10
|
+
# 2. Copy to: specs/[feature-name]/plan.yaml
|
|
11
|
+
# 3. Get approval before proceeding to tasks.yaml
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
metadata:
|
|
15
|
+
title: "Implementation Plan: [Feature Name]"
|
|
16
|
+
spec_reference: "specs/[feature-name]/spec.yaml"
|
|
17
|
+
spec_version: "1.0"
|
|
18
|
+
plan_version: "1.0"
|
|
19
|
+
author: "[Architect Name or Agent ID]"
|
|
20
|
+
created: "[YYYY-MM-DD]"
|
|
21
|
+
status: draft # draft | review | approved
|
|
22
|
+
|
|
23
|
+
# ============================================
|
|
24
|
+
# ARCHITECTURE DECISIONS
|
|
25
|
+
# ============================================
|
|
26
|
+
|
|
27
|
+
architecture:
|
|
28
|
+
# High-level approach
|
|
29
|
+
approach: "[Describe the technical approach]"
|
|
30
|
+
|
|
31
|
+
# Architecture style
|
|
32
|
+
style: microservices # monolith | microservices | serverless | hybrid
|
|
33
|
+
|
|
34
|
+
# Key patterns used
|
|
35
|
+
patterns:
|
|
36
|
+
- name: "Repository Pattern"
|
|
37
|
+
rationale: "[Why using this pattern]"
|
|
38
|
+
- name: "Event-Driven"
|
|
39
|
+
rationale: "[Why using this pattern]"
|
|
40
|
+
|
|
41
|
+
# ADRs (Architecture Decision Records)
|
|
42
|
+
decisions:
|
|
43
|
+
- id: "ADR-001"
|
|
44
|
+
title: "[Decision title]"
|
|
45
|
+
status: proposed # proposed | accepted | deprecated
|
|
46
|
+
context: "[Why this decision is needed]"
|
|
47
|
+
decision: "[What was decided]"
|
|
48
|
+
consequences:
|
|
49
|
+
positive:
|
|
50
|
+
- "[Benefit 1]"
|
|
51
|
+
negative:
|
|
52
|
+
- "[Trade-off 1]"
|
|
53
|
+
risks:
|
|
54
|
+
- "[Risk to monitor]"
|
|
55
|
+
|
|
56
|
+
# ============================================
|
|
57
|
+
# SYSTEM DESIGN
|
|
58
|
+
# ============================================
|
|
59
|
+
|
|
60
|
+
components:
|
|
61
|
+
- name: "[Component Name]"
|
|
62
|
+
type: service # service | database | queue | cache | external
|
|
63
|
+
responsibility: "[What this component does]"
|
|
64
|
+
technology: "[Tech stack]"
|
|
65
|
+
owner_persona: "/dev" # Which LMAgent persona owns this
|
|
66
|
+
|
|
67
|
+
- name: "[Database Name]"
|
|
68
|
+
type: database
|
|
69
|
+
responsibility: "[Data it stores]"
|
|
70
|
+
technology: "PostgreSQL 16"
|
|
71
|
+
schemas:
|
|
72
|
+
- name: "[table_name]"
|
|
73
|
+
description: "[Purpose]"
|
|
74
|
+
|
|
75
|
+
# Data flow
|
|
76
|
+
data_flow:
|
|
77
|
+
- from: "[Component A]"
|
|
78
|
+
to: "[Component B]"
|
|
79
|
+
method: REST # REST | gRPC | event | queue
|
|
80
|
+
data: "[What data flows]"
|
|
81
|
+
|
|
82
|
+
# Diagram (Mermaid format for rendering)
|
|
83
|
+
diagram: |
|
|
84
|
+
graph TB
|
|
85
|
+
subgraph "Frontend"
|
|
86
|
+
A[Web App]
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
subgraph "Backend"
|
|
90
|
+
B[API Service]
|
|
91
|
+
C[Worker]
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
subgraph "Data"
|
|
95
|
+
D[(PostgreSQL)]
|
|
96
|
+
E[(Redis)]
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
A -->|REST| B
|
|
100
|
+
B -->|Queue| C
|
|
101
|
+
B --> D
|
|
102
|
+
B --> E
|
|
103
|
+
C --> D
|
|
104
|
+
|
|
105
|
+
# ============================================
|
|
106
|
+
# IMPLEMENTATION PHASES
|
|
107
|
+
# ============================================
|
|
108
|
+
|
|
109
|
+
phases:
|
|
110
|
+
- phase: 1
|
|
111
|
+
name: "Foundation & Setup"
|
|
112
|
+
description: "[What this phase establishes]"
|
|
113
|
+
estimated_time: "4h"
|
|
114
|
+
personas: ["/dev"]
|
|
115
|
+
deliverables:
|
|
116
|
+
- "Project structure created"
|
|
117
|
+
- "Database schema migrated"
|
|
118
|
+
- "Base configurations set"
|
|
119
|
+
validation:
|
|
120
|
+
- "All services start without errors"
|
|
121
|
+
- "Database migrations run successfully"
|
|
122
|
+
blocks: [2, 3] # Which phases this blocks
|
|
123
|
+
|
|
124
|
+
- phase: 2
|
|
125
|
+
name: "Core Logic"
|
|
126
|
+
description: "[Main business logic implementation]"
|
|
127
|
+
estimated_time: "8h"
|
|
128
|
+
personas: ["/dev"]
|
|
129
|
+
deliverables:
|
|
130
|
+
- "Service layer implemented"
|
|
131
|
+
- "Unit tests passing (>80%)"
|
|
132
|
+
validation:
|
|
133
|
+
- "All unit tests pass"
|
|
134
|
+
- "Coverage >80%"
|
|
135
|
+
depends_on: [1]
|
|
136
|
+
blocks: [3, 4]
|
|
137
|
+
|
|
138
|
+
- phase: 3
|
|
139
|
+
name: "API Layer"
|
|
140
|
+
description: "[REST/GraphQL endpoints]"
|
|
141
|
+
estimated_time: "4h"
|
|
142
|
+
personas: ["/dev"]
|
|
143
|
+
deliverables:
|
|
144
|
+
- "Endpoints implemented"
|
|
145
|
+
- "OpenAPI docs generated"
|
|
146
|
+
- "Integration tests passing"
|
|
147
|
+
validation:
|
|
148
|
+
- "All endpoints respond correctly"
|
|
149
|
+
- "Swagger/OpenAPI available"
|
|
150
|
+
depends_on: [2]
|
|
151
|
+
|
|
152
|
+
- phase: 4
|
|
153
|
+
name: "Integration & Polish"
|
|
154
|
+
description: "[Connect everything, polish]"
|
|
155
|
+
estimated_time: "4h"
|
|
156
|
+
personas: ["/dev", "/qa"]
|
|
157
|
+
deliverables:
|
|
158
|
+
- "E2E tests passing"
|
|
159
|
+
- "Performance benchmarks met"
|
|
160
|
+
validation:
|
|
161
|
+
- "All acceptance criteria met"
|
|
162
|
+
- "No critical bugs"
|
|
163
|
+
depends_on: [2, 3]
|
|
164
|
+
|
|
165
|
+
# ============================================
|
|
166
|
+
# DEPENDENCIES MAP
|
|
167
|
+
# ============================================
|
|
168
|
+
|
|
169
|
+
dependencies:
|
|
170
|
+
# User story execution order
|
|
171
|
+
user_story_order:
|
|
172
|
+
- story_id: "US-001"
|
|
173
|
+
depends_on: []
|
|
174
|
+
blocks: ["US-002"]
|
|
175
|
+
- story_id: "US-002"
|
|
176
|
+
depends_on: ["US-001"]
|
|
177
|
+
blocks: []
|
|
178
|
+
|
|
179
|
+
# Phase dependencies (critical path)
|
|
180
|
+
critical_path:
|
|
181
|
+
- phase: 1
|
|
182
|
+
slack: 0
|
|
183
|
+
- phase: 2
|
|
184
|
+
slack: 0
|
|
185
|
+
- phase: 3
|
|
186
|
+
slack: "2h"
|
|
187
|
+
|
|
188
|
+
# ============================================
|
|
189
|
+
# PARALLEL EXECUTION
|
|
190
|
+
# ============================================
|
|
191
|
+
|
|
192
|
+
parallel_execution:
|
|
193
|
+
enabled: true
|
|
194
|
+
groups:
|
|
195
|
+
- phase: 3
|
|
196
|
+
parallel_tasks:
|
|
197
|
+
group_a:
|
|
198
|
+
tasks: ["API endpoints", "Auth middleware"]
|
|
199
|
+
rationale: "Independent concerns"
|
|
200
|
+
group_b:
|
|
201
|
+
tasks: ["Tests", "Docs"]
|
|
202
|
+
rationale: "Can run alongside implementation"
|
|
203
|
+
|
|
204
|
+
- phase: 4
|
|
205
|
+
parallel_tasks:
|
|
206
|
+
group_a:
|
|
207
|
+
tasks: ["E2E tests", "Performance tests"]
|
|
208
|
+
rationale: "Different test types"
|
|
209
|
+
|
|
210
|
+
# ============================================
|
|
211
|
+
# SECURITY CONSIDERATIONS
|
|
212
|
+
# ============================================
|
|
213
|
+
|
|
214
|
+
security:
|
|
215
|
+
authentication:
|
|
216
|
+
method: "[JWT | Session | OAuth2]"
|
|
217
|
+
provider: "[Service/library]"
|
|
218
|
+
|
|
219
|
+
authorization:
|
|
220
|
+
model: "[RBAC | ABAC | ACL]"
|
|
221
|
+
roles: ["admin", "user", "guest"]
|
|
222
|
+
|
|
223
|
+
data_protection:
|
|
224
|
+
encryption_at_rest: true
|
|
225
|
+
encryption_in_transit: true
|
|
226
|
+
pii_handling: "[How PII is protected]"
|
|
227
|
+
|
|
228
|
+
vulnerabilities_addressed:
|
|
229
|
+
- "[OWASP Top 10 consideration 1]"
|
|
230
|
+
- "[OWASP Top 10 consideration 2]"
|
|
231
|
+
|
|
232
|
+
# ============================================
|
|
233
|
+
# OBSERVABILITY
|
|
234
|
+
# ============================================
|
|
235
|
+
|
|
236
|
+
observability:
|
|
237
|
+
logging:
|
|
238
|
+
level: INFO
|
|
239
|
+
format: json
|
|
240
|
+
sensitive_fields_masked: ["password", "token", "ssn"]
|
|
241
|
+
|
|
242
|
+
metrics:
|
|
243
|
+
- name: "request_duration"
|
|
244
|
+
type: histogram
|
|
245
|
+
labels: ["endpoint", "status"]
|
|
246
|
+
- name: "active_users"
|
|
247
|
+
type: gauge
|
|
248
|
+
|
|
249
|
+
alerts:
|
|
250
|
+
- name: "High Error Rate"
|
|
251
|
+
condition: "error_rate > 5%"
|
|
252
|
+
severity: critical
|
|
253
|
+
notify: ["#alerts-channel"]
|
|
254
|
+
|
|
255
|
+
# ============================================
|
|
256
|
+
# ROLLBACK PLAN
|
|
257
|
+
# ============================================
|
|
258
|
+
|
|
259
|
+
rollback:
|
|
260
|
+
triggers:
|
|
261
|
+
- "Error rate > 10%"
|
|
262
|
+
- "P95 latency > 2s"
|
|
263
|
+
- "Data corruption detected"
|
|
264
|
+
- "Critical security issue"
|
|
265
|
+
|
|
266
|
+
steps:
|
|
267
|
+
- step: 1
|
|
268
|
+
action: "Halt deployment"
|
|
269
|
+
command: "[deployment pause command]"
|
|
270
|
+
- step: 2
|
|
271
|
+
action: "Revert to previous version"
|
|
272
|
+
command: "[rollback command]"
|
|
273
|
+
- step: 3
|
|
274
|
+
action: "Verify rollback"
|
|
275
|
+
validation: "[Health check]"
|
|
276
|
+
- step: 4
|
|
277
|
+
action: "Notify stakeholders"
|
|
278
|
+
template: "[Communication template]"
|
|
279
|
+
|
|
280
|
+
data_rollback:
|
|
281
|
+
strategy: "[backup restore | reverse migration | manual]"
|
|
282
|
+
max_data_loss: "[RPO: X minutes]"
|
|
283
|
+
|
|
284
|
+
# ============================================
|
|
285
|
+
# RESOURCE ESTIMATES
|
|
286
|
+
# ============================================
|
|
287
|
+
|
|
288
|
+
resources:
|
|
289
|
+
team:
|
|
290
|
+
- role: "Backend Engineer"
|
|
291
|
+
allocation: "100%"
|
|
292
|
+
duration: "[X days]"
|
|
293
|
+
- role: "QA Engineer"
|
|
294
|
+
allocation: "50%"
|
|
295
|
+
duration: "[X days]"
|
|
296
|
+
|
|
297
|
+
infrastructure:
|
|
298
|
+
- resource: "[Cloud resource]"
|
|
299
|
+
estimated_cost: "$X/month"
|
|
300
|
+
|
|
301
|
+
total_estimated_effort: "[X person-days]"
|
|
302
|
+
total_estimated_cost: "$[X]"
|
|
303
|
+
|
|
304
|
+
# ============================================
|
|
305
|
+
# VALIDATION CHECKLIST
|
|
306
|
+
# ============================================
|
|
307
|
+
|
|
308
|
+
validation:
|
|
309
|
+
pre_implementation:
|
|
310
|
+
- "[ ] Spec approved"
|
|
311
|
+
- "[ ] Architecture reviewed"
|
|
312
|
+
- "[ ] Security reviewed"
|
|
313
|
+
- "[ ] Resources allocated"
|
|
314
|
+
|
|
315
|
+
post_implementation:
|
|
316
|
+
- "[ ] All acceptance criteria met"
|
|
317
|
+
- "[ ] Tests passing (>80% coverage)"
|
|
318
|
+
- "[ ] Documentation updated"
|
|
319
|
+
- "[ ] Security scan passed"
|
|
320
|
+
- "[ ] Performance benchmarks met"
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Session State Template
|
|
2
|
+
# LMAgent Framework v3.0 - Persistent Context System
|
|
3
|
+
#
|
|
4
|
+
# Este archivo mantiene el estado del proyecto para que el agente NUNCA
|
|
5
|
+
# pierda el contexto, incluso en proyectos grandes con múltiples sesiones.
|
|
6
|
+
#
|
|
7
|
+
# UBICACIÓN: .lmagent/session.yaml (en el proyecto del usuario)
|
|
8
|
+
#
|
|
9
|
+
# 🤖 AGENTE: Lee este archivo AL INICIO de cada sesión de trabajo.
|
|
10
|
+
# Actualízalo DESPUÉS de cada milestone completado.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
14
|
+
# ESTADO DEL PROYECTO
|
|
15
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
16
|
+
|
|
17
|
+
project:
|
|
18
|
+
name: "[nombre del proyecto]"
|
|
19
|
+
created_at: "[YYYY-MM-DD]"
|
|
20
|
+
last_updated: "[YYYY-MM-DD HH:MM]"
|
|
21
|
+
current_phase: specify # specify | plan | tasks | implement | verify | done
|
|
22
|
+
|
|
23
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
24
|
+
# PROGRESO DEL SPEC WORKFLOW
|
|
25
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
26
|
+
|
|
27
|
+
spec_workflow:
|
|
28
|
+
phase_1_specify:
|
|
29
|
+
status: pending # pending | in_progress | review | approved | completed
|
|
30
|
+
artifact: null # specs/[project]/spec.yaml
|
|
31
|
+
approved_at: null
|
|
32
|
+
approved_by: null
|
|
33
|
+
|
|
34
|
+
phase_2_plan:
|
|
35
|
+
status: pending
|
|
36
|
+
artifact: null # specs/[project]/plan.yaml
|
|
37
|
+
approved_at: null
|
|
38
|
+
approved_by: null
|
|
39
|
+
|
|
40
|
+
phase_3_tasks:
|
|
41
|
+
status: pending
|
|
42
|
+
artifact: null # specs/[project]/tasks.yaml
|
|
43
|
+
|
|
44
|
+
phase_4_implement:
|
|
45
|
+
status: pending
|
|
46
|
+
current_task_id: null # T001, T002, etc.
|
|
47
|
+
completed_tasks: []
|
|
48
|
+
blocked_tasks: []
|
|
49
|
+
|
|
50
|
+
phase_5_verify:
|
|
51
|
+
status: pending
|
|
52
|
+
tests_passing: null
|
|
53
|
+
coverage: null
|
|
54
|
+
issues_found: []
|
|
55
|
+
|
|
56
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
57
|
+
# CONTEXTO ACTUAL
|
|
58
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
59
|
+
|
|
60
|
+
current_context:
|
|
61
|
+
# ¿Qué estaba haciendo el agente?
|
|
62
|
+
last_action: "[Descripción de la última acción]"
|
|
63
|
+
|
|
64
|
+
# ¿En qué archivo estaba trabajando?
|
|
65
|
+
last_file: null
|
|
66
|
+
|
|
67
|
+
# ¿Qué persona estaba activa?
|
|
68
|
+
active_persona: null # /pm, /arch, /dev, /qa, etc.
|
|
69
|
+
|
|
70
|
+
# ¿Hay algo pendiente de aprobación del usuario?
|
|
71
|
+
awaiting_user_input: false
|
|
72
|
+
pending_question: null
|
|
73
|
+
|
|
74
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
75
|
+
# HISTORIAL DE SESIONES
|
|
76
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
77
|
+
|
|
78
|
+
sessions:
|
|
79
|
+
- session_id: 1
|
|
80
|
+
started_at: "[timestamp]"
|
|
81
|
+
ended_at: "[timestamp]"
|
|
82
|
+
summary: "[Qué se logró en esta sesión]"
|
|
83
|
+
next_steps: "[Qué falta hacer]"
|
|
84
|
+
|
|
85
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
86
|
+
# DECISIONES IMPORTANTES
|
|
87
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
88
|
+
|
|
89
|
+
decisions:
|
|
90
|
+
- id: "D001"
|
|
91
|
+
date: "[YYYY-MM-DD]"
|
|
92
|
+
decision: "[Qué se decidió]"
|
|
93
|
+
rationale: "[Por qué]"
|
|
94
|
+
# Esto ayuda al agente a recordar decisiones pasadas
|
|
95
|
+
|
|
96
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
97
|
+
# BLOQUEOS Y ISSUES
|
|
98
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
99
|
+
|
|
100
|
+
blockers:
|
|
101
|
+
- id: "B001"
|
|
102
|
+
description: "[Descripción del bloqueo]"
|
|
103
|
+
status: open # open | resolved
|
|
104
|
+
created_at: null
|
|
105
|
+
resolved_at: null
|
|
106
|
+
|
|
107
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
108
|
+
# INSTRUCCIONES PARA EL AGENTE
|
|
109
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
110
|
+
#
|
|
111
|
+
# 🤖 AGENTE: AL INICIO DE CADA SESIÓN:
|
|
112
|
+
#
|
|
113
|
+
# 1. Lee este archivo completo
|
|
114
|
+
# 2. Identifica current_phase y current_context
|
|
115
|
+
# 3. Resume desde donde quedaste
|
|
116
|
+
# 4. Si awaiting_user_input es true, pregunta al usuario primero
|
|
117
|
+
#
|
|
118
|
+
# 🤖 AGENTE: AL FINALIZAR TRABAJO O CAMBIAR DE TAREA:
|
|
119
|
+
#
|
|
120
|
+
# 1. Actualiza current_context con tu última acción
|
|
121
|
+
# 2. Actualiza el status de la fase actual
|
|
122
|
+
# 3. Si completaste una task, agrégala a completed_tasks
|
|
123
|
+
# 4. Guarda este archivo
|
|
124
|
+
#
|
|
125
|
+
# ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Spec Template (SPEC DRIVEN Development)
|
|
2
|
+
# LMAgent Framework v3.0 - SPEC+LM Methodology
|
|
3
|
+
#
|
|
4
|
+
# This template creates a structured specification that serves as the
|
|
5
|
+
# source of truth for feature development. Use with `/pm` persona.
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# 1. Copy to: specs/[feature-name]/spec.yaml
|
|
9
|
+
# 2. Fill in all [bracketed] sections
|
|
10
|
+
# 3. Get approval before proceeding to plan.yaml
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
metadata:
|
|
14
|
+
title: "[Feature Name]"
|
|
15
|
+
version: "1.0"
|
|
16
|
+
author: "[PM Name or Agent ID]"
|
|
17
|
+
created: "[YYYY-MM-DD]"
|
|
18
|
+
updated: "[YYYY-MM-DD]"
|
|
19
|
+
status: draft # draft | review | approved | superseded
|
|
20
|
+
tags:
|
|
21
|
+
- "[category]"
|
|
22
|
+
- "[priority]"
|
|
23
|
+
|
|
24
|
+
# ============================================
|
|
25
|
+
# PROBLEM DEFINITION
|
|
26
|
+
# ============================================
|
|
27
|
+
|
|
28
|
+
problem_statement:
|
|
29
|
+
# One clear sentence describing the problem
|
|
30
|
+
description: "[What problem are we solving?]"
|
|
31
|
+
|
|
32
|
+
# Who experiences this problem?
|
|
33
|
+
affected_users:
|
|
34
|
+
- type: "[User type 1]"
|
|
35
|
+
pain_level: high # high | medium | low
|
|
36
|
+
- type: "[User type 2]"
|
|
37
|
+
pain_level: medium
|
|
38
|
+
|
|
39
|
+
# How significant is this problem?
|
|
40
|
+
impact:
|
|
41
|
+
business: "[Revenue impact, efficiency, etc.]"
|
|
42
|
+
users: "[User experience impact]"
|
|
43
|
+
technical: "[Technical debt, scalability, etc.]"
|
|
44
|
+
|
|
45
|
+
# Evidence that this problem exists
|
|
46
|
+
evidence:
|
|
47
|
+
- type: data
|
|
48
|
+
source: "[Analytics, metrics]"
|
|
49
|
+
finding: "[What the data shows]"
|
|
50
|
+
- type: feedback
|
|
51
|
+
source: "[Support tickets, interviews]"
|
|
52
|
+
finding: "[What users say]"
|
|
53
|
+
- type: observation
|
|
54
|
+
source: "[Competitive analysis, market research]"
|
|
55
|
+
finding: "[External validation]"
|
|
56
|
+
|
|
57
|
+
# ============================================
|
|
58
|
+
# SOLUTION DEFINITION
|
|
59
|
+
# ============================================
|
|
60
|
+
|
|
61
|
+
solution:
|
|
62
|
+
overview: "[High-level description of the proposed solution]"
|
|
63
|
+
|
|
64
|
+
approach: "[Technical/product approach - 2-3 sentences]"
|
|
65
|
+
|
|
66
|
+
# What IS included
|
|
67
|
+
in_scope:
|
|
68
|
+
- feature: "[Feature 1]"
|
|
69
|
+
priority: must_have # must_have | should_have | could_have
|
|
70
|
+
- feature: "[Feature 2]"
|
|
71
|
+
priority: must_have
|
|
72
|
+
- feature: "[Feature 3]"
|
|
73
|
+
priority: should_have
|
|
74
|
+
|
|
75
|
+
# What is NOT included (explicit anti-scope)
|
|
76
|
+
out_of_scope:
|
|
77
|
+
- "[Anti-feature 1 - Why excluded]"
|
|
78
|
+
- "[Anti-feature 2 - Future consideration]"
|
|
79
|
+
|
|
80
|
+
# Key decisions already made
|
|
81
|
+
decisions:
|
|
82
|
+
- decision: "[Decision 1]"
|
|
83
|
+
rationale: "[Why this choice]"
|
|
84
|
+
alternatives_considered:
|
|
85
|
+
- "[Alternative A - rejected because...]"
|
|
86
|
+
- "[Alternative B - rejected because...]"
|
|
87
|
+
|
|
88
|
+
# ============================================
|
|
89
|
+
# USER STORIES
|
|
90
|
+
# ============================================
|
|
91
|
+
|
|
92
|
+
user_stories:
|
|
93
|
+
- id: "US-001"
|
|
94
|
+
title: "[Short descriptive title]"
|
|
95
|
+
as_a: "[user type]"
|
|
96
|
+
i_want: "[action/capability]"
|
|
97
|
+
so_that: "[benefit/value]"
|
|
98
|
+
priority: 1 # 1 = highest
|
|
99
|
+
story_points: 3 # 1, 2, 3, 5, 8, 13
|
|
100
|
+
acceptance_criteria:
|
|
101
|
+
- "Given [context], when [action], then [result]"
|
|
102
|
+
- "Given [context], when [action], then [result]"
|
|
103
|
+
notes: "[Additional context]"
|
|
104
|
+
|
|
105
|
+
- id: "US-002"
|
|
106
|
+
title: "[Short descriptive title]"
|
|
107
|
+
as_a: "[user type]"
|
|
108
|
+
i_want: "[action/capability]"
|
|
109
|
+
so_that: "[benefit/value]"
|
|
110
|
+
priority: 2
|
|
111
|
+
story_points: 5
|
|
112
|
+
acceptance_criteria:
|
|
113
|
+
- "Given [context], when [action], then [result]"
|
|
114
|
+
dependencies:
|
|
115
|
+
- "US-001"
|
|
116
|
+
|
|
117
|
+
# ============================================
|
|
118
|
+
# SUCCESS METRICS
|
|
119
|
+
# ============================================
|
|
120
|
+
|
|
121
|
+
success_metrics:
|
|
122
|
+
# Primary success metric (North Star)
|
|
123
|
+
primary:
|
|
124
|
+
metric: "[KPI name]"
|
|
125
|
+
baseline: "[current value]"
|
|
126
|
+
target: "[goal value]"
|
|
127
|
+
timeline: "[when to measure]"
|
|
128
|
+
measurement_method: "[How to measure]"
|
|
129
|
+
|
|
130
|
+
# Secondary metrics
|
|
131
|
+
secondary:
|
|
132
|
+
- metric: "[KPI name]"
|
|
133
|
+
baseline: "[current value]"
|
|
134
|
+
target: "[goal value]"
|
|
135
|
+
timeline: "[when]"
|
|
136
|
+
- metric: "[KPI name]"
|
|
137
|
+
baseline: "[current value]"
|
|
138
|
+
target: "[goal value]"
|
|
139
|
+
timeline: "[when]"
|
|
140
|
+
|
|
141
|
+
# Guardrail metrics (should NOT get worse)
|
|
142
|
+
guardrails:
|
|
143
|
+
- metric: "[Metric to protect]"
|
|
144
|
+
current: "[value]"
|
|
145
|
+
acceptable_variance: "[+/- X%]"
|
|
146
|
+
|
|
147
|
+
# ============================================
|
|
148
|
+
# CONSTRAINTS & DEPENDENCIES
|
|
149
|
+
# ============================================
|
|
150
|
+
|
|
151
|
+
constraints:
|
|
152
|
+
technical:
|
|
153
|
+
- "[Must use existing auth system]"
|
|
154
|
+
- "[Must work on PostgreSQL 16+]"
|
|
155
|
+
business:
|
|
156
|
+
- "[Must launch before Q2]"
|
|
157
|
+
- "[Budget: $X]"
|
|
158
|
+
compliance:
|
|
159
|
+
- "[GDPR requirements]"
|
|
160
|
+
- "[Security standards]"
|
|
161
|
+
resources:
|
|
162
|
+
- "[Available team capacity]"
|
|
163
|
+
- "[External dependencies]"
|
|
164
|
+
|
|
165
|
+
dependencies:
|
|
166
|
+
internal:
|
|
167
|
+
- system: "[System name]"
|
|
168
|
+
type: blocking # blocking | optional
|
|
169
|
+
status: available # available | in_progress | blocked
|
|
170
|
+
external:
|
|
171
|
+
- service: "[Third-party service]"
|
|
172
|
+
type: integration
|
|
173
|
+
owner: "[Team/vendor]"
|
|
174
|
+
|
|
175
|
+
# ============================================
|
|
176
|
+
# RISKS
|
|
177
|
+
# ============================================
|
|
178
|
+
|
|
179
|
+
risks:
|
|
180
|
+
- id: "R-001"
|
|
181
|
+
description: "[Risk description]"
|
|
182
|
+
probability: high # high | medium | low
|
|
183
|
+
impact: high # high | medium | low
|
|
184
|
+
mitigation: "[How to mitigate]"
|
|
185
|
+
owner: "[Who owns this risk]"
|
|
186
|
+
|
|
187
|
+
- id: "R-002"
|
|
188
|
+
description: "[Risk description]"
|
|
189
|
+
probability: medium
|
|
190
|
+
impact: medium
|
|
191
|
+
mitigation: "[How to mitigate]"
|
|
192
|
+
contingency: "[Plan B if risk materializes]"
|
|
193
|
+
|
|
194
|
+
# ============================================
|
|
195
|
+
# TIMELINE
|
|
196
|
+
# ============================================
|
|
197
|
+
|
|
198
|
+
timeline:
|
|
199
|
+
estimated_total: "[X days/weeks]"
|
|
200
|
+
phases:
|
|
201
|
+
- phase: "Planning"
|
|
202
|
+
duration: "[X days]"
|
|
203
|
+
milestone: "Plan approved"
|
|
204
|
+
- phase: "Implementation"
|
|
205
|
+
duration: "[X days]"
|
|
206
|
+
milestone: "Feature complete"
|
|
207
|
+
- phase: "Testing"
|
|
208
|
+
duration: "[X days]"
|
|
209
|
+
milestone: "QA sign-off"
|
|
210
|
+
- phase: "Rollout"
|
|
211
|
+
duration: "[X days]"
|
|
212
|
+
milestone: "100% deployed"
|
|
213
|
+
|
|
214
|
+
# ============================================
|
|
215
|
+
# APPROVALS
|
|
216
|
+
# ============================================
|
|
217
|
+
|
|
218
|
+
approvals:
|
|
219
|
+
required:
|
|
220
|
+
- role: "[Product Manager]"
|
|
221
|
+
status: pending # pending | approved | rejected
|
|
222
|
+
date: null
|
|
223
|
+
- role: "[Tech Lead]"
|
|
224
|
+
status: pending
|
|
225
|
+
date: null
|
|
226
|
+
optional:
|
|
227
|
+
- role: "[Security]"
|
|
228
|
+
status: pending
|
|
229
|
+
condition: "If auth changes"
|