javi-forge 1.1.0 → 1.3.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 (238) hide show
  1. package/ci-local/ci-local.sh +38 -10
  2. package/ci-local/hooks/pre-commit +10 -155
  3. package/ci-local/hooks/pre-push +12 -29
  4. package/dist/commands/ci.d.ts +33 -0
  5. package/dist/commands/ci.js +341 -0
  6. package/dist/commands/init.js +5 -0
  7. package/dist/index.js +39 -5
  8. package/dist/lib/docker.d.ts +43 -0
  9. package/dist/lib/docker.js +223 -0
  10. package/dist/ui/CI.d.ts +9 -0
  11. package/dist/ui/CI.js +91 -0
  12. package/package.json +9 -1
  13. package/ai-config/.skillignore +0 -15
  14. package/ai-config/AUTO_INVOKE.md +0 -300
  15. package/ai-config/agents/_TEMPLATE.md +0 -93
  16. package/ai-config/agents/business/api-designer.md +0 -1657
  17. package/ai-config/agents/business/business-analyst.md +0 -1331
  18. package/ai-config/agents/business/product-strategist.md +0 -206
  19. package/ai-config/agents/business/project-manager.md +0 -178
  20. package/ai-config/agents/business/requirements-analyst.md +0 -1277
  21. package/ai-config/agents/business/technical-writer.md +0 -1679
  22. package/ai-config/agents/creative/ux-designer.md +0 -205
  23. package/ai-config/agents/data-ai/ai-engineer.md +0 -487
  24. package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
  25. package/ai-config/agents/data-ai/data-engineer.md +0 -173
  26. package/ai-config/agents/data-ai/data-scientist.md +0 -672
  27. package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
  28. package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
  29. package/ai-config/agents/development/angular-expert.md +0 -620
  30. package/ai-config/agents/development/backend-architect.md +0 -795
  31. package/ai-config/agents/development/database-specialist.md +0 -212
  32. package/ai-config/agents/development/frontend-specialist.md +0 -686
  33. package/ai-config/agents/development/fullstack-engineer.md +0 -668
  34. package/ai-config/agents/development/golang-pro.md +0 -338
  35. package/ai-config/agents/development/java-enterprise.md +0 -400
  36. package/ai-config/agents/development/javascript-pro.md +0 -422
  37. package/ai-config/agents/development/nextjs-pro.md +0 -474
  38. package/ai-config/agents/development/python-pro.md +0 -570
  39. package/ai-config/agents/development/react-pro.md +0 -487
  40. package/ai-config/agents/development/rust-pro.md +0 -246
  41. package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
  42. package/ai-config/agents/development/typescript-pro.md +0 -336
  43. package/ai-config/agents/development/vue-specialist.md +0 -605
  44. package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
  45. package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
  46. package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
  47. package/ai-config/agents/infrastructure/incident-responder.md +0 -519
  48. package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
  49. package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
  50. package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
  51. package/ai-config/agents/orchestrator.md +0 -241
  52. package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
  53. package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
  54. package/ai-config/agents/quality/code-reviewer.md +0 -363
  55. package/ai-config/agents/quality/dependency-manager.md +0 -743
  56. package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
  57. package/ai-config/agents/quality/performance-tester.md +0 -1086
  58. package/ai-config/agents/quality/security-auditor.md +0 -133
  59. package/ai-config/agents/quality/test-engineer.md +0 -453
  60. package/ai-config/agents/specialists/api-designer.md +0 -87
  61. package/ai-config/agents/specialists/backend-architect.md +0 -73
  62. package/ai-config/agents/specialists/code-reviewer.md +0 -77
  63. package/ai-config/agents/specialists/db-optimizer.md +0 -75
  64. package/ai-config/agents/specialists/devops-engineer.md +0 -83
  65. package/ai-config/agents/specialists/documentation-writer.md +0 -78
  66. package/ai-config/agents/specialists/frontend-developer.md +0 -75
  67. package/ai-config/agents/specialists/performance-analyst.md +0 -82
  68. package/ai-config/agents/specialists/refactor-specialist.md +0 -74
  69. package/ai-config/agents/specialists/security-auditor.md +0 -74
  70. package/ai-config/agents/specialists/test-engineer.md +0 -81
  71. package/ai-config/agents/specialists/ux-consultant.md +0 -76
  72. package/ai-config/agents/specialized/agent-generator.md +0 -1190
  73. package/ai-config/agents/specialized/blockchain-developer.md +0 -149
  74. package/ai-config/agents/specialized/code-migrator.md +0 -892
  75. package/ai-config/agents/specialized/context-manager.md +0 -978
  76. package/ai-config/agents/specialized/documentation-writer.md +0 -1078
  77. package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
  78. package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
  79. package/ai-config/agents/specialized/error-detective.md +0 -1034
  80. package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
  81. package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
  82. package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
  83. package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
  84. package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
  85. package/ai-config/agents/specialized/game-developer.md +0 -1963
  86. package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
  87. package/ai-config/agents/specialized/mobile-developer.md +0 -188
  88. package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
  89. package/ai-config/agents/specialized/plan-executor.md +0 -485
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
  93. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
  94. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
  95. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
  96. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
  97. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
  98. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
  99. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
  100. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
  101. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
  102. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
  103. package/ai-config/agents/specialized/template-writer.md +0 -347
  104. package/ai-config/agents/specialized/test-runner.md +0 -99
  105. package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
  106. package/ai-config/agents/specialized/wave-executor.md +0 -138
  107. package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
  108. package/ai-config/commands/git/changelog.md +0 -32
  109. package/ai-config/commands/git/ci-local.md +0 -70
  110. package/ai-config/commands/git/commit.md +0 -35
  111. package/ai-config/commands/git/fix-issue.md +0 -23
  112. package/ai-config/commands/git/pr-create.md +0 -42
  113. package/ai-config/commands/git/pr-review.md +0 -50
  114. package/ai-config/commands/git/worktree.md +0 -39
  115. package/ai-config/commands/refactoring/cleanup.md +0 -24
  116. package/ai-config/commands/refactoring/dead-code.md +0 -40
  117. package/ai-config/commands/refactoring/extract.md +0 -31
  118. package/ai-config/commands/testing/e2e.md +0 -30
  119. package/ai-config/commands/testing/tdd.md +0 -36
  120. package/ai-config/commands/testing/test-coverage.md +0 -30
  121. package/ai-config/commands/testing/test-fix.md +0 -24
  122. package/ai-config/commands/workflow/generate-agents-md.md +0 -85
  123. package/ai-config/commands/workflow/planning.md +0 -47
  124. package/ai-config/commands/workflows/compound.md +0 -89
  125. package/ai-config/commands/workflows/diagnose.md +0 -70
  126. package/ai-config/commands/workflows/discover.md +0 -86
  127. package/ai-config/commands/workflows/plan.md +0 -77
  128. package/ai-config/commands/workflows/review.md +0 -78
  129. package/ai-config/commands/workflows/work.md +0 -75
  130. package/ai-config/config.yaml +0 -18
  131. package/ai-config/hooks/_TEMPLATE.md +0 -96
  132. package/ai-config/hooks/block-dangerous-commands.md +0 -75
  133. package/ai-config/hooks/commit-guard.md +0 -90
  134. package/ai-config/hooks/context-loader.md +0 -73
  135. package/ai-config/hooks/improve-prompt.md +0 -91
  136. package/ai-config/hooks/learning-log.md +0 -72
  137. package/ai-config/hooks/model-router.md +0 -86
  138. package/ai-config/hooks/secret-scanner.md +0 -64
  139. package/ai-config/hooks/skill-validator.md +0 -102
  140. package/ai-config/hooks/task-artifact.md +0 -114
  141. package/ai-config/hooks/validate-workflow.md +0 -100
  142. package/ai-config/prompts/base.md +0 -71
  143. package/ai-config/prompts/modes/debug.md +0 -34
  144. package/ai-config/prompts/modes/deploy.md +0 -40
  145. package/ai-config/prompts/modes/research.md +0 -32
  146. package/ai-config/prompts/modes/review.md +0 -33
  147. package/ai-config/prompts/review-policy.md +0 -79
  148. package/ai-config/skills/_TEMPLATE.md +0 -157
  149. package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
  150. package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
  151. package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
  152. package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
  153. package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
  154. package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
  155. package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
  156. package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
  157. package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
  158. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
  159. package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
  160. package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
  161. package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
  162. package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
  163. package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
  164. package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
  165. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
  166. package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
  167. package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
  168. package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
  169. package/ai-config/skills/backend/websockets/SKILL.md +0 -532
  170. package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
  171. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
  172. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
  173. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
  174. package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
  175. package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
  176. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
  177. package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
  178. package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
  179. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
  180. package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
  181. package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
  182. package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
  183. package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
  184. package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
  185. package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
  186. package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
  187. package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
  188. package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
  189. package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
  190. package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
  191. package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
  192. package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
  193. package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
  194. package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
  195. package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
  196. package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
  197. package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
  198. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
  199. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
  200. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
  201. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
  202. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
  203. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
  204. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
  205. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
  206. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
  207. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
  208. package/ai-config/skills/prompt-improver/SKILL.md +0 -125
  209. package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
  210. package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
  211. package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
  212. package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
  213. package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
  214. package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
  215. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
  216. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
  217. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
  218. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
  219. package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
  220. package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
  221. package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
  222. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
  223. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
  224. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
  225. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
  226. package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
  227. package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
  228. package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
  229. package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
  230. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
  231. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
  232. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
  233. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
  234. package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
  235. package/schemas/agent.schema.json +0 -34
  236. package/schemas/ai-config.schema.json +0 -28
  237. package/schemas/plugin.schema.json +0 -62
  238. package/schemas/skill.schema.json +0 -44
