@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.
Files changed (155) hide show
  1. package/.editorconfig +18 -0
  2. package/AGENTS.md +169 -0
  3. package/CLAUDE.md +122 -0
  4. package/CONTRIBUTING.md +90 -0
  5. package/LICENSE +21 -0
  6. package/README.md +195 -0
  7. package/config/commands.yaml +194 -0
  8. package/config/levels.yaml +135 -0
  9. package/config/models.yaml +192 -0
  10. package/config/settings.yaml +405 -0
  11. package/config/tools-extended.yaml +534 -0
  12. package/config/tools.yaml +437 -0
  13. package/docs/assets/logo.png +0 -0
  14. package/docs/commands.md +132 -0
  15. package/docs/customization-guide.md +445 -0
  16. package/docs/getting-started.md +154 -0
  17. package/docs/how-to-start.md +242 -0
  18. package/docs/navigation-index.md +227 -0
  19. package/docs/usage-guide.md +113 -0
  20. package/install.js +1044 -0
  21. package/package.json +35 -0
  22. package/pyproject.toml +182 -0
  23. package/rules/_bootstrap.md +138 -0
  24. package/rules/agents-ia.md +607 -0
  25. package/rules/api-design.md +337 -0
  26. package/rules/automations-n8n.md +646 -0
  27. package/rules/code-style.md +570 -0
  28. package/rules/documentation.md +98 -0
  29. package/rules/security.md +316 -0
  30. package/rules/stack.md +395 -0
  31. package/rules/testing.md +326 -0
  32. package/rules/workflow.md +353 -0
  33. package/scripts/create_skill.js +300 -0
  34. package/scripts/validate_skills.js +283 -0
  35. package/skills/ai-agent-engineer/SKILL.md +394 -0
  36. package/skills/ai-agent-engineer/references/agent-patterns.md +149 -0
  37. package/skills/api-designer/SKILL.md +429 -0
  38. package/skills/api-designer/references/api-standards.md +13 -0
  39. package/skills/architect/SKILL.md +285 -0
  40. package/skills/architect/references/c4-model.md +133 -0
  41. package/skills/automation-engineer/SKILL.md +352 -0
  42. package/skills/automation-engineer/references/n8n-patterns.md +127 -0
  43. package/skills/backend-engineer/SKILL.md +261 -0
  44. package/skills/backend-engineer/assets/fastapi-project-structure.yaml +74 -0
  45. package/skills/backend-engineer/references/debugging-guide.md +174 -0
  46. package/skills/backend-engineer/references/design-patterns.md +208 -0
  47. package/skills/backend-engineer/scripts/scaffold_backend.py +313 -0
  48. package/skills/bmad-methodology/SKILL.md +202 -0
  49. package/skills/bmad-methodology/references/scale-adaptive-levels.md +141 -0
  50. package/skills/browser-agent/SKILL.md +502 -0
  51. package/skills/browser-agent/scripts/playwright_setup.ts +16 -0
  52. package/skills/code-reviewer/SKILL.md +306 -0
  53. package/skills/code-reviewer/references/code-review-checklist.md +16 -0
  54. package/skills/data-engineer/SKILL.md +474 -0
  55. package/skills/data-engineer/assets/pg-monitoring-queries.sql +154 -0
  56. package/skills/data-engineer/references/index-strategy.md +128 -0
  57. package/skills/data-engineer/scripts/backup_postgres.py +221 -0
  58. package/skills/devops-engineer/SKILL.md +547 -0
  59. package/skills/devops-engineer/references/ci-cd-patterns.md +265 -0
  60. package/skills/devops-engineer/scripts/docker_healthcheck.py +125 -0
  61. package/skills/document-generator/SKILL.md +746 -0
  62. package/skills/document-generator/references/pdf-generation.md +22 -0
  63. package/skills/frontend-engineer/SKILL.md +532 -0
  64. package/skills/frontend-engineer/references/accessibility-guide.md +146 -0
  65. package/skills/frontend-engineer/scripts/audit_bundle.py +144 -0
  66. package/skills/git-workflow/SKILL.md +374 -0
  67. package/skills/git-workflow/references/git-flow.md +25 -0
  68. package/skills/mcp-builder/SKILL.md +471 -0
  69. package/skills/mcp-builder/references/mcp-server-guide.md +23 -0
  70. package/skills/mobile-engineer/SKILL.md +502 -0
  71. package/skills/mobile-engineer/references/platform-guidelines.md +160 -0
  72. package/skills/orchestrator/SKILL.md +246 -0
  73. package/skills/orchestrator/references/methodology-routing.md +117 -0
  74. package/skills/orchestrator/references/persona-mapping.md +85 -0
  75. package/skills/orchestrator/references/routing-logic.md +110 -0
  76. package/skills/performance-engineer/SKILL.md +549 -0
  77. package/skills/performance-engineer/references/caching-patterns.md +181 -0
  78. package/skills/performance-engineer/scripts/profile_endpoint.py +170 -0
  79. package/skills/product-manager/SKILL.md +488 -0
  80. package/skills/product-manager/references/prioritization-frameworks.md +126 -0
  81. package/skills/prompt-engineer/SKILL.md +433 -0
  82. package/skills/prompt-engineer/references/prompt-patterns.md +158 -0
  83. package/skills/qa-engineer/SKILL.md +441 -0
  84. package/skills/qa-engineer/references/testing-strategy.md +166 -0
  85. package/skills/qa-engineer/scripts/run_coverage.py +147 -0
  86. package/skills/scrum-master/SKILL.md +225 -0
  87. package/skills/scrum-master/references/sprint-ceremonies.md +159 -0
  88. package/skills/security-analyst/SKILL.md +390 -0
  89. package/skills/security-analyst/references/owasp-top10.md +188 -0
  90. package/skills/security-analyst/scripts/audit_security.py +242 -0
  91. package/skills/seo-auditor/SKILL.md +523 -0
  92. package/skills/seo-auditor/references/seo-checklist.md +17 -0
  93. package/skills/spec-driven-dev/SKILL.md +342 -0
  94. package/skills/spec-driven-dev/references/phase-gates.md +107 -0
  95. package/skills/supabase-expert/SKILL.md +602 -0
  96. package/skills/supabase-expert/references/supabase-patterns.md +19 -0
  97. package/skills/swe-agent/SKILL.md +311 -0
  98. package/skills/swe-agent/references/trajectory-format.md +134 -0
  99. package/skills/systematic-debugger/SKILL.md +512 -0
  100. package/skills/systematic-debugger/references/debugging-guide.md +12 -0
  101. package/skills/tech-lead/SKILL.md +409 -0
  102. package/skills/tech-lead/references/code-review-checklist.md +111 -0
  103. package/skills/technical-writer/SKILL.md +631 -0
  104. package/skills/technical-writer/references/doc-templates.md +218 -0
  105. package/skills/testing-strategist/SKILL.md +476 -0
  106. package/skills/testing-strategist/references/testing-pyramid.md +16 -0
  107. package/skills/ux-ui-designer/SKILL.md +419 -0
  108. package/skills/ux-ui-designer/references/design-system-foundation.md +168 -0
  109. package/skills_overview.txt +94 -0
  110. package/templates/PROJECT_KICKOFF.md +284 -0
  111. package/templates/SKILL_TEMPLATE.md +131 -0
  112. package/templates/USAGE.md +95 -0
  113. package/templates/agent-python/README.md +71 -0
  114. package/templates/agent-python/agent.py +272 -0
  115. package/templates/agent-python/config.yaml +76 -0
  116. package/templates/agent-python/prompts/system.md +109 -0
  117. package/templates/agent-python/requirements.txt +7 -0
  118. package/templates/automation-n8n/README.md +14 -0
  119. package/templates/automation-n8n/webhook-handler.json +57 -0
  120. package/templates/backend-node/Dockerfile +12 -0
  121. package/templates/backend-node/README.md +15 -0
  122. package/templates/backend-node/package.json +30 -0
  123. package/templates/backend-node/src/index.ts +19 -0
  124. package/templates/backend-node/src/routes.ts +7 -0
  125. package/templates/backend-node/tsconfig.json +22 -0
  126. package/templates/backend-python/Dockerfile +11 -0
  127. package/templates/backend-python/README.md +78 -0
  128. package/templates/backend-python/app/core/config.py +12 -0
  129. package/templates/backend-python/app/core/database.py +12 -0
  130. package/templates/backend-python/app/main.py +17 -0
  131. package/templates/backend-python/app/routers/__init__.py +1 -0
  132. package/templates/backend-python/app/routers/health.py +7 -0
  133. package/templates/backend-python/requirements-dev.txt +6 -0
  134. package/templates/backend-python/requirements.txt +4 -0
  135. package/templates/backend-python/tests/test_health.py +9 -0
  136. package/templates/checkpoint.yaml +117 -0
  137. package/templates/database/README.md +474 -0
  138. package/templates/frontend-react/README.md +446 -0
  139. package/templates/plan.yaml +320 -0
  140. package/templates/session.yaml +125 -0
  141. package/templates/spec.yaml +229 -0
  142. package/templates/tasks.yaml +330 -0
  143. package/workflows/bugfix-backend.md +380 -0
  144. package/workflows/documentation.md +232 -0
  145. package/workflows/generate-prd.md +320 -0
  146. package/workflows/ideation.md +396 -0
  147. package/workflows/new-agent-ia.md +497 -0
  148. package/workflows/new-automation.md +374 -0
  149. package/workflows/new-feature.md +290 -0
  150. package/workflows/optimize-performance.md +373 -0
  151. package/workflows/resolve-github-issue.md +524 -0
  152. package/workflows/security-review.md +291 -0
  153. package/workflows/spec-driven.md +476 -0
  154. package/workflows/testing-strategy.md +296 -0
  155. package/workflows/third-party-integration.md +277 -0
