@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
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@qubiit/lmagent",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "2.5.0",
7
+ "description": "CLI to install LMAgent skills and rules into your IDE",
8
+ "main": "install.js",
9
+ "bin": {
10
+ "lmagent-skills": "install.js",
11
+ "lmagent": "install.js"
12
+ },
13
+ "scripts": {
14
+ "test": "echo \"Error: no test specified\" && exit 1",
15
+ "start": "node install.js"
16
+ },
17
+ "keywords": [
18
+ "ai",
19
+ "agent",
20
+ "skills",
21
+ "cursor",
22
+ "windsurf",
23
+ "ide"
24
+ ],
25
+ "author": "Leandro Martín Alvarez (QuBiit)",
26
+ "license": "MIT",
27
+ "dependencies": {
28
+ "boxen": "^8.0.1",
29
+ "chalk": "^4.1.2",
30
+ "commander": "^13.1.0",
31
+ "figlet": "^1.10.0",
32
+ "gradient-string": "^3.0.0",
33
+ "inquirer": "^8.2.6"
34
+ }
35
+ }
package/pyproject.toml ADDED
@@ -0,0 +1,182 @@
1
+ [project]
2
+ name = "lmagent"
3
+ version = "2.3.0"
4
+ description = "Framework for automation and AI agent development"
5
+ readme = "README.md"
6
+ license = { text = "MIT" }
7
+ requires-python = ">=3.12"
8
+ authors = [
9
+ { name = "QuBiit0", email = "info@leandroalvarez.com.ar" }
10
+ ]
11
+ keywords = [
12
+ "ai",
13
+ "agents",
14
+ "automation",
15
+ "llm",
16
+ "framework",
17
+ "mcp"
18
+ ]
19
+ classifiers = [
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Intended Audience :: Developers",
22
+ "License :: OSI Approved :: MIT License",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Topic :: Software Development :: Libraries :: Application Frameworks",
27
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
28
+ ]
29
+
30
+ dependencies = [
31
+ "pydantic>=2.10",
32
+ "pydantic-settings>=2.4",
33
+ "pyyaml>=6.0",
34
+ "structlog>=24.1",
35
+ "httpx>=0.27",
36
+ "python-dotenv>=1.0",
37
+ "fastapi>=0.115",
38
+ "sqlmodel>=0.0.22",
39
+ "litellm>=1.45",
40
+ ]
41
+
42
+ [project.optional-dependencies]
43
+ dev = [
44
+ "pytest>=8.0",
45
+ "pytest-asyncio>=0.23",
46
+ "pytest-cov>=5.0",
47
+ "ruff>=0.5",
48
+ "mypy>=1.10",
49
+ "pre-commit>=3.7",
50
+ ]
51
+ llm = [
52
+ "openai>=1.40",
53
+ "anthropic>=0.30",
54
+ "google-generativeai>=0.7",
55
+ "litellm>=1.45",
56
+ "langchain>=0.2.10",
57
+ "langgraph>=0.1.5",
58
+ ]
59
+ tools = [
60
+ "aiohttp>=3.10",
61
+ "asyncpg>=0.29",
62
+ "redis>=5.0",
63
+ "pandas>=2.2",
64
+ ]
65
+ all = [
66
+ "lmagent[dev]",
67
+ "lmagent[llm]",
68
+ "lmagent[tools]",
69
+ ]
70
+
71
+ [project.urls]
72
+ Homepage = "https://github.com/QuBiit0/lmagent"
73
+ Documentation = "https://github.com/QuBiit0/lmagent#readme"
74
+ Repository = "https://github.com/QuBiit0/lmagent"
75
+ Issues = "https://github.com/QuBiit0/lmagent/issues"
76
+
77
+ # [build-system]
78
+ # requires = ["hatchling"]
79
+ # build-backend = "hatchling.build"
80
+
81
+ # [tool.hatch.build.targets.wheel]
82
+ # packages = ["agents"]
83
+
84
+ # ============================================
85
+ # RUFF (Linter & Formatter)
86
+ # ============================================
87
+
88
+ [tool.ruff]
89
+ target-version = "py312"
90
+ line-length = 100
91
+ exclude = [
92
+ ".git",
93
+ ".venv",
94
+ "venv",
95
+ "__pycache__",
96
+ "node_modules",
97
+ ".ruff_cache",
98
+ ]
99
+
100
+ [tool.ruff.lint]
101
+ select = [
102
+ "E", # pycodestyle errors
103
+ "W", # pycodestyle warnings
104
+ "F", # pyflakes
105
+ "I", # isort
106
+ "B", # flake8-bugbear
107
+ "C4", # flake8-comprehensions
108
+ "UP", # pyupgrade
109
+ "ARG", # flake8-unused-arguments
110
+ "SIM", # flake8-simplify
111
+ ]
112
+ ignore = [
113
+ "E501", # line too long (handled by formatter)
114
+ "B008", # do not perform function calls in argument defaults
115
+ ]
116
+
117
+ [tool.ruff.lint.isort]
118
+ known-first-party = ["agents", "lmagent"]
119
+
120
+ [tool.ruff.format]
121
+ quote-style = "double"
122
+ indent-style = "space"
123
+ skip-magic-trailing-comma = false
124
+
125
+ # ============================================
126
+ # MYPY (Type Checking)
127
+ # ============================================
128
+
129
+ [tool.mypy]
130
+ python_version = "3.12"
131
+ warn_return_any = true
132
+ warn_unused_ignores = true
133
+ disallow_untyped_defs = true
134
+ disallow_incomplete_defs = true
135
+ check_untyped_defs = true
136
+ ignore_missing_imports = true
137
+ exclude = [
138
+ "tests",
139
+ "venv",
140
+ ".venv",
141
+ ]
142
+
143
+ # ============================================
144
+ # PYTEST
145
+ # ============================================
146
+
147
+ [tool.pytest.ini_options]
148
+ minversion = "7.0"
149
+ asyncio_mode = "auto"
150
+ testpaths = ["tests"]
151
+ python_files = ["test_*.py", "*_test.py"]
152
+ python_functions = ["test_*"]
153
+ addopts = [
154
+ "-v",
155
+ "--tb=short",
156
+ "--strict-markers",
157
+ ]
158
+ markers = [
159
+ "slow: marks tests as slow",
160
+ "integration: marks tests as integration tests",
161
+ ]
162
+ filterwarnings = [
163
+ "ignore::DeprecationWarning",
164
+ ]
165
+
166
+ [tool.coverage.run]
167
+ source = ["agents"]
168
+ branch = true
169
+ omit = [
170
+ "*/tests/*",
171
+ "*/__pycache__/*",
172
+ ]
173
+
174
+ [tool.coverage.report]
175
+ exclude_lines = [
176
+ "pragma: no cover",
177
+ "def __repr__",
178
+ "raise NotImplementedError",
179
+ "if __name__ == .__main__.:",
180
+ "if TYPE_CHECKING:",
181
+ ]
182
+ fail_under = 80
@@ -0,0 +1,138 @@
1
+ # 🚀 LMAgent Bootstrap — Instrucciones Iniciales
2
+
3
+ > **Tipo**: `rule` | **Versión**: 2.5.0 | **Prioridad**: MÁXIMA
4
+ > Esta regla se aplica **SIEMPRE** como primer paso antes de cualquier tarea.
5
+
6
+ ---
7
+
8
+ ## 📌 Startup Check (Auto-Start)
9
+
10
+ **¿Existe `PROJECT_KICKOFF.md` en la raíz del proyecto?**
11
+ - **SÍ** → Activa el skill `product-manager` (`/pm`) y ejecuta el workflow `spec-driven`.
12
+ - **NO** → Continuar con el flujo normal.
13
+
14
+ ---
15
+
16
+ ## 🧠 Framework
17
+
18
+ Estás trabajando con **LMAgent v2.5.0**. Antes de implementar cualquier cambio:
19
+
20
+ 1. **Lee `AGENTS.md`** — Catálogo completo de skills, rules y workflows
21
+ 2. **Clasifica la tarea** — Nivel 0-4 según complejidad (ver `rules/workflow.md`)
22
+ 3. **Activa el skill apropiado** — Según la tabla de abajo
23
+
24
+ ---
25
+
26
+ ## 🤖 Activación de Skills por IDE
27
+
28
+ **La forma de activar skills depende del IDE:**
29
+
30
+ | IDE | Mecanismo | Ejemplo |
31
+ |-----|-----------|---------|
32
+ | **Cursor** | `/slash-commands` nativos del IDE | Escribir `/dev` en el chat |
33
+ | **Antigravity** | Automático por contexto | El agente lee `SKILL.md` al detectar tarea relevante |
34
+ | **Claude Code** | Lectura de `SKILL.md` | El agente accede al directorio `skills/` |
35
+ | **Otros IDEs** | Según configuración del IDE | Ver documentación del IDE |
36
+
37
+ > **En Antigravity**: Los triggers como `/dev` o `/pm` **no son comandos ejecutables**. Son convenciones para que el agente identifique qué skill activar. El agente debe:
38
+ > 1. Detectar la naturaleza de la tarea (ej: "crear endpoint" → backend)
39
+ > 2. Leer el `SKILL.md` completo del skill relevante
40
+ > 3. Adoptar el rol, principios y patrones descritos
41
+ > 4. Seguir la "Definition of Done" del skill
42
+
43
+ ---
44
+
45
+ ## 🎯 Skills Disponibles (31)
46
+
47
+ Activa el skill apropiado según la tarea. Cada skill tiene `SKILL.md` con instrucciones detalladas, y opcionalmente `scripts/`, `references/` y `assets/`.
48
+
49
+ ### Meta-Skill
50
+ | Skill | Triggers | Descripción |
51
+ |-------|----------|-------------|
52
+ | **orchestrator** | `/orch`, `/start` | Meta-agent: clasifica tareas y enruta al skill correcto |
53
+
54
+ ### Engineering
55
+ | Skill | Triggers | Descripción |
56
+ |-------|----------|-------------|
57
+ | **backend-engineer** | `/dev`, `/backend`, `/api`, `/fix` | APIs, lógica de negocio, bases de datos |
58
+ | **frontend-engineer** | `/front`, `/ui`, `/react` | React, Next.js, interfaces web |
59
+ | **mobile-engineer** | `/mobile`, `/rn`, `/ios`, `/android` | React Native, Expo, apps móviles |
60
+ | **data-engineer** | `/data`, `/db`, `/sql`, `/etl` | PostgreSQL, ETL, migraciones |
61
+ | **devops-engineer** | `/devops`, `/infra`, `/deploy`, `/docker` | CI/CD, Docker, Kubernetes |
62
+ | **performance-engineer** | `/perf`, `/slow`, `/optimize`, `/load` | Profiling, caching, optimización |
63
+ | **security-analyst** | `/sec`, `/audit`, `/auth` | OWASP, auditoría, vulnerabilidades |
64
+ | **qa-engineer** | `/qa`, `/test`, `/bug` | Testing, cobertura, E2E |
65
+ | **systematic-debugger** | `/debug`, `/bug`, `/fix`, `/rca` | Debugging metódico en 4 fases, root cause analysis |
66
+
67
+ ### Quality & Testing
68
+ | Skill | Triggers | Descripción |
69
+ |-------|----------|-------------|
70
+ | **code-reviewer** | `/review`, `/cr`, `/code-review` | Reviews sistemáticos multi-pass, anti-patrones |
71
+ | **testing-strategist** | `/tdd`, `/testing`, `/test-strategy` | TDD/BDD, testing pyramid, estrategia de tests |
72
+ | **git-workflow** | `/git`, `/branch`, `/release` | Branching, conventional commits, release management |
73
+ | **api-designer** | `/api`, `/endpoint`, `/rest`, `/graphql` | Diseño REST/GraphQL, OpenAPI, DX |
74
+
75
+ ### AI & Automation
76
+ | Skill | Triggers | Descripción |
77
+ |-------|----------|-------------|
78
+ | **ai-agent-engineer** | `/agent`, `/tool` | Agentes IA, tool-use, multi-agent |
79
+ | **mcp-builder** | `/mcp`, `/mcp-server`, `/tool-builder` | MCP Servers, Tools, Resources, Prompts |
80
+ | **automation-engineer** | `/auto`, `/n8n`, `/webhook` | n8n workflows, automatizaciones |
81
+ | **prompt-engineer** | `/prompt`, `/cot`, `/llm` | Optimización de prompts |
82
+
83
+ ### Platform & Tools
84
+ | Skill | Triggers | Descripción |
85
+ |-------|----------|-------------|
86
+ | **supabase-expert** | `/supa`, `/supabase`, `/rls`, `/edge-function` | RLS, Auth, Edge Functions, Realtime, Storage |
87
+ | **browser-agent** | `/browser`, `/scrape`, `/crawl`, `/automate` | Playwright/Puppeteer, scraping, flujos web automáticos |
88
+ | **document-generator** | `/pdf`, `/doc`, `/excel`, `/pptx` | Generación de PDF, DOCX, XLSX, PPTX programáticos |
89
+ | **seo-auditor** | `/seo`, `/audit`, `/lighthouse`, `/a11y` | SEO técnico, Core Web Vitals, WCAG, schema markup |
90
+
91
+ ### Management & Process
92
+ | Skill | Triggers | Descripción |
93
+ |-------|----------|-------------|
94
+ | **product-manager** | `/pm`, `/product`, `/prd` | PRD, user stories, roadmap |
95
+ | **architect** | `/arch`, `/design`, `/system` | Diseño de sistemas, C4, ADRs |
96
+ | **tech-lead** | `/tl`, `/adr`, `/debt` | Decisiones técnicas, tech debt |
97
+ | **scrum-master** | `/sm`, `/agile`, `/coach` | Ceremonias, sprints, retrospectivas |
98
+ | **technical-writer** | `/doc`, `/readme`, `/guide` | Documentación, guías |
99
+ | **ux-ui-designer** | `/ux`, `/ui`, `/design` | Design systems, UX research |
100
+
101
+ ### Methodologies
102
+ | Skill | Triggers | Descripción |
103
+ |-------|----------|-------------|
104
+ | **bmad-methodology** | `/bmad` | Scale-Adaptive Intelligence, niveles 0-4 |
105
+ | **swe-agent** | `/swe`, `/issue-solve`, `/trajectory` | Resolución autónoma de issues |
106
+ | **spec-driven-dev** | `/spec-dev`, `/sdd-skill`, `/spec-method` | Pipeline: Specify→Plan→Tasks→Implement→Verify |
107
+
108
+ ---
109
+
110
+ ## ⚠️ Reglas Críticas
111
+
112
+ 1. 📖 **Siempre leer AGENTS.md primero**
113
+ 2. 🧠 **Activar el skill apropiado** para la tarea
114
+ 3. 🎯 **Clasificar correctamente el nivel** (0-4)
115
+ 4. 📝 **Planear antes de implementar** (Level 2+)
116
+ 5. ✅ **Tests para todo código nuevo**
117
+ 6. 📐 **Seguir patrones existentes** del proyecto
118
+ 7. 🔄 **Commits pequeños y descriptivos**
119
+ 8. 📚 **Documentar cambios significativos** (ver `rules/documentation.md`)
120
+ 9. 🔒 **Nunca hardcodear secretos** — usar variables de entorno
121
+ 10. ❓ **Si hay duda, preguntar**
122
+
123
+ ---
124
+
125
+ ## 📂 Estructura del Framework
126
+
127
+ ```
128
+ rules/ → Guardrails de comportamiento (CÓMO)
129
+ skills/ → Capacidades especializadas (QUÉ)
130
+ └── {skill}/
131
+ ├── SKILL.md → Instrucciones del skill
132
+ ├── scripts/ → Scripts ejecutables
133
+ ├── references/ → Guías y patrones
134
+ └── assets/ → Templates, SQL, YAML
135
+ workflows/ → Procedimientos operativos (SOPs)
136
+ config/ → Configuración del framework
137
+ templates/ → Plantillas de proyecto
138
+ ```