@@ -1,114 +0,0 @@
1
- ---
2
- name: task-artifact
3
- description: Creates a structured task directory with blank artifact files at session start. Directory is organized by domain, date, and task slug.
4
- event: SessionStart
5
- action: execute
6
-
7
- metadata:
8
- author: project-starter-framework
9
- version: "1.0"
10
- updated: "2026-02"
11
- ---
12
-
13
- # Task Artifact Hook
14
-
15
- > Scaffolds a task workspace directory at the start of each session.
16
-
17
- ## Purpose
18
-
19
- Automatically creates a `tasks/<domain>/<YYYY-MM-DD>/<task-slug>/` directory structure
20
- with blank artifact files, so every session has a consistent place to capture research,
21
- plans, file changes, and verification steps.
22
-
23
- ## Evento
24
-
25
- - **Trigger:** SessionStart
26
- - **Action:** execute
27
- - **Condition:** When a session begins with a clear task or feature in mind
28
-
29
- ## Domain Detection
30
-
31
- The `<domain>` is inferred from keywords in the first user message:
32
-
33
- | Keywords | Domain |
34
- |----------|--------|
35
- | `git`, `commit`, `branch`, `merge`, `rebase` | `git` |
36
- | `test`, `spec`, `coverage`, `mock`, `TDD` | `testing` |
37
- | `feature`, `implement`, `build`, `create`, `add` | `development` |
38
- | `bug`, `fix`, `error`, `broken`, `debug` | `bugfix` |
39
- | `refactor`, `clean`, `extract`, `simplify` | `refactoring` |
40
- | `deploy`, `CI`, `pipeline`, `docker`, `k8s` | `devops` |
41
- | `security`, `vulnerability`, `auth`, `CVE` | `security` |
42
- | `docs`, `README`, `documentation`, `guide` | `docs` |
43
- | *(default)* | `general` |
44
-
45
- ## Directory Structure Created
46
-
47
- ```
48
- tasks/
49
- └── <domain>/
50
- └── <YYYY-MM-DD>/
51
- └── <task-slug>/
52
- ├── research.md
53
- ├── plan.md
54
- ├── files-edited.md
55
- └── verification.md
56
- ```
57
-
58
- ## Lógica
59
-
60
- ```
61
- SI first message contains task keywords
62
- ENTONCES infer domain and task-slug from message
63
- CREATE tasks/<domain>/<YYYY-MM-DD>/<task-slug>/
64
- CREATE research.md with ## Research header
65
- CREATE plan.md with ## Plan header
66
- CREATE files-edited.md with ## Files Changed header
67
- CREATE verification.md with checklist
68
- SINO skip (no task directory needed for questions/exploration)
69
- ```
70
-
71
- ## Implementación
72
-
73
- ### Para Claude Code
74
-
75
- ```json
76
- {
77
- "hooks": {
78
- "SessionStart": [
79
- {
80
- "matcher": ".*",
81
- "command": "bash .ai-config/scripts/task-artifact.sh \"$CLAUDE_SESSION_FIRST_MESSAGE\""
82
- }
83
- ]
84
- }
85
- }
86
- ```
87
-
88
- ### Script: .ai-config/scripts/task-artifact.sh
89
-
90
- ```bash
91
- #!/bin/bash
92
- # Usage: task-artifact.sh "<first message>"
93
- DOMAIN=$(echo "$1" | grep -qiE "git|commit|branch|merge" && echo "git" || \
94
- echo "$1" | grep -qiE "test|spec|coverage|mock|TDD" && echo "testing" || \
95
- echo "$1" | grep -qiE "bug|fix|error|broken|debug" && echo "bugfix" || \
96
- echo "$1" | grep -qiE "refactor|clean|extract" && echo "refactoring" || \
97
- echo "$1" | grep -qiE "deploy|CI|pipeline|docker" && echo "devops" || \
98
- echo "development")
99
-
100
- DATE=$(date +%Y-%m-%d)
101
- SLUG=$(echo "$1" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | cut -c1-40)
102
- DIR="tasks/$DOMAIN/$DATE/$SLUG"
103
-
104
- mkdir -p "$DIR"
105
- echo -e "## Research\n\n_Add findings here_" > "$DIR/research.md"
106
- echo -e "## Plan\n\n_Add steps here_" > "$DIR/plan.md"
107
- echo -e "## Files Changed\n\n_Auto-populated_" > "$DIR/files-edited.md"
108
- echo -e "## Verification Checklist\n\n- [ ] Tests pass\n- [ ] No regressions\n- [ ] Docs updated" > "$DIR/verification.md"
109
- echo "📁 Task workspace: $DIR"
110
- ```
111
-
112
- ## Template Files
113
-
114
- See `tasks/_TEMPLATE/` for the canonical blank file templates.
@@ -1,100 +0,0 @@
1
- ---
2
- name: validate-workflow
3
- description: Validates GitHub Actions workflow YAML files after writing or editing. Checks syntax and required keys.
4
- event: PostToolUse
5
- tools:
6
- - Write
7
- - Edit
8
- match_pattern: "\\.github/workflows/.*\\.yml"
9
- action: execute
10
- metadata:
11
- author: project-starter-framework
12
- version: "1.0"
13
- updated: "2026-02"
14
- ---
15
-
16
- # Validate Workflow Hook
17
-
18
- > Automatically validates GitHub Actions workflow files after every write or edit.
19
-
20
- ## Purpose
21
-
22
- Catch YAML syntax errors and missing required keys in workflow files immediately after saving, before a broken workflow gets pushed to the repository.
23
-
24
- ## Checks Performed
25
-
26
- | Check | Rule |
27
- |-------|------|
28
- | YAML syntax | Valid YAML parseable by Python's `yaml.safe_load` |
29
- | `on:` trigger | Workflow must define at least one trigger |
30
- | `jobs:` key | Workflow must define at least one job |
31
-
32
- ## Behavior
33
-
34
- 1. **Triggers** after Write or Edit on any `.github/workflows/*.yml` file
35
- 2. **Validates** YAML syntax using `python3 -c "import yaml,sys; yaml.safe_load(open('$FILE'))"`
36
- 3. **Checks** for `on:` and `jobs:` keys
37
- 4. **Reports** any issues with line number if available
38
- 5. **Suggests** local testing tools if validation passes
39
-
40
- ## Local Testing Suggestion
41
-
42
- If validation passes, the hook suggests running the workflow locally:
43
-
44
- - **act** — [github.com/nektos/act](https://github.com/nektos/act): `act push --container-architecture linux/amd64`
45
- - **wrkflw** — lightweight alternative: `wrkflw run`
46
-
47
- ## Implementation (Claude Code JSON)
48
-
49
- ```json
50
- {
51
- "hooks": {
52
- "PostToolUse": [
53
- {
54
- "matcher": "Write",
55
- "hooks": [
56
- {
57
- "type": "command",
58
- "command": "python3 -c \"\nimport sys, os, json\ntool_input = os.environ.get('TOOL_INPUT', '{}')\ntry:\n data = json.loads(tool_input)\nexcept Exception:\n sys.exit(0)\nfile_path = data.get('file_path', data.get('path', ''))\nimport re\nif not re.search(r'\\.github/workflows/.*\\.yml$', file_path):\n sys.exit(0)\nimport yaml\ntry:\n with open(file_path) as f:\n content = yaml.safe_load(f)\nexcept yaml.YAMLError as e:\n print('WORKFLOW SYNTAX ERROR: ' + str(e))\n sys.exit(1)\nexcept FileNotFoundError:\n sys.exit(0)\nwarnings = []\nif not content:\n warnings.append('Workflow file is empty')\nelse:\n if 'on' not in content and True not in content:\n warnings.append('Missing required key: on (trigger definition)')\n if 'jobs' not in content:\n warnings.append('Missing required key: jobs')\nif warnings:\n print('WORKFLOW VALIDATION WARNINGS for ' + file_path + ':')\n for w in warnings:\n print(' - ' + w)\nelse:\n print('Workflow YAML valid: ' + file_path)\n print('Tip: Test locally with:')\n print(' act push --container-architecture linux/amd64')\n print(' # or: wrkflw run')\nsys.exit(0)\n\""
59
- }
60
- ]
61
- },
62
- {
63
- "matcher": "Edit",
64
- "hooks": [
65
- {
66
- "type": "command",
67
- "command": "python3 -c \"\nimport sys, os, json\ntool_input = os.environ.get('TOOL_INPUT', '{}')\ntry:\n data = json.loads(tool_input)\nexcept Exception:\n sys.exit(0)\nfile_path = data.get('file_path', data.get('path', ''))\nimport re\nif not re.search(r'\\.github/workflows/.*\\.yml$', file_path):\n sys.exit(0)\nimport yaml\ntry:\n with open(file_path) as f:\n content = yaml.safe_load(f)\nexcept yaml.YAMLError as e:\n print('WORKFLOW SYNTAX ERROR: ' + str(e))\n sys.exit(1)\nexcept FileNotFoundError:\n sys.exit(0)\nwarnings = []\nif not content:\n warnings.append('Workflow file is empty')\nelse:\n if 'on' not in content and True not in content:\n warnings.append('Missing required key: on (trigger definition)')\n if 'jobs' not in content:\n warnings.append('Missing required key: jobs')\nif warnings:\n print('WORKFLOW VALIDATION WARNINGS for ' + file_path + ':')\n for w in warnings:\n print(' - ' + w)\nelse:\n print('Workflow YAML valid: ' + file_path)\n print('Tip: Test locally with: act push --container-architecture linux/amd64')\nsys.exit(0)\n\""
68
- }
69
- ]
70
- }
71
- ]
72
- }
73
- }
74
- ```
75
-
76
- ## Examples
77
-
78
- ### ✅ Valid Workflow
79
- ```yaml
80
- name: CI
81
- on: [push, pull_request]
82
- jobs:
83
- test:
84
- runs-on: ubuntu-latest
85
- steps:
86
- - uses: actions/checkout@v4
87
- ```
88
- → Output: `Workflow YAML valid: .github/workflows/ci.yml`
89
-
90
- ### ❌ Invalid — Missing `jobs:`
91
- ```yaml
92
- name: CI
93
- on: [push]
94
- # jobs: missing!
95
- ```
96
- → Output: `WORKFLOW VALIDATION WARNINGS: Missing required key: jobs`
97
-
98
- ## Notes
99
-
100
- For local testing, install `act`: `brew install act` (macOS) or `apt install act` (Ubuntu via snap). See [nektos/act](https://github.com/nektos/act) for full docs.
@@ -1,71 +0,0 @@
1
- # Base System Prompt
2
-
3
- > Prompt base para cualquier AI CLI en este proyecto
4
-
5
- ---
6
-
7
- ## Contexto del Proyecto
8
-
9
- - **Nombre:** [NOMBRE_PROYECTO]
10
- - **Stack:** [STACK]
11
- - **Metodología:** [VibeKanban/Kanban/Scrum/Libre]
12
-
13
- ## Reglas Críticas
14
-
15
- ### NO hacer nunca
16
-
17
- 1. **NO agregar atribuciones a IA** en código, commits, PRs o docs
18
- - Nunca: `Co-authored-by: Claude/GPT/AI`
19
- - Nunca: `Made by AI`, `Generated by Claude`
20
- - Nunca: `@anthropic.com`, `@openai.com`
21
-
22
- 2. **NO ejecutar comandos destructivos** sin confirmación
23
- - Nunca: `rm -rf`, `drop database`, `truncate`
24
- - Siempre pedir confirmación para operaciones irreversibles
25
-
26
- 3. **NO commitear archivos sensibles**
27
- - Nunca: `.env`, credenciales, secrets
28
- - Verificar `.gitignore` antes de commit
29
-
30
- ### SIEMPRE hacer
31
-
32
- 1. **Leer antes de modificar**
33
- - Siempre leer archivos antes de editarlos
34
- - Entender contexto antes de cambiar
35
-
36
- 2. **Validar antes de push**
37
- - Ejecutar CI-Local: `./.ci-local/ci-local.sh quick`
38
- - Verificar que tests pasen
39
-
40
- 3. **Seguir convenciones del proyecto**
41
- - Conventional commits: `feat(scope): message`
42
- - Branching: `feature/t-xxx-description`
43
-
44
- ## Workflow
45
-
46
- ```
47
- 1. Leer contexto del proyecto (si existe .project/Memory/)
48
- 2. Trabajar en tarea
49
- 3. Validar con CI-Local
50
- 4. Commit + Push
51
- ```
52
-
53
- ## Archivos de Referencia
54
-
55
- | Archivo | Propósito |
56
- |---------|-----------|
57
- | `CLAUDE.md` | Instrucciones especificas |
58
- | `.project/Memory/CONTEXT.md` | Estado del proyecto (si VibeKanban) |
59
- | `.project/Memory/DECISIONS.md` | ADRs (si VibeKanban) |
60
- | `.project/Memory/WAVES.md` | Oleadas de trabajo (si VibeKanban) |
61
-
62
- ## Comandos Frecuentes
63
-
64
- ```bash
65
- # CI Local
66
- ./.ci-local/ci-local.sh quick # Validacion rapida
67
- ./.ci-local/ci-local.sh full # CI completo
68
-
69
- # Git
70
- git checkout feature/descripcion # Cambiar a feature branch
71
- ```
@@ -1,34 +0,0 @@
1
- # Debug Mode
2
-
3
- > Activar con: "modo debug" o "estoy debugueando un bug"
4
-
5
- Estás diagnosticando y corrigiendo un bug. Sé sistemático y metódico.
6
-
7
- ## Enfoque
8
- - Reproduce el problema primero. Confirma que podés triggerear el bug consistentemente.
9
- - Recopila información: mensajes de error, stack traces, logs, datos de request/response.
10
- - Formula una hipótesis antes de cambiar código. Identifica la causa raíz más probable.
11
- - Verifica la hipótesis con logging, breakpoints o tests dirigidos.
12
- - Corrige la causa raíz, no el síntoma. Evitá parches provisorios.
13
-
14
- ## Pasos de Diagnóstico
15
- 1. Lee el mensaje de error y stack trace cuidadosamente. Identifica la línea que falla.
16
- 2. Revisá cambios recientes: `git log --oneline -10` y `git diff HEAD~3`.
17
- 3. Buscá la lógica relacionada en el codebase con grep.
18
- 4. Agregá logging puntual en los límites (input, output, paths de error).
19
- 5. Simplificá el caso de reproducción al mínimo que lo dispara.
20
- 6. Verificá dependencias externas: estado de base de datos, respuestas de API, valores de config.
21
-
22
- ## Validación del Fix
23
- - Escribí un test que reproduzca el bug ANTES de escribir el fix.
24
- - Verificá que el fix resuelve el caso de reproducción original.
25
- - Corré el suite completo de tests para detectar regresiones.
26
- - Revisá paths de código relacionados por la misma clase de bug.
27
- - Documentá la causa raíz en el mensaje de commit.
28
-
29
- ## Evitar
30
- - No cambiar múltiples cosas a la vez. Aislá variables.
31
- - No agregar workarounds sin entender la causa raíz.
32
- - No remover error handling para que pasen los tests.
33
- - No asumir que el bug está en una dependencia sin evidencia.
34
- - No omitir el test de regresión para el bug corregido.
@@ -1,40 +0,0 @@
1
- # Deploy Mode
2
-
3
- > Activar con: "voy a deployar" o "modo deploy"
4
-
5
- Estás preparando o ejecutando un deployment. Priorizá seguridad y reversibilidad.
6
-
7
- ## Checklist Pre-Deploy
8
- - Todos los checks de CI pasan en el branch de deployment.
9
- - Las migraciones de base de datos son backward-compatible con la versión en producción.
10
- - Las variables de entorno están configuradas en el ambiente destino antes del deploy.
11
- - Los feature flags están configurados para features parcialmente lanzados.
12
- - El changelog o release notes están actualizados.
13
- - Hay un plan de rollback documentado y listo.
14
-
15
- ## Pasos de Deployment
16
- 1. Verificá que el artefacto de build corresponde al commit testeado (SHA o tag).
17
- 2. Corré migraciones de base de datos ANTES de deployar la nueva versión de la app.
18
- 3. Deploy a staging primero. Smoke test de los paths críticos.
19
- 4. Deploy a producción con estrategia rolling o blue-green.
20
- 5. Monitoreá error rates, latencia y health checks por 15 minutos post-deploy.
21
- 6. Confirmá éxito en el canal del equipo. Taggea el release en git.
22
-
23
- ## Criterios de Rollback
24
- - Error rate supera 2x el baseline pre-deploy.
25
- - Latencia P99 supera 3x el baseline pre-deploy.
26
- - Health check failures en más de una instancia.
27
- - Cualquier corrupción o violación de integridad de datos.
28
- - Issues críticos reportados por usuarios dentro de la ventana de deploy.
29
-
30
- ## Post-Deploy
31
- - Cerrar issues relacionados y actualizar el project board.
32
- - Monitorear Sentry y dashboards de logging para nuevos patrones de error.
33
- - Notificar a stakeholders del deployment completado.
34
- - Programar post-mortem si el deploy tuvo problemas.
35
-
36
- ## Evitar
37
- - No deployar los viernes ni antes de feriados sin aprobación explícita.
38
- - No saltear staging para "cambios pequeños". Todo pasa por staging.
39
- - No correr migraciones destructivas durante horario pico.
40
- - No deployar múltiples cambios no relacionados en un solo release.
@@ -1,32 +0,0 @@
1
- # Research Mode
2
-
3
- > Activar con: "investigá opciones para" o "modo research"
4
-
5
- Estás explorando opciones, evaluando herramientas o investigando preguntas técnicas.
6
-
7
- ## Enfoque
8
- - Definí claramente la pregunta o decisión antes de investigar.
9
- - Recopilá información de múltiples fuentes: docs, código fuente, benchmarks, posts de la comunidad.
10
- - Compará al menos dos alternativas para cualquier decisión de herramienta o librería.
11
- - Documentá hallazgos con pros, contras y una recomendación.
12
- - Acotá el tiempo de investigación para evitar parálisis de análisis.
13
-
14
- ## Criterios de Evaluación
15
- - Estado de mantenimiento: último commit, cadencia de releases, issues abiertos vs cerrados.
16
- - Adopción de la comunidad: descargas, GitHub stars, presencia en Stack Overflow.
17
- - Calidad de documentación: guía de inicio, referencia de API, ejemplos.
18
- - Performance: benchmarks, uso de memoria, tiempo de startup si es relevante.
19
- - Compatibilidad: funciona con el stack existente, compatibilidad de licencia.
20
- - Path de migración: esfuerzo para adoptar, esfuerzo para migrar si es necesario.
21
-
22
- ## Formato de Output
23
- - Resumí hallazgos en una tabla de comparación estructurada.
24
- - Declarar suposiciones y restricciones que influyeron en la evaluación.
25
- - Proveer una recomendación clara con fundamento.
26
- - Incluir links a fuentes para referencia futura.
27
-
28
- ## Evitar
29
- - No recomendar una herramienta solo por popularidad.
30
- - No pasar más de 30 minutos en una pregunta de investigación sin hacer check-in.
31
- - No tomar decisiones irreversibles basadas en investigación incompleta.
32
- - No introducir herramientas nuevas cuando las existentes resuelven el problema adecuadamente.
@@ -1,33 +0,0 @@
1
- # Code Review Mode
2
-
3
- > Activar con: "revisá este código" o "modo review"
4
-
5
- Estás revisando código por correctitud, seguridad y mantenibilidad.
6
-
7
- ## Enfoque
8
- - Leé la descripción del PR y el issue vinculado primero para entender la intención.
9
- - Revisá el diff completo antes de comentar. Entendé el cambio en su conjunto.
10
- - Enfocate en correctitud lógica, edge cases y seguridad antes que estilo.
11
- - Verificá que los tests cubren el comportamiento cambiado, no solo el happy path.
12
- - Verificá el error handling: ¿qué pasa cuando los inputs son inválidos o los servicios fallan?
13
-
14
- ## Qué Verificar
15
- - Validación de input en los límites del sistema (endpoints de API, form handlers).
16
- - SQL injection, XSS y otras vulnerabilidades de inyección.
17
- - Queries N+1, índices faltantes, result sets no acotados.
18
- - Race conditions en código concurrente o async.
19
- - Uso correcto de transacciones para mutaciones multi-paso.
20
- - Secrets o credenciales incluidos accidentalmente en el diff.
21
- - Breaking changes en APIs públicas o interfaces compartidas.
22
-
23
- ## Estilo de Comentarios
24
- - Prefijá con intención: `blocker:`, `suggestion:`, `question:`, `nit:`.
25
- - Solo comentarios `blocker:` deben impedir la aprobación.
26
- - Sugerí alternativas concretas, no solo "esto podría ser mejor".
27
- - Reconocé buenos patrones e implementaciones limpias.
28
-
29
- ## Evitar
30
- - No bikeshedear sobre formateo si hay un auto-formatter configurado.
31
- - No pedir cambios fuera del scope del PR.
32
- - No bloquear PRs por preferencias de estilo que no están en las reglas del proyecto.
33
- - No aprobar sin leer el diff completo.
@@ -1,79 +0,0 @@
1
- # Code Review Policy
2
-
3
- Guidelines for AI agents conducting code reviews. Apply these consistently across all PRs.
4
-
5
- ---
6
-
7
- ## Naming Conventions
8
-
9
- - Use clear, descriptive names that reveal intent — no abbreviations unless universally known (`url`, `id`, `db` are fine; `mgr`, `tmp`, `cb` are not).
10
- - Booleans: prefer `is`, `has`, `can`, `should` prefixes (`isLoading`, `hasPermission`).
11
- - Functions: use verbs (`fetchUser`, `calculateTotal`); avoid nouns (`userData`, `total`).
12
- - Follow language conventions: `camelCase` for JS/TS/Go, `snake_case` for Python/Rust, `PascalCase` for types/classes everywhere.
13
- - Constants: `UPPER_SNAKE_CASE` for true constants; regular naming for `const` variables that aren't fixed values.
14
-
15
- ---
16
-
17
- ## Error Handling
18
-
19
- - Every error must be explicitly handled — no silent `catch` blocks, no empty `except`.
20
- - Log errors with enough context to reproduce: include IDs, input values, stack traces.
21
- - User-facing error messages must be clear and actionable; never expose internal stack traces or system paths.
22
- - Distinguish between recoverable errors (return/log) and fatal errors (fail fast).
23
- - For async code: handle rejected promises; never swallow errors with bare `catch () {}`.
24
-
25
- ---
26
-
27
- ## Security
28
-
29
- - No hardcoded secrets, tokens, passwords, or API keys — use environment variables.
30
- - Validate and sanitize all external inputs (API params, form fields, file uploads).
31
- - Check for injection vulnerabilities: SQL injection, XSS, command injection.
32
- - Apply least privilege: services, DB users, and IAM roles should have only what they need.
33
- - Avoid exposing sensitive data in logs, error messages, or API responses.
34
- - Verify authentication/authorization checks on every protected endpoint.
35
-
36
- ---
37
-
38
- ## Performance
39
-
40
- - Avoid N+1 queries — use batch fetches, joins, or `include`/`preload` where appropriate.
41
- - Avoid unnecessary loops inside loops; prefer set operations or indexed lookups.
42
- - Prefer lazy loading for heavy resources not needed at startup.
43
- - Cache expensive operations with a clear invalidation strategy.
44
- - Flag unbounded queries — always paginate or limit result sets from the database.
45
-
46
- ---
47
-
48
- ## Test Coverage
49
-
50
- - New features must include unit tests covering happy path and key edge cases.
51
- - Bug fixes must include a regression test that would have caught the original bug.
52
- - Target ≥ 80% line coverage; don't game it with trivial tests.
53
- - Tests must be deterministic — no flaky tests, no `sleep` for timing, no hardcoded dates.
54
- - Test the behavior, not the implementation — avoid over-mocking internal details.
55
-
56
- ---
57
-
58
- ## Code Smells
59
-
60
- Flag the following (don't block unless egregious, but note them):
61
-
62
- | Smell | Threshold |
63
- |-------|-----------|
64
- | Duplicate code (DRY violation) | 3+ repeated lines without extraction |
65
- | Long functions | > 50 lines |
66
- | Deep nesting | > 3 levels of indentation |
67
- | Magic numbers | Unexplained literals (except 0, 1, -1) |
68
- | God class / god function | Does too many unrelated things |
69
- | Dead code | Unreachable branches, unused imports, commented-out blocks |
70
-
71
- ---
72
-
73
- ## PR Conventions
74
-
75
- - Title must follow Conventional Commits: `type(scope): description` (e.g., `fix(auth): handle expired token refresh`).
76
- - Description must explain **WHY** the change was made, not just what changed — that's what the diff is for.
77
- - Link related issues with `Closes #123` or `Refs #456`.
78
- - Each PR should be a single logical change — split unrelated fixes into separate PRs.
79
- - Breaking changes must be flagged with `BREAKING CHANGE:` in the commit footer and explained in the PR description.
@@ -1,157 +0,0 @@
1
- ---
2
- # =============================================================================
3
- # SKILL TEMPLATE (Gentleman-Skills Compatible)
4
- # =============================================================================
5
- # Formato compatible con: https://github.com/Gentleman-Programming/Gentleman-Skills
6
- #
7
- # ESTRUCTURA DE CARPETA:
8
- # .ai-config/skills/{category}/{skill-name}/
9
- # └── SKILL.md ← este archivo
10
- # └── assets/ ← opcional: templates, schemas, ejemplos
11
- # └── references/ ← opcional: links a docs locales
12
- # =============================================================================
13
-
14
- name: mi-skill
15
- description: >
16
- Descripción breve del skill.
17
- Trigger: Contexto que activa este skill (ej: "trabajando con React")
18
-
19
- metadata:
20
- author: tu-usuario-github
21
- version: "1.0"
22
- tags: [frontend, backend, testing]
23
- language: typescript # typescript | python | go | rust | java
24
- ---
25
-
26
- # [Nombre del Skill]
27
-
28
- > [Descripción de una línea de lo que hace este skill]
29
-
30
- ## When to Use
31
-
32
- Usar este skill cuando:
33
-
34
- - [ ] Condición 1 (ej: "Editando archivos .tsx")
35
- - [ ] Condición 2 (ej: "Creando componentes React")
36
- - [ ] Condición 3 (ej: "Implementando estado con hooks")
37
-
38
- ## Critical Patterns
39
-
40
- ### Pattern 1: [Nombre del patrón]
41
-
42
- **Por qué:** [Explicación de por qué este patrón es importante]
43
-
44
- ```typescript
45
- // ✅ Correcto
46
- [código ejemplo correcto]
47
-
48
- // ❌ Incorrecto
49
- [código ejemplo incorrecto]
50
- ```
51
-
52
- ### Pattern 2: [Nombre del patrón]
53
-
54
- **Por qué:** [Explicación]
55
-
56
- ```typescript
57
- // ✅ Correcto
58
- [código]
59
- ```
60
-
61
- ### Pattern 3: [Nombre del patrón]
62
-
63
- **Por qué:** [Explicación]
64
-
65
- ```typescript
66
- // ✅ Correcto
67
- [código]
68
- ```
69
-
70
- ## Code Examples
71
-
72
- ### Example 1: [Título descriptivo]
73
-
74
- ```typescript
75
- // Ejemplo completo y funcional
76
- // Con comentarios explicativos
77
-
78
- [código completo]
79
- ```
80
-
81
- ### Example 2: [Título descriptivo]
82
-
83
- ```typescript
84
- [código completo]
85
- ```
86
-
87
- ### Example 3: [Título descriptivo]
88
-
89
- ```typescript
90
- [código completo]
91
- ```
92
-
93
- ## Anti-Patterns
94
-
95
- ### ❌ Anti-Pattern 1: [Nombre]
96
-
97
- **Problema:** [Por qué es malo]
98
-
99
- ```typescript
100
- // ❌ No hacer esto
101
- [código malo]
102
-
103
- // ✅ Hacer esto en su lugar
104
- [código bueno]
105
- ```
106
-
107
- ### ❌ Anti-Pattern 2: [Nombre]
108
-
109
- **Problema:** [Por qué es malo]
110
-
111
- ```typescript
112
- // ❌ Evitar
113
- [código malo]
114
- ```
115
-
116
- ## Quick Reference
117
-
118
- | Tarea | Snippet |
119
- |-------|---------|
120
- | [Tarea 1] | `[código corto]` |
121
- | [Tarea 2] | `[código corto]` |
122
- | [Tarea 3] | `[código corto]` |
123
-
124
- ## Resources
125
-
126
- - [Documentación Oficial](URL)
127
- - [Guía de Mejores Prácticas](URL)
128
- - [Repositorio de Ejemplos](URL)
129
-
130
- ---
131
-
132
- ## Related Skills
133
-
134
- - `related-skill-1`: Descripción breve de cuándo usar
135
- - `related-skill-2`: Descripción breve de cuándo usar
136
- - `related-skill-3`: Descripción breve de cuándo usar
137
-
138
- ---
139
-
140
- ## Changelog
141
-
142
- - **1.0** - Versión inicial
143
-
144
- ---
145
-
146
- ## Progressive Disclosure Pattern (Optional)
147
-
148
- For complex skills, split content into references/:
149
- ```
150
- skills/my-skill/
151
- ├── SKILL.md # Core logic only (~150 lines max)
152
- └── references/
153
- ├── examples.md # Concrete examples (loaded on demand)
154
- └── patterns.md # Advanced patterns (loaded on demand)
155
- ```
156
- In SKILL.md, reference them with:
157
- > For examples, see [references/examples.md](references/examples.md)