@@ -0,0 +1,337 @@
1
+ # LMAgent API Design Rules
2
+
3
+ > **Tipo**: `rule` | **Versión**: 2.1 | **Actualización**: 2026-01
4
+
5
+ ## 📌 Quick Reference
6
+
7
+ | Regla | Patrón |
8
+ |-------|--------|
9
+ | **URLs** | Sustantivos en plural: `/users`, `/orders` |
10
+ | **Métodos** | GET (leer), POST (crear), PUT (reemplazar), DELETE (eliminar) |
11
+ | **Versionado** | `/api/v1/...` en URL |
12
+ | **Paginación** | `?page=1&limit=20` |
13
+ | **Respuesta** | `{ "data": ..., "meta": ... }` |
14
+ | **Error** | `{ "error": { "code": "...", "message": "..." } }` |
15
+
16
+ ### Status Codes
17
+ | Código | Uso |
18
+ |--------|-----|
19
+ | 200 | OK (GET, PUT, PATCH) |
20
+ | 201 | Created (POST) |
21
+ | 204 | No Content (DELETE) |
22
+ | 400 | Bad Request |
23
+ | 401 | Unauthorized |
24
+ | 403 | Forbidden |
25
+ | 404 | Not Found |
26
+ | 422 | Validation Error |
27
+
28
+ ### 👥 Roles que usan esta regla
29
+ `backend-engineer`, `architect`, `automation-engineer`
30
+
31
+ ---
32
+
33
+ Este documento define las reglas para diseño de APIs REST.
34
+
35
+ ## 🎯 Principios
36
+
37
+ 1. **Consistency**: Mismos patrones en todos los endpoints
38
+ 2. **Predictability**: Comportamiento esperado
39
+ 3. **Developer Experience**: Fácil de usar y documentar
40
+ 4. **Backward Compatibility**: No romper clientes existentes
41
+
42
+ ---
43
+
44
+ ## URL Structure
45
+
46
+ ### Recursos
47
+
48
+ ```
49
+ # ✅ BUENO: Sustantivos en plural
50
+ GET /api/v1/users
51
+ GET /api/v1/users/{id}
52
+ POST /api/v1/users
53
+ PUT /api/v1/users/{id}
54
+ DELETE /api/v1/users/{id}
55
+
56
+ # ❌ MALO: Verbos en URL
57
+ GET /api/v1/getUsers
58
+ POST /api/v1/createUser
59
+ ```
60
+
61
+ ### Recursos Anidados
62
+
63
+ ```
64
+ # Relaciones
65
+ GET /api/v1/users/{id}/orders # Órdenes de un usuario
66
+ GET /api/v1/orders/{id}/items # Items de una orden
67
+
68
+ # Límite: máximo 2 niveles de anidación
69
+ # ❌ MALO
70
+ GET /api/v1/users/{id}/orders/{oid}/items/{iid}/reviews
71
+ ```
72
+
73
+ ### Query Parameters
74
+
75
+ ```
76
+ # Filtrado
77
+ GET /api/v1/users?status=active&role=admin
78
+
79
+ # Paginación
80
+ GET /api/v1/users?page=1&limit=20
81
+
82
+ # Ordenamiento
83
+ GET /api/v1/users?sort=created_at&order=desc
84
+
85
+ # Búsqueda
86
+ GET /api/v1/users?search=john
87
+ ```
88
+
89
+ ---
90
+
91
+ ## HTTP Methods
92
+
93
+ | Método | Uso | Idempotente |
94
+ |--------|-----|-------------|
95
+ | GET | Obtener recursos | Sí |
96
+ | POST | Crear recurso | No |
97
+ | PUT | Reemplazar recurso | Sí |
98
+ | PATCH | Actualizar parcial | No* |
99
+ | DELETE | Eliminar recurso | Sí |
100
+
101
+ ---
102
+
103
+ ## Status Codes
104
+
105
+ ### Success (2xx)
106
+
107
+ | Code | Uso |
108
+ |------|-----|
109
+ | 200 | OK - GET, PUT, PATCH exitoso |
110
+ | 201 | Created - POST exitoso |
111
+ | 204 | No Content - DELETE exitoso |
112
+
113
+ ### Client Errors (4xx)
114
+
115
+ | Code | Uso |
116
+ |------|-----|
117
+ | 400 | Bad Request - Input inválido |
118
+ | 401 | Unauthorized - No autenticado |
119
+ | 403 | Forbidden - Sin permiso |
120
+ | 404 | Not Found - Recurso no existe |
121
+ | 409 | Conflict - Conflicto (ej: duplicate) |
122
+ | 422 | Unprocessable - Validación falló |
123
+ | 429 | Too Many Requests - Rate limit |
124
+
125
+ ### Server Errors (5xx)
126
+
127
+ | Code | Uso |
128
+ |------|-----|
129
+ | 500 | Internal Server Error |
130
+ | 502 | Bad Gateway |
131
+ | 503 | Service Unavailable |
132
+
133
+ ---
134
+
135
+ ## Response Format
136
+
137
+ ### Success Response
138
+
139
+ ```json
140
+ {
141
+ "data": {
142
+ "id": "uuid",
143
+ "name": "Example",
144
+ "createdAt": "2024-01-21T00:00:00Z"
145
+ }
146
+ }
147
+
148
+ // Lista con paginación
149
+ {
150
+ "data": [...],
151
+ "meta": {
152
+ "page": 1,
153
+ "limit": 20,
154
+ "total": 150,
155
+ "totalPages": 8
156
+ }
157
+ }
158
+ ```
159
+
160
+ ### Error Response
161
+
162
+ ```json
163
+ {
164
+ "error": {
165
+ "code": "VALIDATION_ERROR",
166
+ "message": "Invalid request data",
167
+ "details": [
168
+ {
169
+ "field": "email",
170
+ "message": "Invalid email format"
171
+ }
172
+ ]
173
+ }
174
+ }
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Naming Conventions
180
+
181
+ ### JSON Fields
182
+
183
+ ```json
184
+ // ✅ BUENO: camelCase
185
+ {
186
+ "userId": "123",
187
+ "createdAt": "2024-01-21",
188
+ "isActive": true
189
+ }
190
+
191
+ // ❌ MALO: snake_case (a menos que sea estándar del proyecto)
192
+ {
193
+ "user_id": "123"
194
+ }
195
+ ```
196
+
197
+ ### Consistencia de Nombres
198
+
199
+ ```
200
+ # Singular para un recurso
201
+ GET /users/123 → { "user": {...} }
202
+
203
+ # Plural para colecciones
204
+ GET /users → { "users": [...] }
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Versionado
210
+
211
+ ### URL Versioning (Recomendado)
212
+
213
+ ```
214
+ /api/v1/users
215
+ /api/v2/users
216
+ ```
217
+
218
+ ### Header Versioning (Alternativa)
219
+
220
+ ```
221
+ Accept: application/vnd.api+json; version=1
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Paginación
227
+
228
+ ### Offset-based
229
+
230
+ ```json
231
+ GET /users?page=2&limit=20
232
+
233
+ {
234
+ "data": [...],
235
+ "meta": {
236
+ "page": 2,
237
+ "limit": 20,
238
+ "total": 150,
239
+ "totalPages": 8
240
+ }
241
+ }
242
+ ```
243
+
244
+ ### Cursor-based (para grandes datasets)
245
+
246
+ ```json
247
+ GET /users?cursor=eyJpZCI6MTAwfQ&limit=20
248
+
249
+ {
250
+ "data": [...],
251
+ "meta": {
252
+ "nextCursor": "eyJpZCI6MTIwfQ",
253
+ "hasMore": true
254
+ }
255
+ }
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Filtrado y Búsqueda
261
+
262
+ ```
263
+ # Filtros exactos
264
+ GET /users?status=active
265
+
266
+ # Filtros con operadores
267
+ GET /users?age[gte]=18&age[lte]=65
268
+
269
+ # Búsqueda full-text
270
+ GET /users?q=john
271
+
272
+ # Campos específicos
273
+ GET /users?fields=id,name,email
274
+ ```
275
+
276
+ ---
277
+
278
+ ## HATEOAS (Opcional)
279
+
280
+ ```json
281
+ {
282
+ "data": {
283
+ "id": "123",
284
+ "name": "Order"
285
+ },
286
+ "links": {
287
+ "self": "/orders/123",
288
+ "items": "/orders/123/items",
289
+ "customer": "/users/456"
290
+ }
291
+ }
292
+ ```
293
+
294
+ ---
295
+
296
+ ## Rate Limiting
297
+
298
+ ### Headers
299
+
300
+ ```http
301
+ X-RateLimit-Limit: 100
302
+ X-RateLimit-Remaining: 95
303
+ X-RateLimit-Reset: 1705795200
304
+ ```
305
+
306
+ ### Respuesta 429
307
+
308
+ ```json
309
+ {
310
+ "error": {
311
+ "code": "RATE_LIMIT_EXCEEDED",
312
+ "message": "Too many requests",
313
+ "retryAfter": 60
314
+ }
315
+ }
316
+ ```
317
+
318
+ ---
319
+
320
+ ## Checklist de API Design
321
+
322
+ ```markdown
323
+ ## Nuevo Endpoint
324
+ - [ ] URL sigue convención de recursos
325
+ - [ ] Método HTTP correcto
326
+ - [ ] Status codes apropiados
327
+ - [ ] Request validado
328
+ - [ ] Response consistente
329
+ - [ ] Documentación OpenAPI
330
+ - [ ] Tests escritos
331
+
332
+ ## Breaking Changes
333
+ - [ ] Nueva versión de API
334
+ - [ ] Deprecation notice
335
+ - [ ] Migration guide
336
+ - [ ] Timeline de sunset
337
+ ```