javi-forge 1.2.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.
- package/ci-local/ci-local.sh +20 -8
- package/package.json +1 -1
- package/ai-config/.skillignore +0 -15
- package/ai-config/AUTO_INVOKE.md +0 -300
- package/ai-config/agents/_TEMPLATE.md +0 -93
- package/ai-config/agents/business/api-designer.md +0 -1657
- package/ai-config/agents/business/business-analyst.md +0 -1331
- package/ai-config/agents/business/product-strategist.md +0 -206
- package/ai-config/agents/business/project-manager.md +0 -178
- package/ai-config/agents/business/requirements-analyst.md +0 -1277
- package/ai-config/agents/business/technical-writer.md +0 -1679
- package/ai-config/agents/creative/ux-designer.md +0 -205
- package/ai-config/agents/data-ai/ai-engineer.md +0 -487
- package/ai-config/agents/data-ai/analytics-engineer.md +0 -953
- package/ai-config/agents/data-ai/data-engineer.md +0 -173
- package/ai-config/agents/data-ai/data-scientist.md +0 -672
- package/ai-config/agents/data-ai/mlops-engineer.md +0 -814
- package/ai-config/agents/data-ai/prompt-engineer.md +0 -772
- package/ai-config/agents/development/angular-expert.md +0 -620
- package/ai-config/agents/development/backend-architect.md +0 -795
- package/ai-config/agents/development/database-specialist.md +0 -212
- package/ai-config/agents/development/frontend-specialist.md +0 -686
- package/ai-config/agents/development/fullstack-engineer.md +0 -668
- package/ai-config/agents/development/golang-pro.md +0 -338
- package/ai-config/agents/development/java-enterprise.md +0 -400
- package/ai-config/agents/development/javascript-pro.md +0 -422
- package/ai-config/agents/development/nextjs-pro.md +0 -474
- package/ai-config/agents/development/python-pro.md +0 -570
- package/ai-config/agents/development/react-pro.md +0 -487
- package/ai-config/agents/development/rust-pro.md +0 -246
- package/ai-config/agents/development/spring-boot-4-expert.md +0 -326
- package/ai-config/agents/development/typescript-pro.md +0 -336
- package/ai-config/agents/development/vue-specialist.md +0 -605
- package/ai-config/agents/infrastructure/cloud-architect.md +0 -472
- package/ai-config/agents/infrastructure/deployment-manager.md +0 -358
- package/ai-config/agents/infrastructure/devops-engineer.md +0 -455
- package/ai-config/agents/infrastructure/incident-responder.md +0 -519
- package/ai-config/agents/infrastructure/kubernetes-expert.md +0 -705
- package/ai-config/agents/infrastructure/monitoring-specialist.md +0 -674
- package/ai-config/agents/infrastructure/performance-engineer.md +0 -658
- package/ai-config/agents/orchestrator.md +0 -241
- package/ai-config/agents/quality/accessibility-auditor.md +0 -1204
- package/ai-config/agents/quality/code-reviewer-compact.md +0 -123
- package/ai-config/agents/quality/code-reviewer.md +0 -363
- package/ai-config/agents/quality/dependency-manager.md +0 -743
- package/ai-config/agents/quality/e2e-test-specialist.md +0 -1005
- package/ai-config/agents/quality/performance-tester.md +0 -1086
- package/ai-config/agents/quality/security-auditor.md +0 -133
- package/ai-config/agents/quality/test-engineer.md +0 -453
- package/ai-config/agents/specialists/api-designer.md +0 -87
- package/ai-config/agents/specialists/backend-architect.md +0 -73
- package/ai-config/agents/specialists/code-reviewer.md +0 -77
- package/ai-config/agents/specialists/db-optimizer.md +0 -75
- package/ai-config/agents/specialists/devops-engineer.md +0 -83
- package/ai-config/agents/specialists/documentation-writer.md +0 -78
- package/ai-config/agents/specialists/frontend-developer.md +0 -75
- package/ai-config/agents/specialists/performance-analyst.md +0 -82
- package/ai-config/agents/specialists/refactor-specialist.md +0 -74
- package/ai-config/agents/specialists/security-auditor.md +0 -74
- package/ai-config/agents/specialists/test-engineer.md +0 -81
- package/ai-config/agents/specialists/ux-consultant.md +0 -76
- package/ai-config/agents/specialized/agent-generator.md +0 -1190
- package/ai-config/agents/specialized/blockchain-developer.md +0 -149
- package/ai-config/agents/specialized/code-migrator.md +0 -892
- package/ai-config/agents/specialized/context-manager.md +0 -978
- package/ai-config/agents/specialized/documentation-writer.md +0 -1078
- package/ai-config/agents/specialized/ecommerce-expert.md +0 -1756
- package/ai-config/agents/specialized/embedded-engineer.md +0 -1714
- package/ai-config/agents/specialized/error-detective.md +0 -1034
- package/ai-config/agents/specialized/fintech-specialist.md +0 -1659
- package/ai-config/agents/specialized/freelance-project-planner-v2.md +0 -1988
- package/ai-config/agents/specialized/freelance-project-planner-v3.md +0 -2136
- package/ai-config/agents/specialized/freelance-project-planner-v4.md +0 -4503
- package/ai-config/agents/specialized/freelance-project-planner.md +0 -722
- package/ai-config/agents/specialized/game-developer.md +0 -1963
- package/ai-config/agents/specialized/healthcare-dev.md +0 -1620
- package/ai-config/agents/specialized/mobile-developer.md +0 -188
- package/ai-config/agents/specialized/parallel-plan-executor.md +0 -506
- package/ai-config/agents/specialized/plan-executor.md +0 -485
- package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +0 -485
- package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +0 -3493
- package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +0 -778
- package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +0 -918
- package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +0 -1537
- package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +0 -2633
- package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +0 -5610
- package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +0 -335
- package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +0 -215
- package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +0 -260
- package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +0 -379
- package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +0 -355
- package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +0 -279
- package/ai-config/agents/specialized/template-writer.md +0 -347
- package/ai-config/agents/specialized/test-runner.md +0 -99
- package/ai-config/agents/specialized/vibekanban-smart-worker.md +0 -244
- package/ai-config/agents/specialized/wave-executor.md +0 -138
- package/ai-config/agents/specialized/workflow-optimizer.md +0 -1114
- package/ai-config/commands/git/changelog.md +0 -32
- package/ai-config/commands/git/ci-local.md +0 -70
- package/ai-config/commands/git/commit.md +0 -35
- package/ai-config/commands/git/fix-issue.md +0 -23
- package/ai-config/commands/git/pr-create.md +0 -42
- package/ai-config/commands/git/pr-review.md +0 -50
- package/ai-config/commands/git/worktree.md +0 -39
- package/ai-config/commands/refactoring/cleanup.md +0 -24
- package/ai-config/commands/refactoring/dead-code.md +0 -40
- package/ai-config/commands/refactoring/extract.md +0 -31
- package/ai-config/commands/testing/e2e.md +0 -30
- package/ai-config/commands/testing/tdd.md +0 -36
- package/ai-config/commands/testing/test-coverage.md +0 -30
- package/ai-config/commands/testing/test-fix.md +0 -24
- package/ai-config/commands/workflow/generate-agents-md.md +0 -85
- package/ai-config/commands/workflow/planning.md +0 -47
- package/ai-config/commands/workflows/compound.md +0 -89
- package/ai-config/commands/workflows/diagnose.md +0 -70
- package/ai-config/commands/workflows/discover.md +0 -86
- package/ai-config/commands/workflows/plan.md +0 -77
- package/ai-config/commands/workflows/review.md +0 -78
- package/ai-config/commands/workflows/work.md +0 -75
- package/ai-config/config.yaml +0 -18
- package/ai-config/hooks/_TEMPLATE.md +0 -96
- package/ai-config/hooks/block-dangerous-commands.md +0 -75
- package/ai-config/hooks/commit-guard.md +0 -90
- package/ai-config/hooks/context-loader.md +0 -73
- package/ai-config/hooks/improve-prompt.md +0 -91
- package/ai-config/hooks/learning-log.md +0 -72
- package/ai-config/hooks/model-router.md +0 -86
- package/ai-config/hooks/secret-scanner.md +0 -64
- package/ai-config/hooks/skill-validator.md +0 -102
- package/ai-config/hooks/task-artifact.md +0 -114
- package/ai-config/hooks/validate-workflow.md +0 -100
- package/ai-config/prompts/base.md +0 -71
- package/ai-config/prompts/modes/debug.md +0 -34
- package/ai-config/prompts/modes/deploy.md +0 -40
- package/ai-config/prompts/modes/research.md +0 -32
- package/ai-config/prompts/modes/review.md +0 -33
- package/ai-config/prompts/review-policy.md +0 -79
- package/ai-config/skills/_TEMPLATE.md +0 -157
- package/ai-config/skills/backend/api-gateway/SKILL.md +0 -254
- package/ai-config/skills/backend/bff-concepts/SKILL.md +0 -239
- package/ai-config/skills/backend/bff-spring/SKILL.md +0 -364
- package/ai-config/skills/backend/chi-router/SKILL.md +0 -396
- package/ai-config/skills/backend/error-handling/SKILL.md +0 -255
- package/ai-config/skills/backend/exceptions-spring/SKILL.md +0 -323
- package/ai-config/skills/backend/fastapi/SKILL.md +0 -302
- package/ai-config/skills/backend/gateway-spring/SKILL.md +0 -390
- package/ai-config/skills/backend/go-backend/SKILL.md +0 -457
- package/ai-config/skills/backend/gradle-multimodule/SKILL.md +0 -274
- package/ai-config/skills/backend/graphql-concepts/SKILL.md +0 -352
- package/ai-config/skills/backend/graphql-spring/SKILL.md +0 -398
- package/ai-config/skills/backend/grpc-concepts/SKILL.md +0 -283
- package/ai-config/skills/backend/grpc-spring/SKILL.md +0 -445
- package/ai-config/skills/backend/jwt-auth/SKILL.md +0 -412
- package/ai-config/skills/backend/notifications-concepts/SKILL.md +0 -259
- package/ai-config/skills/backend/recommendations-concepts/SKILL.md +0 -261
- package/ai-config/skills/backend/search-concepts/SKILL.md +0 -263
- package/ai-config/skills/backend/search-spring/SKILL.md +0 -375
- package/ai-config/skills/backend/spring-boot-4/SKILL.md +0 -172
- package/ai-config/skills/backend/websockets/SKILL.md +0 -532
- package/ai-config/skills/data-ai/ai-ml/SKILL.md +0 -423
- package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +0 -195
- package/ai-config/skills/data-ai/analytics-spring/SKILL.md +0 -340
- package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +0 -440
- package/ai-config/skills/data-ai/langchain/SKILL.md +0 -238
- package/ai-config/skills/data-ai/mlflow/SKILL.md +0 -302
- package/ai-config/skills/data-ai/onnx-inference/SKILL.md +0 -290
- package/ai-config/skills/data-ai/powerbi/SKILL.md +0 -352
- package/ai-config/skills/data-ai/pytorch/SKILL.md +0 -274
- package/ai-config/skills/data-ai/scikit-learn/SKILL.md +0 -321
- package/ai-config/skills/data-ai/vector-db/SKILL.md +0 -301
- package/ai-config/skills/database/graph-databases/SKILL.md +0 -218
- package/ai-config/skills/database/graph-spring/SKILL.md +0 -361
- package/ai-config/skills/database/pgx-postgres/SKILL.md +0 -512
- package/ai-config/skills/database/redis-cache/SKILL.md +0 -343
- package/ai-config/skills/database/sqlite-embedded/SKILL.md +0 -388
- package/ai-config/skills/database/timescaledb/SKILL.md +0 -320
- package/ai-config/skills/docs/api-documentation/SKILL.md +0 -293
- package/ai-config/skills/docs/docs-spring/SKILL.md +0 -377
- package/ai-config/skills/docs/mustache-templates/SKILL.md +0 -190
- package/ai-config/skills/docs/technical-docs/SKILL.md +0 -447
- package/ai-config/skills/frontend/astro-ssr/SKILL.md +0 -441
- package/ai-config/skills/frontend/frontend-design/SKILL.md +0 -54
- package/ai-config/skills/frontend/frontend-web/SKILL.md +0 -368
- package/ai-config/skills/frontend/mantine-ui/SKILL.md +0 -396
- package/ai-config/skills/frontend/tanstack-query/SKILL.md +0 -439
- package/ai-config/skills/frontend/zod-validation/SKILL.md +0 -417
- package/ai-config/skills/frontend/zustand-state/SKILL.md +0 -350
- package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +0 -244
- package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +0 -378
- package/ai-config/skills/infrastructure/devops-infra/SKILL.md +0 -435
- package/ai-config/skills/infrastructure/docker-containers/SKILL.md +0 -420
- package/ai-config/skills/infrastructure/kubernetes/SKILL.md +0 -456
- package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +0 -546
- package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +0 -474
- package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +0 -315
- package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +0 -504
- package/ai-config/skills/mobile/mobile-ionic/SKILL.md +0 -448
- package/ai-config/skills/prompt-improver/SKILL.md +0 -125
- package/ai-config/skills/quality/ghagga-review/SKILL.md +0 -216
- package/ai-config/skills/references/hooks-patterns/SKILL.md +0 -238
- package/ai-config/skills/references/mcp-servers/SKILL.md +0 -275
- package/ai-config/skills/references/plugins-reference/SKILL.md +0 -110
- package/ai-config/skills/references/skills-reference/SKILL.md +0 -420
- package/ai-config/skills/references/subagent-templates/SKILL.md +0 -193
- package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +0 -410
- package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +0 -408
- package/ai-config/skills/systems-iot/rust-systems/SKILL.md +0 -386
- package/ai-config/skills/systems-iot/tokio-async/SKILL.md +0 -324
- package/ai-config/skills/testing/playwright-e2e/SKILL.md +0 -289
- package/ai-config/skills/testing/testcontainers/SKILL.md +0 -299
- package/ai-config/skills/testing/vitest-testing/SKILL.md +0 -381
- package/ai-config/skills/workflow/ci-local-guide/SKILL.md +0 -118
- package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +0 -299
- package/ai-config/skills/workflow/claude-md-improver/SKILL.md +0 -158
- package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +0 -117
- package/ai-config/skills/workflow/git-github/SKILL.md +0 -334
- package/ai-config/skills/workflow/git-github/references/examples.md +0 -160
- package/ai-config/skills/workflow/git-workflow/SKILL.md +0 -214
- package/ai-config/skills/workflow/ide-plugins/SKILL.md +0 -277
- package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +0 -401
- package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +0 -199
- package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +0 -100
- package/ai-config/skills/workflow/verification-before-completion/SKILL.md +0 -73
- package/ai-config/skills/workflow/wave-workflow/SKILL.md +0 -178
- package/schemas/agent.schema.json +0 -34
- package/schemas/ai-config.schema.json +0 -28
- package/schemas/plugin.schema.json +0 -62
- package/schemas/skill.schema.json +0 -44
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: compound
|
|
3
|
-
description: Post-completion workflow — summarize what was learned, append to learnings.md, and suggest CLAUDE.md improvements. Triggered after significant task completion.
|
|
4
|
-
category: workflows
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /workflows:compound
|
|
8
|
-
|
|
9
|
-
Capture learnings after completing significant work and improve project AI configuration.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/workflows:compound [<feature-name>]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Run this after completing a feature, fixing a complex bug, or finishing a refactoring session.
|
|
18
|
-
|
|
19
|
-
## What It Does
|
|
20
|
-
|
|
21
|
-
1. **Summarizes the work**: What was built, changed, or discovered
|
|
22
|
-
2. **Extracts learnings**: Patterns found, mistakes made, approaches that worked
|
|
23
|
-
3. **Appends to learnings.md**: Persistent knowledge base at project root
|
|
24
|
-
4. **Suggests CLAUDE.md improvements**: 1-3 specific, actionable improvements
|
|
25
|
-
|
|
26
|
-
## PostToolUse Pattern
|
|
27
|
-
|
|
28
|
-
This command is designed to trigger after significant task completion. Add to your workflow:
|
|
29
|
-
```
|
|
30
|
-
After every /workflows:work completion → run /workflows:compound
|
|
31
|
-
After every major debugging session → run /workflows:compound
|
|
32
|
-
After every architecture decision → run /workflows:compound
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Process
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
STEP 1: Review what was just completed
|
|
39
|
-
→ Read tasks/<feature-name>/plan.md (if exists)
|
|
40
|
-
→ Read tasks/<feature-name>/files-edited.md (if exists)
|
|
41
|
-
→ Reflect on the conversation/session
|
|
42
|
-
|
|
43
|
-
STEP 2: Synthesize learnings
|
|
44
|
-
→ What patterns were discovered?
|
|
45
|
-
→ What went wrong and how was it resolved?
|
|
46
|
-
→ What would you do differently next time?
|
|
47
|
-
→ What project-specific context would help future sessions?
|
|
48
|
-
|
|
49
|
-
STEP 3: Append to learnings.md
|
|
50
|
-
→ Create if it doesn't exist
|
|
51
|
-
→ Add dated entry with feature name
|
|
52
|
-
|
|
53
|
-
STEP 4: Suggest CLAUDE.md improvements
|
|
54
|
-
→ Review current CLAUDE.md
|
|
55
|
-
→ Propose 1-3 specific additions or changes
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## learnings.md Format
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
## YYYY-MM-DD — <feature-name or topic>
|
|
62
|
-
|
|
63
|
-
### What Was Done
|
|
64
|
-
[Brief summary of work completed]
|
|
65
|
-
|
|
66
|
-
### Key Learnings
|
|
67
|
-
- [Learning 1: specific and reusable]
|
|
68
|
-
- [Learning 2: specific and reusable]
|
|
69
|
-
|
|
70
|
-
### What Went Wrong
|
|
71
|
-
- [Issue encountered and how it was resolved]
|
|
72
|
-
|
|
73
|
-
### Patterns to Reuse
|
|
74
|
-
- [Approach that worked well and should be applied again]
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## CLAUDE.md Suggestion Format
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
Suggested CLAUDE.md improvements:
|
|
81
|
-
|
|
82
|
-
1. **Add command to run tests**: `npm test` — discovered during this session that
|
|
83
|
-
tests need to be run with --watch=false in CI context
|
|
84
|
-
|
|
85
|
-
2. **Document auth pattern**: Project uses custom JWT middleware — add to CLAUDE.md
|
|
86
|
-
so future sessions don't re-discover this
|
|
87
|
-
|
|
88
|
-
3. **Note environment variables**: DATABASE_URL must be set — add to setup section
|
|
89
|
-
```
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: diagnose
|
|
3
|
-
description: Chained diagnosis workflow — investigate issue, verify with devil's advocate, then solve. Uses ACH (Analysis of Competing Hypotheses).
|
|
4
|
-
category: workflows
|
|
5
|
-
chain:
|
|
6
|
-
- investigate
|
|
7
|
-
- verify
|
|
8
|
-
- solve
|
|
9
|
-
suggests_next:
|
|
10
|
-
- /workflows:compound
|
|
11
|
-
- /workflows:review
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# /workflows:diagnose
|
|
15
|
-
|
|
16
|
-
Structured diagnosis workflow for complex bugs and issues.
|
|
17
|
-
|
|
18
|
-
## Usage
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
/workflows:diagnose <issue-description>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Chain Steps
|
|
25
|
-
|
|
26
|
-
### Step 1: Investigate
|
|
27
|
-
Gather evidence and generate hypotheses using the debug-mode skill.
|
|
28
|
-
|
|
29
|
-
1. Reproduce the issue (or understand the reproduction steps)
|
|
30
|
-
2. Gather context: error messages, stack traces, recent changes, logs
|
|
31
|
-
3. Generate 3-5 competing hypotheses ranked by likelihood
|
|
32
|
-
4. Map evidence to hypotheses (which evidence supports/contradicts each)
|
|
33
|
-
|
|
34
|
-
Output: ACH matrix
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
## ACH Matrix: <issue>
|
|
38
|
-
| Evidence | H1 (70%) | H2 (20%) | H3 (10%) |
|
|
39
|
-
|----------|----------|----------|----------|
|
|
40
|
-
| Error at line 42 | Consistent | Inconsistent | Neutral |
|
|
41
|
-
| Works in staging | Inconsistent | Consistent | Consistent |
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**After completion, suggest**: "Investigation complete. Run step 2 for devil's advocate verification, or jump to step 3 if confident."
|
|
45
|
-
|
|
46
|
-
### Step 2: Verify (Devil's Advocate)
|
|
47
|
-
Challenge the leading hypothesis:
|
|
48
|
-
|
|
49
|
-
1. **Assume H1 is wrong** — what evidence would you expect to see?
|
|
50
|
-
2. **Check for that evidence** — does it exist?
|
|
51
|
-
3. **Try to reproduce with H1 fixed** — does the fix actually work?
|
|
52
|
-
4. If H1 survives the challenge, proceed to fix. Otherwise, promote H2.
|
|
53
|
-
|
|
54
|
-
**After completion, suggest**: "Verification complete. H[N] confirmed. Run step 3 to implement the fix."
|
|
55
|
-
|
|
56
|
-
### Step 3: Solve
|
|
57
|
-
Implement the fix based on the verified hypothesis:
|
|
58
|
-
|
|
59
|
-
1. Write the fix
|
|
60
|
-
2. Verify the original reproduction steps pass
|
|
61
|
-
3. Run the full test suite
|
|
62
|
-
4. Document what was wrong and why (for Engram)
|
|
63
|
-
|
|
64
|
-
**After completion, suggest**: "Fix applied. Next: `/workflows:compound` to capture learnings, or `/workflows:review` for code review."
|
|
65
|
-
|
|
66
|
-
## Rules
|
|
67
|
-
|
|
68
|
-
1. Never skip step 2 for Medium+ complexity issues
|
|
69
|
-
2. Always document the root cause in Engram
|
|
70
|
-
3. If 3 rounds of investigation don't converge, escalate to user
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: discover
|
|
3
|
-
description: Chained discovery workflow — brainstorm ideas, identify assumptions, prioritize experiments, then execute. Progressive suggestions after each step.
|
|
4
|
-
category: workflows
|
|
5
|
-
chain:
|
|
6
|
-
- brainstorm
|
|
7
|
-
- identify-assumptions
|
|
8
|
-
- prioritize
|
|
9
|
-
- experiment
|
|
10
|
-
suggests_next:
|
|
11
|
-
- /workflows:plan
|
|
12
|
-
- /workflows:work
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# /workflows:discover
|
|
16
|
-
|
|
17
|
-
End-to-end discovery workflow that chains 4 steps with progressive suggestions.
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
/workflows:discover <topic>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Chain Steps
|
|
26
|
-
|
|
27
|
-
### Step 1: Brainstorm
|
|
28
|
-
Generate 5-10 ideas related to the topic. No filtering, quantity over quality.
|
|
29
|
-
|
|
30
|
-
Output format:
|
|
31
|
-
```
|
|
32
|
-
## Ideas for: <topic>
|
|
33
|
-
1. [idea] — [one-line rationale]
|
|
34
|
-
2. [idea] — [one-line rationale]
|
|
35
|
-
...
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
**After completion, suggest**: "Ideas generated. Run step 2 to identify assumptions, or pick specific ideas to explore."
|
|
39
|
-
|
|
40
|
-
### Step 2: Identify Assumptions
|
|
41
|
-
For the top 3-5 ideas, list the key assumptions that must be true for each to work.
|
|
42
|
-
|
|
43
|
-
Output format:
|
|
44
|
-
```
|
|
45
|
-
## Assumptions
|
|
46
|
-
### Idea 1: [name]
|
|
47
|
-
- [assumption] — risk: high/medium/low
|
|
48
|
-
- [assumption] — risk: high/medium/low
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**After completion, suggest**: "Assumptions mapped. Run step 3 to prioritize by risk, or go back to brainstorm more."
|
|
52
|
-
|
|
53
|
-
### Step 3: Prioritize
|
|
54
|
-
Rank ideas by: (1) impact, (2) effort, (3) assumption risk. Create a 2x2 matrix.
|
|
55
|
-
|
|
56
|
-
Output format:
|
|
57
|
-
```
|
|
58
|
-
## Priority Matrix
|
|
59
|
-
| Idea | Impact | Effort | Risk | Priority |
|
|
60
|
-
|------|--------|--------|------|----------|
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**After completion, suggest**: "Priority matrix ready. Run step 4 to design experiments for the top picks."
|
|
64
|
-
|
|
65
|
-
### Step 4: Experiment Design
|
|
66
|
-
For the top 2-3 ideas, design a minimal experiment to validate the riskiest assumption.
|
|
67
|
-
|
|
68
|
-
Output format:
|
|
69
|
-
```
|
|
70
|
-
## Experiments
|
|
71
|
-
### Experiment 1: [name]
|
|
72
|
-
- Validates: [assumption]
|
|
73
|
-
- Method: [how to test]
|
|
74
|
-
- Success criteria: [what proves it works]
|
|
75
|
-
- Effort: [time estimate]
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**After completion, suggest**: "Experiments designed. Next steps: `/workflows:plan` to plan implementation, or `/workflows:work` to start building."
|
|
79
|
-
|
|
80
|
-
## Chaining Rules
|
|
81
|
-
|
|
82
|
-
1. Each step can be run independently or as part of the chain
|
|
83
|
-
2. Output of each step is input context for the next
|
|
84
|
-
3. Progressive suggestions appear after every step completion
|
|
85
|
-
4. User can skip steps or go back at any point
|
|
86
|
-
5. The full chain takes ~15 minutes of agent time
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan
|
|
3
|
-
description: Decompose a feature into structured tasks with goal, acceptance criteria, estimates, risks, and dependencies. Saves to tasks/<feature-name>/plan.md
|
|
4
|
-
category: workflows
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /workflows:plan
|
|
8
|
-
|
|
9
|
-
Decompose a feature or task into a structured, actionable plan before writing any code.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/workflows:plan <feature-name>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## What It Does
|
|
18
|
-
|
|
19
|
-
1. **Clarifies the goal**: What problem does this solve? What's the success state?
|
|
20
|
-
2. **Defines acceptance criteria**: Concrete, testable conditions for "done"
|
|
21
|
-
3. **Breaks down tasks**: Ordered list with time estimates and dependencies
|
|
22
|
-
4. **Identifies risks**: What could go wrong and how to mitigate it
|
|
23
|
-
5. **Saves the plan**: Writes to `tasks/<feature-name>/plan.md`
|
|
24
|
-
|
|
25
|
-
## Process
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
STEP 1: Ask clarifying questions if the feature is ambiguous
|
|
29
|
-
STEP 2: Draft the plan using the template below
|
|
30
|
-
STEP 3: Save to tasks/<feature-name>/plan.md
|
|
31
|
-
STEP 4: Confirm with user before starting implementation
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Plan Template
|
|
35
|
-
|
|
36
|
-
```markdown
|
|
37
|
-
# Plan: <feature-name>
|
|
38
|
-
|
|
39
|
-
## Goal
|
|
40
|
-
[One paragraph: what this feature does and why it matters]
|
|
41
|
-
|
|
42
|
-
## Acceptance Criteria
|
|
43
|
-
- [ ] [Testable condition 1]
|
|
44
|
-
- [ ] [Testable condition 2]
|
|
45
|
-
- [ ] [Testable condition 3]
|
|
46
|
-
|
|
47
|
-
## Task List
|
|
48
|
-
|
|
49
|
-
| # | Task | Estimate | Depends On | Status |
|
|
50
|
-
|---|------|----------|------------|--------|
|
|
51
|
-
| 1 | [Task description] | 30m | — | pending |
|
|
52
|
-
| 2 | [Task description] | 1h | 1 | pending |
|
|
53
|
-
| 3 | [Task description] | 45m | 2 | pending |
|
|
54
|
-
|
|
55
|
-
## Risks
|
|
56
|
-
|
|
57
|
-
| Risk | Probability | Impact | Mitigation |
|
|
58
|
-
|------|-------------|--------|------------|
|
|
59
|
-
| [Risk 1] | Low/Med/High | Low/Med/High | [How to handle it] |
|
|
60
|
-
|
|
61
|
-
## Dependencies
|
|
62
|
-
- External services: [list any]
|
|
63
|
-
- Other features/branches: [list any]
|
|
64
|
-
- Team: [list any people/approvals needed]
|
|
65
|
-
|
|
66
|
-
## Notes
|
|
67
|
-
[Anything else relevant to implementation]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Output Location
|
|
71
|
-
|
|
72
|
-
Plan is saved to: `tasks/<feature-name>/plan.md`
|
|
73
|
-
|
|
74
|
-
If the directory doesn't exist, create it:
|
|
75
|
-
```bash
|
|
76
|
-
mkdir -p tasks/<feature-name>
|
|
77
|
-
```
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: review
|
|
3
|
-
description: Multi-perspective code review using code-reviewer and security-auditor agents on staged changes. Reads review policy before reviewing. Outputs inline comments with severity.
|
|
4
|
-
category: workflows
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /workflows:review
|
|
8
|
-
|
|
9
|
-
Run a multi-perspective review on staged changes before committing or opening a PR.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/workflows:review [--scope staged|branch|<file-path>]
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## What It Does
|
|
18
|
-
|
|
19
|
-
1. **Loads review policy**: Reads `.ai-config/prompts/review-policy.md` for project standards
|
|
20
|
-
2. **Gathers changes**: Gets staged diff or branch diff depending on scope
|
|
21
|
-
3. **Runs code-reviewer perspective**: Quality, SOLID, DRY, naming, test coverage
|
|
22
|
-
4. **Runs security-auditor perspective**: OWASP, injection, auth/authz, secrets
|
|
23
|
-
5. **Outputs consolidated report**: Inline comments grouped by file with severity
|
|
24
|
-
|
|
25
|
-
## Process
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
STEP 1: Load .ai-config/prompts/review-policy.md (if exists)
|
|
29
|
-
→ Use project-specific standards for what constitutes a violation
|
|
30
|
-
|
|
31
|
-
STEP 2: Gather diff
|
|
32
|
-
git diff --staged # for staged changes
|
|
33
|
-
git diff main...HEAD # for branch changes
|
|
34
|
-
|
|
35
|
-
STEP 3: Code Quality Review (code-reviewer agent)
|
|
36
|
-
→ Check each changed file for quality issues
|
|
37
|
-
|
|
38
|
-
STEP 4: Security Review (security-auditor agent)
|
|
39
|
-
→ Check for vulnerabilities, secrets, auth issues
|
|
40
|
-
|
|
41
|
-
STEP 5: Consolidate and output report
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Output Format
|
|
45
|
-
|
|
46
|
-
### Per-file findings:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
## src/path/to/file.ts
|
|
50
|
-
|
|
51
|
-
🔴 [CRITICAL] line 42 — Hardcoded secret in source
|
|
52
|
-
Problem: API key visible in source code
|
|
53
|
-
Fix: Move to environment variable, add to .gitignore
|
|
54
|
-
|
|
55
|
-
🟡 [WARNING] line 87 — Function violates Single Responsibility
|
|
56
|
-
Problem: processPayment() handles validation + DB + email
|
|
57
|
-
Fix: Extract into validatePayment(), savePayment(), notifyUser()
|
|
58
|
-
|
|
59
|
-
🔵 [SUGGESTION] line 103 — Variable name is unclear
|
|
60
|
-
Problem: `d` is not descriptive
|
|
61
|
-
Fix: Rename to `durationMs` or `delaySeconds`
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Summary block:
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
## Review Summary
|
|
68
|
-
Critical: N | Warnings: N | Suggestions: N
|
|
69
|
-
Recommendation: ✅ APPROVE | ⚠️ APPROVE WITH NOTES | ❌ REQUEST CHANGES
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Severity Guide
|
|
73
|
-
|
|
74
|
-
| Severity | Symbol | Meaning | Action |
|
|
75
|
-
|----------|--------|---------|--------|
|
|
76
|
-
| Critical | 🔴 | Bug, security, data loss | Must fix before merge |
|
|
77
|
-
| Warning | 🟡 | Quality, SOLID, test gap | Should fix |
|
|
78
|
-
| Suggestion | 🔵 | Style, naming, minor | Consider fixing |
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: work
|
|
3
|
-
description: Execute the current plan by creating a git worktree, checking off tasks, and tracking files edited. Reads plan from tasks/<feature-name>/plan.md
|
|
4
|
-
category: workflows
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# /workflows:work
|
|
8
|
-
|
|
9
|
-
Execute the plan for a feature, tracking progress and edited files as you go.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/workflows:work <feature-name>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## What It Does
|
|
18
|
-
|
|
19
|
-
1. **Reads the plan**: Loads `tasks/<feature-name>/plan.md`
|
|
20
|
-
2. **Creates git worktree**: Isolates work in a dedicated branch/worktree
|
|
21
|
-
3. **Executes tasks in order**: Respects task dependencies from the plan
|
|
22
|
-
4. **Tracks progress**: Checks off tasks as they complete
|
|
23
|
-
5. **Records file changes**: Appends to `tasks/<feature-name>/files-edited.md`
|
|
24
|
-
|
|
25
|
-
## Process
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
STEP 1: Read tasks/<feature-name>/plan.md
|
|
29
|
-
→ If not found, prompt user to run /workflows:plan first
|
|
30
|
-
|
|
31
|
-
STEP 2: Create git worktree
|
|
32
|
-
git worktree add ../worktrees/<feature-name> -b feature/<feature-name>
|
|
33
|
-
|
|
34
|
-
STEP 3: For each task in the plan (in dependency order):
|
|
35
|
-
a. Mark task as "in-progress" in the plan
|
|
36
|
-
b. Implement the task
|
|
37
|
-
c. Run tests if applicable
|
|
38
|
-
d. Mark task as "done" ✅ in plan.md
|
|
39
|
-
e. Append edited files to files-edited.md
|
|
40
|
-
|
|
41
|
-
STEP 4: When all tasks complete, summarize what was done
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## files-edited.md Format
|
|
45
|
-
|
|
46
|
-
```markdown
|
|
47
|
-
## Files Changed — <feature-name>
|
|
48
|
-
|
|
49
|
-
### <task-name>
|
|
50
|
-
- `src/path/to/file.ts` — [what changed]
|
|
51
|
-
- `tests/path/to/file.test.ts` — [what changed]
|
|
52
|
-
|
|
53
|
-
### <next-task>
|
|
54
|
-
- ...
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Git Worktree Commands
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
# Create worktree for the feature
|
|
61
|
-
git worktree add ../worktrees/<feature-name> -b feature/<feature-name>
|
|
62
|
-
|
|
63
|
-
# List active worktrees
|
|
64
|
-
git worktree list
|
|
65
|
-
|
|
66
|
-
# Remove worktree after merging
|
|
67
|
-
git worktree remove ../worktrees/<feature-name>
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Rules
|
|
71
|
-
|
|
72
|
-
- Do not skip tasks unless they're blocked (document why in the plan)
|
|
73
|
-
- Commit after each logical unit of work: `git commit -m "feat: <task-name>"`
|
|
74
|
-
- Update `tasks/<feature-name>/plan.md` task statuses in real time
|
|
75
|
-
- If a task reveals new sub-tasks, add them to the plan before proceeding
|
package/ai-config/config.yaml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# .ai-config/config.yaml
|
|
2
|
-
# Declarative configuration for sync-ai-config.sh
|
|
3
|
-
# Run: ./scripts/sync-ai-config.sh (no args = reads this file)
|
|
4
|
-
#
|
|
5
|
-
# yaml-language-server: $schema=../schemas/ai-config.schema.json
|
|
6
|
-
|
|
7
|
-
# Targets to sync when running without arguments
|
|
8
|
-
targets:
|
|
9
|
-
- claude
|
|
10
|
-
- opencode
|
|
11
|
-
- cursor
|
|
12
|
-
- aider
|
|
13
|
-
- gemini
|
|
14
|
-
|
|
15
|
-
# Sync options
|
|
16
|
-
sync:
|
|
17
|
-
# Claude mode: 'overwrite' or 'merge' (merge appends/updates generated section)
|
|
18
|
-
claude_mode: overwrite
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# =============================================================================
|
|
3
|
-
# HOOK TEMPLATE
|
|
4
|
-
# =============================================================================
|
|
5
|
-
# Hooks se ejecutan en respuesta a eventos del AI CLI
|
|
6
|
-
# =============================================================================
|
|
7
|
-
|
|
8
|
-
name: mi-hook
|
|
9
|
-
description: Descripción del hook
|
|
10
|
-
|
|
11
|
-
# Evento que dispara el hook
|
|
12
|
-
# Opciones: PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd
|
|
13
|
-
event: PreToolUse
|
|
14
|
-
|
|
15
|
-
# Filtrar por herramientas específicas (opcional)
|
|
16
|
-
# Si no se especifica, aplica a todas
|
|
17
|
-
tools:
|
|
18
|
-
- Bash
|
|
19
|
-
- Write
|
|
20
|
-
|
|
21
|
-
# Filtrar por patrón en el contenido (opcional)
|
|
22
|
-
match_pattern: "rm -rf|drop table|delete from"
|
|
23
|
-
|
|
24
|
-
# Acción: block | warn | log | execute
|
|
25
|
-
action: block
|
|
26
|
-
|
|
27
|
-
metadata:
|
|
28
|
-
author: tu-usuario
|
|
29
|
-
version: "1.0"
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
# [Nombre del Hook]
|
|
33
|
-
|
|
34
|
-
> [Descripción de una línea]
|
|
35
|
-
|
|
36
|
-
## Propósito
|
|
37
|
-
|
|
38
|
-
[Qué hace este hook y por qué existe]
|
|
39
|
-
|
|
40
|
-
## Evento
|
|
41
|
-
|
|
42
|
-
- **Trigger:** [PreToolUse | PostToolUse | Stop | etc.]
|
|
43
|
-
- **Herramientas:** [Lista de herramientas o "todas"]
|
|
44
|
-
- **Condición:** [Cuándo se activa]
|
|
45
|
-
|
|
46
|
-
## Lógica
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
SI [condición]
|
|
50
|
-
ENTONCES [acción]
|
|
51
|
-
SINO [alternativa]
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Implementación
|
|
55
|
-
|
|
56
|
-
### Para Claude Code
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
{
|
|
60
|
-
"hooks": {
|
|
61
|
-
"PreToolUse": [
|
|
62
|
-
{
|
|
63
|
-
"matcher": "Bash",
|
|
64
|
-
"command": "echo 'Validating...'"
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Para OpenCode
|
|
72
|
-
|
|
73
|
-
```yaml
|
|
74
|
-
hooks:
|
|
75
|
-
pre_tool_use:
|
|
76
|
-
- tool: Bash
|
|
77
|
-
action: validate
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Ejemplos
|
|
81
|
-
|
|
82
|
-
### Ejemplo 1: Hook activa
|
|
83
|
-
|
|
84
|
-
**Contexto:**
|
|
85
|
-
```
|
|
86
|
-
[Descripción del contexto]
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Resultado:**
|
|
90
|
-
```
|
|
91
|
-
[Qué hace el hook]
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Notas
|
|
95
|
-
|
|
96
|
-
[Consideraciones adicionales]
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: block-dangerous-commands
|
|
3
|
-
description: Bloquea comandos peligrosos antes de ejecutar
|
|
4
|
-
event: PreToolUse
|
|
5
|
-
tools:
|
|
6
|
-
- Bash
|
|
7
|
-
match_pattern: "rm -rf /|rm -rf ~|drop database|truncate table|:(){ :|:& };:|mkfs|dd if=|> /dev/sd|chmod -R 777 /|curl.*| bash|wget.*| sh"
|
|
8
|
-
action: block
|
|
9
|
-
metadata:
|
|
10
|
-
author: project-starter-framework
|
|
11
|
-
version: "1.0"
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Block Dangerous Commands Hook
|
|
15
|
-
|
|
16
|
-
> Previene ejecución de comandos potencialmente destructivos.
|
|
17
|
-
|
|
18
|
-
## Propósito
|
|
19
|
-
|
|
20
|
-
Interceptar comandos de Bash que podrían causar daño irreversible al sistema o datos.
|
|
21
|
-
|
|
22
|
-
## Comandos Bloqueados
|
|
23
|
-
|
|
24
|
-
| Patrón | Riesgo |
|
|
25
|
-
|--------|--------|
|
|
26
|
-
| `rm -rf /` | Borrar sistema completo |
|
|
27
|
-
| `rm -rf ~` | Borrar home directory |
|
|
28
|
-
| `drop database` | Eliminar base de datos |
|
|
29
|
-
| `truncate table` | Vaciar tablas |
|
|
30
|
-
| `:(){ :|:& };:` | Fork bomb |
|
|
31
|
-
| `mkfs` | Formatear disco |
|
|
32
|
-
| `dd if=` | Escritura directa a disco |
|
|
33
|
-
| `> /dev/sd*` | Sobrescribir disco |
|
|
34
|
-
| `chmod -R 777 /` | Permisos inseguros |
|
|
35
|
-
| `curl \| bash` | Ejecución remota |
|
|
36
|
-
| `wget \| sh` | Ejecución remota |
|
|
37
|
-
|
|
38
|
-
## Comportamiento
|
|
39
|
-
|
|
40
|
-
1. **Detecta** comando peligroso en input de Bash
|
|
41
|
-
2. **Bloquea** ejecución
|
|
42
|
-
3. **Notifica** al usuario con explicación
|
|
43
|
-
4. **Sugiere** alternativa segura si existe
|
|
44
|
-
|
|
45
|
-
## Implementación Claude Code
|
|
46
|
-
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"hooks": {
|
|
50
|
-
"PreToolUse": [
|
|
51
|
-
{
|
|
52
|
-
"matcher": "Bash",
|
|
53
|
-
"hooks": [
|
|
54
|
-
{
|
|
55
|
-
"type": "command",
|
|
56
|
-
"command": "echo '$TOOL_INPUT' | grep -qE 'rm -rf /|rm -rf ~|drop database' && echo 'BLOCKED: Dangerous command detected' && exit 1 || exit 0"
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Excepciones
|
|
66
|
-
|
|
67
|
-
Si necesitás ejecutar un comando bloqueado legítimamente:
|
|
68
|
-
|
|
69
|
-
1. Revisar el comando manualmente
|
|
70
|
-
2. Usar `--no-verify` o equivalente
|
|
71
|
-
3. Documentar la razón
|
|
72
|
-
|
|
73
|
-
## Notas
|
|
74
|
-
|
|
75
|
-
Este hook es una capa de seguridad adicional, no reemplaza el sentido común.
|