@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,534 @@
1
+ # LMAgent Extended Tool Registry
2
+ # Includes all SWE-agent tools + custom tools
3
+
4
+ version: "1.1"
5
+
6
+ # ============================================
7
+ # SHELL & SYSTEM TOOLS (SWE-agent style)
8
+ # ============================================
9
+
10
+ tools:
11
+ # ----------------------------------------
12
+ # Shell Execution
13
+ # ----------------------------------------
14
+ shell_execute:
15
+ name: "Shell Execute"
16
+ module: "lmagent.tools.shell_tool"
17
+ class: "ShellTool"
18
+ description: "Execute shell commands in the project directory"
19
+ category: "system"
20
+ parameters:
21
+ - name: command
22
+ type: string
23
+ required: true
24
+ description: "Shell command to execute"
25
+ - name: cwd
26
+ type: string
27
+ required: false
28
+ description: "Working directory (relative to project root)"
29
+ - name: timeout
30
+ type: integer
31
+ default: 60
32
+ description: "Timeout in seconds"
33
+ - name: env
34
+ type: object
35
+ required: false
36
+ description: "Additional environment variables"
37
+ security:
38
+ - "Commands are logged"
39
+ - "Dangerous commands blocked by default"
40
+ - "Runs in project directory only"
41
+ dangerous_patterns:
42
+ - "rm -rf /"
43
+ - "rm -rf ~"
44
+ - "rm -rf *"
45
+ - "> /dev/sda"
46
+ - "mkfs"
47
+ - "dd if="
48
+ - ":(){:|:&};:"
49
+ returns:
50
+ type: object
51
+ properties:
52
+ stdout: string
53
+ stderr: string
54
+ exit_code: integer
55
+ duration_ms: integer
56
+
57
+ # ----------------------------------------
58
+ # Git Operations
59
+ # ----------------------------------------
60
+ git_status:
61
+ name: "Git Status"
62
+ module: "lmagent.tools.git_tool"
63
+ class: "GitStatusTool"
64
+ description: "Get current git status (modified, staged, untracked files)"
65
+ category: "git"
66
+ parameters: []
67
+ returns:
68
+ type: object
69
+ properties:
70
+ branch: string
71
+ modified: array
72
+ staged: array
73
+ untracked: array
74
+ ahead: integer
75
+ behind: integer
76
+
77
+ git_diff:
78
+ name: "Git Diff"
79
+ module: "lmagent.tools.git_tool"
80
+ class: "GitDiffTool"
81
+ description: "Get diff of changes"
82
+ category: "git"
83
+ parameters:
84
+ - name: file
85
+ type: string
86
+ required: false
87
+ description: "Specific file to diff (optional)"
88
+ - name: staged
89
+ type: boolean
90
+ default: false
91
+ description: "Show staged changes only"
92
+ returns:
93
+ type: object
94
+ properties:
95
+ diff: string
96
+ files_changed: integer
97
+ insertions: integer
98
+ deletions: integer
99
+
100
+ git_add:
101
+ name: "Git Add"
102
+ module: "lmagent.tools.git_tool"
103
+ class: "GitAddTool"
104
+ description: "Stage files for commit"
105
+ category: "git"
106
+ parameters:
107
+ - name: files
108
+ type: array
109
+ required: true
110
+ description: "Files to stage (use ['.'] for all)"
111
+ returns:
112
+ type: object
113
+ properties:
114
+ staged: array
115
+
116
+ git_commit:
117
+ name: "Git Commit"
118
+ module: "lmagent.tools.git_tool"
119
+ class: "GitCommitTool"
120
+ description: "Commit staged changes"
121
+ category: "git"
122
+ parameters:
123
+ - name: message
124
+ type: string
125
+ required: true
126
+ description: "Commit message (follow conventional commits)"
127
+ - name: amend
128
+ type: boolean
129
+ default: false
130
+ description: "Amend last commit"
131
+ security:
132
+ - "Validates commit message format"
133
+ returns:
134
+ type: object
135
+ properties:
136
+ commit_hash: string
137
+ message: string
138
+ files_committed: integer
139
+
140
+ git_push:
141
+ name: "Git Push"
142
+ module: "lmagent.tools.git_tool"
143
+ class: "GitPushTool"
144
+ description: "Push commits to remote"
145
+ category: "git"
146
+ parameters:
147
+ - name: remote
148
+ type: string
149
+ default: "origin"
150
+ - name: branch
151
+ type: string
152
+ required: false
153
+ description: "Branch to push (default: current)"
154
+ - name: force
155
+ type: boolean
156
+ default: false
157
+ description: "Force push (use with caution)"
158
+ security:
159
+ - "Force push requires confirmation"
160
+ - "Protected branches blocked"
161
+ returns:
162
+ type: object
163
+ properties:
164
+ success: boolean
165
+ remote: string
166
+ branch: string
167
+
168
+ git_branch:
169
+ name: "Git Branch"
170
+ module: "lmagent.tools.git_tool"
171
+ class: "GitBranchTool"
172
+ description: "Create, switch, or list branches"
173
+ category: "git"
174
+ parameters:
175
+ - name: action
176
+ type: string
177
+ enum: [list, create, switch, delete]
178
+ default: "list"
179
+ - name: name
180
+ type: string
181
+ required: false
182
+ description: "Branch name for create/switch/delete"
183
+ - name: base
184
+ type: string
185
+ required: false
186
+ description: "Base branch for create"
187
+ returns:
188
+ type: object
189
+ properties:
190
+ branches: array
191
+ current: string
192
+
193
+ git_log:
194
+ name: "Git Log"
195
+ module: "lmagent.tools.git_tool"
196
+ class: "GitLogTool"
197
+ description: "Get commit history"
198
+ category: "git"
199
+ parameters:
200
+ - name: count
201
+ type: integer
202
+ default: 10
203
+ description: "Number of commits to show"
204
+ - name: file
205
+ type: string
206
+ required: false
207
+ description: "Filter by file"
208
+ returns:
209
+ type: array
210
+ items:
211
+ type: object
212
+ properties:
213
+ hash: string
214
+ message: string
215
+ author: string
216
+ date: string
217
+
218
+ # ----------------------------------------
219
+ # Linter & Formatter Tools
220
+ # ----------------------------------------
221
+ lint_python:
222
+ name: "Python Linter"
223
+ module: "lmagent.tools.lint_tool"
224
+ class: "PythonLintTool"
225
+ description: "Run ruff linter on Python code"
226
+ category: "quality"
227
+ parameters:
228
+ - name: path
229
+ type: string
230
+ default: "."
231
+ description: "Path to lint"
232
+ - name: fix
233
+ type: boolean
234
+ default: false
235
+ description: "Auto-fix issues"
236
+ returns:
237
+ type: object
238
+ properties:
239
+ errors: array
240
+ warnings: array
241
+ fixed: integer
242
+ total_issues: integer
243
+
244
+ format_python:
245
+ name: "Python Formatter"
246
+ module: "lmagent.tools.lint_tool"
247
+ class: "PythonFormatTool"
248
+ description: "Format Python code with ruff"
249
+ category: "quality"
250
+ parameters:
251
+ - name: path
252
+ type: string
253
+ default: "."
254
+ description: "Path to format"
255
+ - name: check
256
+ type: boolean
257
+ default: false
258
+ description: "Check only, don't modify"
259
+ returns:
260
+ type: object
261
+ properties:
262
+ formatted: array
263
+ would_format: array
264
+
265
+ lint_typescript:
266
+ name: "TypeScript Linter"
267
+ module: "lmagent.tools.lint_tool"
268
+ class: "TypeScriptLintTool"
269
+ description: "Run ESLint on TypeScript/JavaScript code"
270
+ category: "quality"
271
+ parameters:
272
+ - name: path
273
+ type: string
274
+ default: "."
275
+ - name: fix
276
+ type: boolean
277
+ default: false
278
+ returns:
279
+ type: object
280
+ properties:
281
+ errors: array
282
+ warnings: array
283
+ fixed: integer
284
+
285
+ type_check:
286
+ name: "Type Checker"
287
+ module: "lmagent.tools.lint_tool"
288
+ class: "TypeCheckTool"
289
+ description: "Run type checker (mypy for Python, tsc for TypeScript)"
290
+ category: "quality"
291
+ parameters:
292
+ - name: language
293
+ type: string
294
+ enum: [python, typescript]
295
+ required: true
296
+ - name: path
297
+ type: string
298
+ default: "."
299
+ returns:
300
+ type: object
301
+ properties:
302
+ errors: array
303
+ files_checked: integer
304
+
305
+ # ----------------------------------------
306
+ # Test Runner Tools
307
+ # ----------------------------------------
308
+ run_tests:
309
+ name: "Test Runner"
310
+ module: "lmagent.tools.test_tool"
311
+ class: "TestRunnerTool"
312
+ description: "Run test suite"
313
+ category: "testing"
314
+ parameters:
315
+ - name: framework
316
+ type: string
317
+ enum: [pytest, jest, auto]
318
+ default: "auto"
319
+ description: "Test framework (auto-detect if not specified)"
320
+ - name: path
321
+ type: string
322
+ required: false
323
+ description: "Specific test file or directory"
324
+ - name: pattern
325
+ type: string
326
+ required: false
327
+ description: "Test name pattern to match"
328
+ - name: coverage
329
+ type: boolean
330
+ default: false
331
+ description: "Generate coverage report"
332
+ - name: verbose
333
+ type: boolean
334
+ default: true
335
+ returns:
336
+ type: object
337
+ properties:
338
+ passed: integer
339
+ failed: integer
340
+ skipped: integer
341
+ duration_seconds: number
342
+ coverage_percent: number
343
+ failures: array
344
+
345
+ run_single_test:
346
+ name: "Run Single Test"
347
+ module: "lmagent.tools.test_tool"
348
+ class: "SingleTestTool"
349
+ description: "Run a single test by name"
350
+ category: "testing"
351
+ parameters:
352
+ - name: test_name
353
+ type: string
354
+ required: true
355
+ description: "Full test path (e.g., tests/test_auth.py::test_login)"
356
+ - name: verbose
357
+ type: boolean
358
+ default: true
359
+ returns:
360
+ type: object
361
+ properties:
362
+ passed: boolean
363
+ output: string
364
+ duration_seconds: number
365
+
366
+ # ----------------------------------------
367
+ # Edit-Lint Loop (SWE-agent style)
368
+ # ----------------------------------------
369
+ edit_and_lint:
370
+ name: "Edit and Lint"
371
+ module: "lmagent.tools.edit_lint_tool"
372
+ class: "EditLintTool"
373
+ description: "Edit a file and automatically run linter, fixing issues if possible"
374
+ category: "composite"
375
+ parameters:
376
+ - name: file
377
+ type: string
378
+ required: true
379
+ description: "File to edit"
380
+ - name: content
381
+ type: string
382
+ required: true
383
+ description: "New content for the file"
384
+ - name: auto_fix
385
+ type: boolean
386
+ default: true
387
+ description: "Automatically fix lint issues"
388
+ - name: run_tests
389
+ type: boolean
390
+ default: false
391
+ description: "Run related tests after edit"
392
+ returns:
393
+ type: object
394
+ properties:
395
+ file_updated: boolean
396
+ lint_passed: boolean
397
+ lint_issues: array
398
+ auto_fixed: array
399
+ tests_passed: boolean
400
+ tests_output: string
401
+
402
+ # ----------------------------------------
403
+ # Dependency Management
404
+ # ----------------------------------------
405
+ check_dependencies:
406
+ name: "Check Dependencies"
407
+ module: "lmagent.tools.deps_tool"
408
+ class: "DependencyCheckTool"
409
+ description: "Check for outdated or vulnerable dependencies"
410
+ category: "quality"
411
+ parameters:
412
+ - name: manager
413
+ type: string
414
+ enum: [pip, npm, auto]
415
+ default: "auto"
416
+ returns:
417
+ type: object
418
+ properties:
419
+ outdated: array
420
+ vulnerabilities: array
421
+ total_packages: integer
422
+
423
+ install_dependency:
424
+ name: "Install Dependency"
425
+ module: "lmagent.tools.deps_tool"
426
+ class: "InstallDependencyTool"
427
+ description: "Install a new dependency"
428
+ category: "quality"
429
+ parameters:
430
+ - name: package
431
+ type: string
432
+ required: true
433
+ description: "Package name"
434
+ - name: version
435
+ type: string
436
+ required: false
437
+ description: "Specific version"
438
+ - name: dev
439
+ type: boolean
440
+ default: false
441
+ description: "Install as dev dependency"
442
+ security:
443
+ - "Requires confirmation"
444
+ returns:
445
+ type: object
446
+ properties:
447
+ installed: string
448
+ version: string
449
+
450
+ # ----------------------------------------
451
+ # Docker Tools
452
+ # ----------------------------------------
453
+ docker_build:
454
+ name: "Docker Build"
455
+ module: "lmagent.tools.docker_tool"
456
+ class: "DockerBuildTool"
457
+ description: "Build Docker image"
458
+ category: "infrastructure"
459
+ parameters:
460
+ - name: dockerfile
461
+ type: string
462
+ default: "Dockerfile"
463
+ - name: tag
464
+ type: string
465
+ required: true
466
+ description: "Image tag"
467
+ - name: context
468
+ type: string
469
+ default: "."
470
+ returns:
471
+ type: object
472
+ properties:
473
+ image_id: string
474
+ tag: string
475
+ size_mb: number
476
+
477
+ docker_compose:
478
+ name: "Docker Compose"
479
+ module: "lmagent.tools.docker_tool"
480
+ class: "DockerComposeTool"
481
+ description: "Run docker-compose commands"
482
+ category: "infrastructure"
483
+ parameters:
484
+ - name: action
485
+ type: string
486
+ enum: [up, down, restart, logs, ps]
487
+ required: true
488
+ - name: service
489
+ type: string
490
+ required: false
491
+ description: "Specific service (optional)"
492
+ - name: detach
493
+ type: boolean
494
+ default: true
495
+ returns:
496
+ type: object
497
+ properties:
498
+ success: boolean
499
+ output: string
500
+
501
+ # ============================================
502
+ # Categories Update
503
+ # ============================================
504
+
505
+ categories:
506
+ system:
507
+ name: "System & Shell"
508
+ description: "Shell commands and system operations"
509
+ icon: "๐Ÿ’ป"
510
+
511
+ git:
512
+ name: "Git Operations"
513
+ description: "Version control operations"
514
+ icon: "๐Ÿ“ฆ"
515
+
516
+ quality:
517
+ name: "Code Quality"
518
+ description: "Linting, formatting, type checking"
519
+ icon: "โœจ"
520
+
521
+ testing:
522
+ name: "Testing"
523
+ description: "Test execution and coverage"
524
+ icon: "๐Ÿงช"
525
+
526
+ composite:
527
+ name: "Composite Actions"
528
+ description: "Multi-step automated operations"
529
+ icon: "๐Ÿ”„"
530
+
531
+ infrastructure:
532
+ name: "Infrastructure"
533
+ description: "Docker, deployment, infrastructure"
534
+ icon: "๐Ÿ—๏ธ"