claudient 0.1.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/.claude-plugin/plugin.json +42 -0
- package/CONTEXT.md +58 -0
- package/README.md +165 -0
- package/agents/build-resolvers/de/python-resolver.md +64 -0
- package/agents/build-resolvers/de/typescript-resolver.md +65 -0
- package/agents/build-resolvers/es/python-resolver.md +64 -0
- package/agents/build-resolvers/es/typescript-resolver.md +65 -0
- package/agents/build-resolvers/fr/python-resolver.md +64 -0
- package/agents/build-resolvers/fr/typescript-resolver.md +65 -0
- package/agents/build-resolvers/nl/python-resolver.md +64 -0
- package/agents/build-resolvers/nl/typescript-resolver.md +65 -0
- package/agents/build-resolvers/python-resolver.md +62 -0
- package/agents/build-resolvers/typescript-resolver.md +63 -0
- package/agents/core/architect.md +64 -0
- package/agents/core/code-reviewer.md +78 -0
- package/agents/core/de/architect.md +66 -0
- package/agents/core/de/code-reviewer.md +80 -0
- package/agents/core/de/planner.md +63 -0
- package/agents/core/de/security-reviewer.md +93 -0
- package/agents/core/es/architect.md +66 -0
- package/agents/core/es/code-reviewer.md +80 -0
- package/agents/core/es/planner.md +63 -0
- package/agents/core/es/security-reviewer.md +93 -0
- package/agents/core/fr/architect.md +66 -0
- package/agents/core/fr/code-reviewer.md +80 -0
- package/agents/core/fr/planner.md +63 -0
- package/agents/core/fr/security-reviewer.md +93 -0
- package/agents/core/nl/architect.md +66 -0
- package/agents/core/nl/code-reviewer.md +80 -0
- package/agents/core/nl/planner.md +63 -0
- package/agents/core/nl/security-reviewer.md +93 -0
- package/agents/core/planner.md +61 -0
- package/agents/core/security-reviewer.md +91 -0
- package/guides/agent-orchestration.md +231 -0
- package/guides/de/agent-orchestration.md +174 -0
- package/guides/de/getting-started.md +164 -0
- package/guides/de/hooks-cookbook.md +160 -0
- package/guides/de/memory-management.md +153 -0
- package/guides/de/security.md +180 -0
- package/guides/de/skill-authoring.md +214 -0
- package/guides/de/token-optimization.md +156 -0
- package/guides/es/agent-orchestration.md +174 -0
- package/guides/es/getting-started.md +164 -0
- package/guides/es/hooks-cookbook.md +160 -0
- package/guides/es/memory-management.md +153 -0
- package/guides/es/security.md +180 -0
- package/guides/es/skill-authoring.md +214 -0
- package/guides/es/token-optimization.md +156 -0
- package/guides/fr/agent-orchestration.md +174 -0
- package/guides/fr/getting-started.md +164 -0
- package/guides/fr/hooks-cookbook.md +227 -0
- package/guides/fr/memory-management.md +169 -0
- package/guides/fr/security.md +180 -0
- package/guides/fr/skill-authoring.md +214 -0
- package/guides/fr/token-optimization.md +158 -0
- package/guides/getting-started.md +164 -0
- package/guides/hooks-cookbook.md +423 -0
- package/guides/memory-management.md +192 -0
- package/guides/nl/agent-orchestration.md +174 -0
- package/guides/nl/getting-started.md +164 -0
- package/guides/nl/hooks-cookbook.md +160 -0
- package/guides/nl/memory-management.md +153 -0
- package/guides/nl/security.md +180 -0
- package/guides/nl/skill-authoring.md +214 -0
- package/guides/nl/token-optimization.md +156 -0
- package/guides/security.md +229 -0
- package/guides/skill-authoring.md +226 -0
- package/guides/token-optimization.md +169 -0
- package/hooks/lifecycle/cost-tracker.md +49 -0
- package/hooks/lifecycle/cost-tracker.sh +59 -0
- package/hooks/lifecycle/pre-compact-save.md +56 -0
- package/hooks/lifecycle/pre-compact-save.sh +37 -0
- package/hooks/lifecycle/session-start.md +50 -0
- package/hooks/lifecycle/session-start.sh +47 -0
- package/hooks/post-tool-use/audit-log.md +53 -0
- package/hooks/post-tool-use/audit-log.sh +53 -0
- package/hooks/post-tool-use/prettier.md +53 -0
- package/hooks/post-tool-use/prettier.sh +49 -0
- package/hooks/pre-tool-use/block-dangerous.md +48 -0
- package/hooks/pre-tool-use/block-dangerous.sh +76 -0
- package/hooks/pre-tool-use/git-push-confirm.md +46 -0
- package/hooks/pre-tool-use/git-push-confirm.sh +36 -0
- package/mcp/configs/github.json +11 -0
- package/mcp/configs/postgres.json +11 -0
- package/mcp/de/recommended-servers.md +170 -0
- package/mcp/es/recommended-servers.md +170 -0
- package/mcp/fr/recommended-servers.md +170 -0
- package/mcp/nl/recommended-servers.md +170 -0
- package/mcp/recommended-servers.md +168 -0
- package/package.json +45 -0
- package/prompts/project-starters/de/fastapi-project.md +62 -0
- package/prompts/project-starters/de/nextjs-project.md +82 -0
- package/prompts/project-starters/es/fastapi-project.md +62 -0
- package/prompts/project-starters/es/nextjs-project.md +82 -0
- package/prompts/project-starters/fastapi-project.md +60 -0
- package/prompts/project-starters/fr/fastapi-project.md +62 -0
- package/prompts/project-starters/fr/nextjs-project.md +82 -0
- package/prompts/project-starters/nextjs-project.md +80 -0
- package/prompts/project-starters/nl/fastapi-project.md +62 -0
- package/prompts/project-starters/nl/nextjs-project.md +82 -0
- package/prompts/system-prompts/ai-product.md +80 -0
- package/prompts/system-prompts/data-pipeline.md +76 -0
- package/prompts/system-prompts/de/ai-product.md +82 -0
- package/prompts/system-prompts/de/data-pipeline.md +78 -0
- package/prompts/system-prompts/de/saas-backend.md +71 -0
- package/prompts/system-prompts/es/ai-product.md +82 -0
- package/prompts/system-prompts/es/data-pipeline.md +78 -0
- package/prompts/system-prompts/es/saas-backend.md +71 -0
- package/prompts/system-prompts/fr/ai-product.md +82 -0
- package/prompts/system-prompts/fr/data-pipeline.md +78 -0
- package/prompts/system-prompts/fr/saas-backend.md +71 -0
- package/prompts/system-prompts/nl/ai-product.md +82 -0
- package/prompts/system-prompts/nl/data-pipeline.md +78 -0
- package/prompts/system-prompts/nl/saas-backend.md +71 -0
- package/prompts/system-prompts/saas-backend.md +69 -0
- package/prompts/task-specific/changelog.md +81 -0
- package/prompts/task-specific/de/changelog.md +83 -0
- package/prompts/task-specific/de/debugging.md +78 -0
- package/prompts/task-specific/de/pr-description.md +69 -0
- package/prompts/task-specific/debugging.md +76 -0
- package/prompts/task-specific/es/changelog.md +83 -0
- package/prompts/task-specific/es/debugging.md +78 -0
- package/prompts/task-specific/es/pr-description.md +69 -0
- package/prompts/task-specific/fr/changelog.md +83 -0
- package/prompts/task-specific/fr/debugging.md +78 -0
- package/prompts/task-specific/fr/pr-description.md +69 -0
- package/prompts/task-specific/nl/changelog.md +83 -0
- package/prompts/task-specific/nl/debugging.md +78 -0
- package/prompts/task-specific/nl/pr-description.md +69 -0
- package/prompts/task-specific/pr-description.md +67 -0
- package/rules/common/coding-style.md +45 -0
- package/rules/common/de/coding-style.md +47 -0
- package/rules/common/de/git.md +48 -0
- package/rules/common/de/performance.md +40 -0
- package/rules/common/de/security.md +45 -0
- package/rules/common/de/testing.md +45 -0
- package/rules/common/es/coding-style.md +47 -0
- package/rules/common/es/git.md +48 -0
- package/rules/common/es/performance.md +40 -0
- package/rules/common/es/security.md +45 -0
- package/rules/common/es/testing.md +45 -0
- package/rules/common/fr/coding-style.md +47 -0
- package/rules/common/fr/git.md +48 -0
- package/rules/common/fr/performance.md +40 -0
- package/rules/common/fr/security.md +45 -0
- package/rules/common/fr/testing.md +45 -0
- package/rules/common/git.md +46 -0
- package/rules/common/nl/coding-style.md +47 -0
- package/rules/common/nl/git.md +48 -0
- package/rules/common/nl/performance.md +40 -0
- package/rules/common/nl/security.md +45 -0
- package/rules/common/nl/testing.md +45 -0
- package/rules/common/performance.md +38 -0
- package/rules/common/security.md +43 -0
- package/rules/common/testing.md +43 -0
- package/rules/language-specific/de/go.md +48 -0
- package/rules/language-specific/de/python.md +38 -0
- package/rules/language-specific/de/typescript.md +51 -0
- package/rules/language-specific/es/go.md +48 -0
- package/rules/language-specific/es/python.md +38 -0
- package/rules/language-specific/es/typescript.md +51 -0
- package/rules/language-specific/fr/go.md +48 -0
- package/rules/language-specific/fr/python.md +38 -0
- package/rules/language-specific/fr/typescript.md +51 -0
- package/rules/language-specific/go.md +46 -0
- package/rules/language-specific/nl/go.md +48 -0
- package/rules/language-specific/nl/python.md +38 -0
- package/rules/language-specific/nl/typescript.md +51 -0
- package/rules/language-specific/python.md +36 -0
- package/rules/language-specific/typescript.md +49 -0
- package/scripts/cli.js +161 -0
- package/scripts/link-skills.sh +35 -0
- package/scripts/list-skills.sh +34 -0
- package/skills/ai-engineering/agent-construction.md +285 -0
- package/skills/ai-engineering/claude-api.md +248 -0
- package/skills/ai-engineering/de/agent-construction.md +287 -0
- package/skills/ai-engineering/de/claude-api.md +250 -0
- package/skills/ai-engineering/es/agent-construction.md +287 -0
- package/skills/ai-engineering/es/claude-api.md +250 -0
- package/skills/ai-engineering/fr/agent-construction.md +287 -0
- package/skills/ai-engineering/fr/claude-api.md +250 -0
- package/skills/ai-engineering/nl/agent-construction.md +287 -0
- package/skills/ai-engineering/nl/claude-api.md +250 -0
- package/skills/backend/dotnet/csharp.md +304 -0
- package/skills/backend/dotnet/de/csharp.md +306 -0
- package/skills/backend/dotnet/es/csharp.md +306 -0
- package/skills/backend/dotnet/fr/csharp.md +306 -0
- package/skills/backend/dotnet/nl/csharp.md +306 -0
- package/skills/backend/go/de/go.md +307 -0
- package/skills/backend/go/es/go.md +307 -0
- package/skills/backend/go/fr/go.md +307 -0
- package/skills/backend/go/go.md +305 -0
- package/skills/backend/go/nl/go.md +307 -0
- package/skills/backend/nodejs/de/nestjs.md +274 -0
- package/skills/backend/nodejs/de/nextjs.md +222 -0
- package/skills/backend/nodejs/es/nestjs.md +274 -0
- package/skills/backend/nodejs/es/nextjs.md +222 -0
- package/skills/backend/nodejs/fr/nestjs.md +274 -0
- package/skills/backend/nodejs/fr/nextjs.md +222 -0
- package/skills/backend/nodejs/nestjs.md +272 -0
- package/skills/backend/nodejs/nextjs.md +220 -0
- package/skills/backend/nodejs/nl/nestjs.md +274 -0
- package/skills/backend/nodejs/nl/nextjs.md +222 -0
- package/skills/backend/python/de/django.md +285 -0
- package/skills/backend/python/de/fastapi.md +244 -0
- package/skills/backend/python/django.md +283 -0
- package/skills/backend/python/es/django.md +285 -0
- package/skills/backend/python/es/fastapi.md +244 -0
- package/skills/backend/python/fastapi.md +242 -0
- package/skills/backend/python/fr/django.md +285 -0
- package/skills/backend/python/fr/fastapi.md +244 -0
- package/skills/backend/python/nl/django.md +285 -0
- package/skills/backend/python/nl/fastapi.md +244 -0
- package/skills/data-ml/dbt-data-pipelines.md +155 -0
- package/skills/data-ml/de/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/de/pandas-polars.md +147 -0
- package/skills/data-ml/de/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/es/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/es/pandas-polars.md +147 -0
- package/skills/data-ml/es/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/fr/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/fr/pandas-polars.md +147 -0
- package/skills/data-ml/fr/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/nl/dbt-data-pipelines.md +157 -0
- package/skills/data-ml/nl/pandas-polars.md +147 -0
- package/skills/data-ml/nl/pytorch-tensorflow.md +171 -0
- package/skills/data-ml/pandas-polars.md +145 -0
- package/skills/data-ml/pytorch-tensorflow.md +169 -0
- package/skills/database/de/graphql.md +181 -0
- package/skills/database/es/graphql.md +181 -0
- package/skills/database/fr/graphql.md +181 -0
- package/skills/database/graphql.md +179 -0
- package/skills/database/nl/graphql.md +181 -0
- package/skills/devops-infra/de/docker.md +133 -0
- package/skills/devops-infra/de/github-actions.md +179 -0
- package/skills/devops-infra/de/kubernetes.md +129 -0
- package/skills/devops-infra/de/terraform.md +130 -0
- package/skills/devops-infra/docker.md +131 -0
- package/skills/devops-infra/es/docker.md +133 -0
- package/skills/devops-infra/es/github-actions.md +179 -0
- package/skills/devops-infra/es/kubernetes.md +129 -0
- package/skills/devops-infra/es/terraform.md +130 -0
- package/skills/devops-infra/fr/docker.md +133 -0
- package/skills/devops-infra/fr/github-actions.md +179 -0
- package/skills/devops-infra/fr/kubernetes.md +129 -0
- package/skills/devops-infra/fr/terraform.md +130 -0
- package/skills/devops-infra/github-actions.md +177 -0
- package/skills/devops-infra/kubernetes.md +127 -0
- package/skills/devops-infra/nl/docker.md +133 -0
- package/skills/devops-infra/nl/github-actions.md +179 -0
- package/skills/devops-infra/nl/kubernetes.md +129 -0
- package/skills/devops-infra/nl/terraform.md +130 -0
- package/skills/devops-infra/terraform.md +128 -0
- package/skills/finance-payments/de/stripe.md +187 -0
- package/skills/finance-payments/es/stripe.md +187 -0
- package/skills/finance-payments/fr/stripe.md +187 -0
- package/skills/finance-payments/nl/stripe.md +187 -0
- package/skills/finance-payments/stripe.md +185 -0
- package/workflows/code-review.md +151 -0
- package/workflows/de/code-review.md +153 -0
- package/workflows/de/debugging-session.md +146 -0
- package/workflows/de/feature-development.md +155 -0
- package/workflows/de/new-project-bootstrap.md +175 -0
- package/workflows/de/refactor-safely.md +150 -0
- package/workflows/debugging-session.md +144 -0
- package/workflows/es/code-review.md +153 -0
- package/workflows/es/debugging-session.md +146 -0
- package/workflows/es/feature-development.md +155 -0
- package/workflows/es/new-project-bootstrap.md +175 -0
- package/workflows/es/refactor-safely.md +150 -0
- package/workflows/feature-development.md +153 -0
- package/workflows/fr/code-review.md +153 -0
- package/workflows/fr/debugging-session.md +146 -0
- package/workflows/fr/feature-development.md +155 -0
- package/workflows/fr/new-project-bootstrap.md +175 -0
- package/workflows/fr/refactor-safely.md +150 -0
- package/workflows/new-project-bootstrap.md +173 -0
- package/workflows/nl/code-review.md +153 -0
- package/workflows/nl/debugging-session.md +146 -0
- package/workflows/nl/feature-development.md +155 -0
- package/workflows/nl/new-project-bootstrap.md +175 -0
- package/workflows/nl/refactor-safely.md +150 -0
- package/workflows/refactor-safely.md +148 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Debugging Session Workflow
|
|
2
|
+
|
|
3
|
+
Systematic workflow for diagnosing and fixing bugs with Claude Code — without chasing symptoms.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to use this workflow
|
|
8
|
+
- A bug that isn't immediately obvious from reading the code
|
|
9
|
+
- A failing test where the cause isn't clear
|
|
10
|
+
- Production error you can't reproduce locally
|
|
11
|
+
- Intermittent failures
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Step 1 — Build a feedback loop first
|
|
16
|
+
|
|
17
|
+
Before investigating, create a way to reliably reproduce the bug. Do not skip this.
|
|
18
|
+
|
|
19
|
+
**Prompt Claude:**
|
|
20
|
+
```
|
|
21
|
+
I have a bug: [describe the symptom exactly — error message, unexpected behavior, what you expected]
|
|
22
|
+
|
|
23
|
+
Before we investigate, help me build a reliable way to reproduce it.
|
|
24
|
+
|
|
25
|
+
Options to consider:
|
|
26
|
+
- A failing test that captures the bug
|
|
27
|
+
- A curl command or script that triggers it
|
|
28
|
+
- A minimal code snippet that demonstrates it
|
|
29
|
+
- Steps to reproduce via the UI
|
|
30
|
+
|
|
31
|
+
Which is most appropriate here, and write it now.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Do not proceed until you have a reliable reproduction.** Debugging without a reproduction is guessing.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Step 2 — Isolate the blast radius
|
|
39
|
+
|
|
40
|
+
Understand where the bug can possibly live before reading any code.
|
|
41
|
+
|
|
42
|
+
**Prompt Claude:**
|
|
43
|
+
```
|
|
44
|
+
Here is the reproduction: [paste the reproduction from Step 1]
|
|
45
|
+
|
|
46
|
+
Without looking at code yet, answer:
|
|
47
|
+
1. What is the earliest point in the call stack where this could go wrong?
|
|
48
|
+
2. What external systems are involved (DB, cache, third-party API, queue)?
|
|
49
|
+
3. What changed recently that could have introduced this? (check git log)
|
|
50
|
+
4. What is the smallest unit of code that, if wrong, would cause this symptom?
|
|
51
|
+
|
|
52
|
+
List the files most likely to contain the bug, ranked by probability.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 3 — Generate hypotheses
|
|
58
|
+
|
|
59
|
+
**Prompt Claude:**
|
|
60
|
+
```
|
|
61
|
+
Based on the reproduction and the candidate files, generate 3–5 falsifiable hypotheses.
|
|
62
|
+
|
|
63
|
+
For each hypothesis:
|
|
64
|
+
- State it as a specific claim: "The bug occurs because [X] when [Y]"
|
|
65
|
+
- Describe how to test it: what would we observe if this hypothesis is true?
|
|
66
|
+
- Describe how to disprove it: what would we observe if it's false?
|
|
67
|
+
|
|
68
|
+
Do not start testing yet. List all hypotheses first.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Review the hypotheses. Add any you thought of that Claude missed. Rank them by probability.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Step 4 — Test hypotheses, highest probability first
|
|
76
|
+
|
|
77
|
+
**For each hypothesis:**
|
|
78
|
+
```
|
|
79
|
+
Test hypothesis [N]: "[paste the hypothesis]"
|
|
80
|
+
|
|
81
|
+
Add the minimal instrumentation needed to confirm or rule this out:
|
|
82
|
+
- A log statement at the right point
|
|
83
|
+
- A debug assertion
|
|
84
|
+
- A targeted test with a specific input
|
|
85
|
+
|
|
86
|
+
Do not add instrumentation for other hypotheses yet.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
After each test:
|
|
90
|
+
- If confirmed: move to Step 5
|
|
91
|
+
- If ruled out: move to the next hypothesis
|
|
92
|
+
- If inconclusive: refine the hypothesis and re-test
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Step 5 — Fix and verify
|
|
97
|
+
|
|
98
|
+
Once the root cause is confirmed:
|
|
99
|
+
|
|
100
|
+
**Prompt Claude:**
|
|
101
|
+
```
|
|
102
|
+
Root cause confirmed: [describe what you found]
|
|
103
|
+
|
|
104
|
+
Now:
|
|
105
|
+
1. Apply the minimal fix — change only what's needed to fix this specific bug
|
|
106
|
+
2. Do not refactor surrounding code
|
|
107
|
+
3. Update the reproduction from Step 1 to be a regression test
|
|
108
|
+
4. Run the full test suite — confirm nothing else broke
|
|
109
|
+
|
|
110
|
+
Explain in one sentence why this fix works.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Step 6 — Post-mortem (for serious bugs)
|
|
116
|
+
|
|
117
|
+
For bugs that caused user impact, data loss, or took more than 2 hours to find:
|
|
118
|
+
|
|
119
|
+
**Prompt Claude:**
|
|
120
|
+
```
|
|
121
|
+
Write a brief post-mortem for this bug:
|
|
122
|
+
|
|
123
|
+
1. What was the bug? (one sentence)
|
|
124
|
+
2. What was the root cause?
|
|
125
|
+
3. How long did it take to find and why?
|
|
126
|
+
4. What would have caught this earlier? (missing test, missing monitoring, code review gap)
|
|
127
|
+
5. What should we add/change to prevent this class of bug?
|
|
128
|
+
|
|
129
|
+
Keep it under 200 words. No blame, no fluff.
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Anti-patterns to avoid
|
|
135
|
+
|
|
136
|
+
- **Fixing the symptom, not the cause** — if you don't understand why, you haven't fixed it
|
|
137
|
+
- **Changing multiple things at once** — you won't know which change fixed it
|
|
138
|
+
- **Debugging without a reproduction** — you're guessing
|
|
139
|
+
- **Adding instrumentation everywhere** — target specific hypotheses
|
|
140
|
+
- **Skipping the regression test** — the bug will come back
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
> **Work with us:** Claudient is backed by [Uitbreiden](https://uitbreiden.com/) — we build AI products and B2B solutions with developer communities. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
> 🇪🇸 Esta es la traducción en español. [Versión en inglés](../code-review.md).
|
|
2
|
+
|
|
3
|
+
# Flujo de Trabajo de Revisión de Código
|
|
4
|
+
|
|
5
|
+
Cómo ejecutar una revisión de código estructurada y automatizada usando Claude Code antes o junto con la revisión humana.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Cuándo usar este flujo de trabajo
|
|
10
|
+
- Auto-revisión de tus propios cambios antes de hacer push
|
|
11
|
+
- Pre-filtrado de un PR antes de solicitar revisión humana
|
|
12
|
+
- Revisión de código generado por IA antes de aceptarlo
|
|
13
|
+
- Revisión de incorporación: entender qué cambió en un PR desconocido
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Paso 1 — Preparar el contexto
|
|
18
|
+
|
|
19
|
+
Dale a Claude todo lo que necesita para revisar de forma significativa.
|
|
20
|
+
|
|
21
|
+
**Prompt para Claude:**
|
|
22
|
+
```
|
|
23
|
+
I need you to review the following changes.
|
|
24
|
+
|
|
25
|
+
Project context:
|
|
26
|
+
- Stack: [language, framework, key libraries]
|
|
27
|
+
- Testing approach: [unit/integration, mocking policy]
|
|
28
|
+
- Key conventions: [paste relevant CLAUDE.md sections]
|
|
29
|
+
|
|
30
|
+
Changed files:
|
|
31
|
+
[paste git diff output OR list files and ask Claude to read them]
|
|
32
|
+
|
|
33
|
+
This PR: [one sentence on what it's supposed to do]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Paso 2 — Revisión de corrección
|
|
39
|
+
|
|
40
|
+
**Prompt para Claude:**
|
|
41
|
+
```
|
|
42
|
+
Review these changes for correctness only.
|
|
43
|
+
|
|
44
|
+
Check:
|
|
45
|
+
1. Does the code do what the PR description says it does?
|
|
46
|
+
2. Are there edge cases not handled? (null inputs, empty collections, concurrent access, large inputs)
|
|
47
|
+
3. Are there off-by-one errors, wrong comparisons, or logic inversions?
|
|
48
|
+
4. Are error paths handled — can this panic, throw, or silently fail?
|
|
49
|
+
5. Are there race conditions if this code runs concurrently?
|
|
50
|
+
|
|
51
|
+
Format: [FILE:LINE] — [issue description] — [suggested fix]
|
|
52
|
+
Only report real issues. Do not nitpick style.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Paso 3 — Revisión de seguridad
|
|
58
|
+
|
|
59
|
+
**Prompt para Claude:**
|
|
60
|
+
```
|
|
61
|
+
Review these changes for security issues.
|
|
62
|
+
|
|
63
|
+
Check:
|
|
64
|
+
1. Is any user input used in SQL, shell commands, file paths, or HTML without sanitization?
|
|
65
|
+
2. Are there missing authentication or authorization checks?
|
|
66
|
+
3. Are secrets, tokens, or credentials exposed in logs, errors, or responses?
|
|
67
|
+
4. Are there insecure direct object references (IDOR)?
|
|
68
|
+
5. Are there missing rate limits on sensitive endpoints?
|
|
69
|
+
|
|
70
|
+
Severity: CRITICAL / HIGH / MEDIUM / LOW
|
|
71
|
+
Format: [SEVERITY] [FILE:LINE] — [vulnerability] — [fix]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Paso 4 — Verificación de cobertura de pruebas
|
|
77
|
+
|
|
78
|
+
**Prompt para Claude:**
|
|
79
|
+
```
|
|
80
|
+
Review the test coverage for these changes.
|
|
81
|
+
|
|
82
|
+
Check:
|
|
83
|
+
1. Is every new function or method covered by at least one test?
|
|
84
|
+
2. Is the happy path tested?
|
|
85
|
+
3. Is at least one error/edge case tested?
|
|
86
|
+
4. Do the tests actually assert meaningful behavior, or just that the function runs?
|
|
87
|
+
5. Are there behaviors changed by this PR that existing tests don't cover?
|
|
88
|
+
|
|
89
|
+
List: [what is tested] and [what is missing]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Paso 5 — Revisión de mantenibilidad
|
|
95
|
+
|
|
96
|
+
**Prompt para Claude:**
|
|
97
|
+
```
|
|
98
|
+
Review these changes for maintainability.
|
|
99
|
+
|
|
100
|
+
Check:
|
|
101
|
+
1. Will a developer unfamiliar with this code understand it in 6 months?
|
|
102
|
+
2. Are function names and variable names clear and accurate?
|
|
103
|
+
3. Is there duplicated logic that should be extracted?
|
|
104
|
+
4. Are there magic numbers or strings that should be named constants?
|
|
105
|
+
5. Does this introduce unnecessary coupling between modules?
|
|
106
|
+
|
|
107
|
+
Only flag real maintainability issues — not style preferences.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Paso 6 — Consolidar hallazgos
|
|
113
|
+
|
|
114
|
+
**Prompt para Claude:**
|
|
115
|
+
```
|
|
116
|
+
Consolidate all findings from the review into a final report.
|
|
117
|
+
|
|
118
|
+
Format:
|
|
119
|
+
## CRITICAL (must fix before merge)
|
|
120
|
+
[list]
|
|
121
|
+
|
|
122
|
+
## HIGH (strongly recommended)
|
|
123
|
+
[list]
|
|
124
|
+
|
|
125
|
+
## SUGGESTED (worth doing)
|
|
126
|
+
[list]
|
|
127
|
+
|
|
128
|
+
## NITPICK (optional)
|
|
129
|
+
[list]
|
|
130
|
+
|
|
131
|
+
## VERDICT
|
|
132
|
+
[ ] Approved — no blockers
|
|
133
|
+
[ ] Approved with suggestions — merge after addressing CRITICAL
|
|
134
|
+
[ ] Changes requested — must address before merge
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Usar el agente Revisor de Código
|
|
140
|
+
|
|
141
|
+
Para PRs más grandes, delega al agente Revisor de Código en lugar de ejecutarlo de forma inline:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Spawn a Code Reviewer agent (Sonnet 4.6) to review [list of files].
|
|
145
|
+
Give it the project context from CLAUDE.md and the PR description.
|
|
146
|
+
Have it return a structured CRITICAL/SUGGESTED/NITPICK report.
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Ver `agents/core/code-reviewer.md` para la definición completa del agente.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
> **Trabaja con nosotros:** Claudient está respaldado por [Uitbreiden](https://uitbreiden.com/) — construimos productos de IA y soluciones B2B con comunidades de desarrolladores. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
> 🇪🇸 Esta es la traducción en español. [Versión en inglés](../debugging-session.md).
|
|
2
|
+
|
|
3
|
+
# Flujo de Trabajo de Sesión de Depuración
|
|
4
|
+
|
|
5
|
+
Flujo de trabajo sistemático para diagnosticar y corregir bugs con Claude Code — sin perseguir síntomas.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Cuándo usar este flujo de trabajo
|
|
10
|
+
- Un bug que no es inmediatamente obvio al leer el código
|
|
11
|
+
- Una prueba fallida donde la causa no está clara
|
|
12
|
+
- Error de producción que no puedes reproducir localmente
|
|
13
|
+
- Fallos intermitentes
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Paso 1 — Construye un ciclo de retroalimentación primero
|
|
18
|
+
|
|
19
|
+
Antes de investigar, crea una forma de reproducir el bug de forma fiable. No te saltes esto.
|
|
20
|
+
|
|
21
|
+
**Prompt para Claude:**
|
|
22
|
+
```
|
|
23
|
+
I have a bug: [describe the symptom exactly — error message, unexpected behavior, what you expected]
|
|
24
|
+
|
|
25
|
+
Before we investigate, help me build a reliable way to reproduce it.
|
|
26
|
+
|
|
27
|
+
Options to consider:
|
|
28
|
+
- A failing test that captures the bug
|
|
29
|
+
- A curl command or script that triggers it
|
|
30
|
+
- A minimal code snippet that demonstrates it
|
|
31
|
+
- Steps to reproduce via the UI
|
|
32
|
+
|
|
33
|
+
Which is most appropriate here, and write it now.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**No procedas hasta tener una reproducción fiable.** Depurar sin una reproducción es adivinar.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Paso 2 — Aísla el radio de explosión
|
|
41
|
+
|
|
42
|
+
Entiende dónde puede estar el bug antes de leer cualquier código.
|
|
43
|
+
|
|
44
|
+
**Prompt para Claude:**
|
|
45
|
+
```
|
|
46
|
+
Here is the reproduction: [paste the reproduction from Step 1]
|
|
47
|
+
|
|
48
|
+
Without looking at code yet, answer:
|
|
49
|
+
1. What is the earliest point in the call stack where this could go wrong?
|
|
50
|
+
2. What external systems are involved (DB, cache, third-party API, queue)?
|
|
51
|
+
3. What changed recently that could have introduced this? (check git log)
|
|
52
|
+
4. What is the smallest unit of code that, if wrong, would cause this symptom?
|
|
53
|
+
|
|
54
|
+
List the files most likely to contain the bug, ranked by probability.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Paso 3 — Genera hipótesis
|
|
60
|
+
|
|
61
|
+
**Prompt para Claude:**
|
|
62
|
+
```
|
|
63
|
+
Based on the reproduction and the candidate files, generate 3–5 falsifiable hypotheses.
|
|
64
|
+
|
|
65
|
+
For each hypothesis:
|
|
66
|
+
- State it as a specific claim: "The bug occurs because [X] when [Y]"
|
|
67
|
+
- Describe how to test it: what would we observe if this hypothesis is true?
|
|
68
|
+
- Describe how to disprove it: what would we observe if it's false?
|
|
69
|
+
|
|
70
|
+
Do not start testing yet. List all hypotheses first.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Revisa las hipótesis. Agrega cualquiera que hayas pensado y que Claude haya omitido. Ordénalas por probabilidad.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Paso 4 — Prueba las hipótesis, empezando por la de mayor probabilidad
|
|
78
|
+
|
|
79
|
+
**Para cada hipótesis:**
|
|
80
|
+
```
|
|
81
|
+
Test hypothesis [N]: "[paste the hypothesis]"
|
|
82
|
+
|
|
83
|
+
Add the minimal instrumentation needed to confirm or rule this out:
|
|
84
|
+
- A log statement at the right point
|
|
85
|
+
- A debug assertion
|
|
86
|
+
- A targeted test with a specific input
|
|
87
|
+
|
|
88
|
+
Do not add instrumentation for other hypotheses yet.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Después de cada prueba:
|
|
92
|
+
- Si se confirma: pasa al Paso 5
|
|
93
|
+
- Si se descarta: pasa a la siguiente hipótesis
|
|
94
|
+
- Si es inconclusa: refina la hipótesis y vuelve a probar
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Paso 5 — Corrige y verifica
|
|
99
|
+
|
|
100
|
+
Una vez confirmada la causa raíz:
|
|
101
|
+
|
|
102
|
+
**Prompt para Claude:**
|
|
103
|
+
```
|
|
104
|
+
Root cause confirmed: [describe what you found]
|
|
105
|
+
|
|
106
|
+
Now:
|
|
107
|
+
1. Apply the minimal fix — change only what's needed to fix this specific bug
|
|
108
|
+
2. Do not refactor surrounding code
|
|
109
|
+
3. Update the reproduction from Step 1 to be a regression test
|
|
110
|
+
4. Run the full test suite — confirm nothing else broke
|
|
111
|
+
|
|
112
|
+
Explain in one sentence why this fix works.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Paso 6 — Post-mortem (para bugs graves)
|
|
118
|
+
|
|
119
|
+
Para bugs que causaron impacto en usuarios, pérdida de datos, o tardaron más de 2 horas en encontrarse:
|
|
120
|
+
|
|
121
|
+
**Prompt para Claude:**
|
|
122
|
+
```
|
|
123
|
+
Write a brief post-mortem for this bug:
|
|
124
|
+
|
|
125
|
+
1. What was the bug? (one sentence)
|
|
126
|
+
2. What was the root cause?
|
|
127
|
+
3. How long did it take to find and why?
|
|
128
|
+
4. What would have caught this earlier? (missing test, missing monitoring, code review gap)
|
|
129
|
+
5. What should we add/change to prevent this class of bug?
|
|
130
|
+
|
|
131
|
+
Keep it under 200 words. No blame, no fluff.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Anti-patrones a evitar
|
|
137
|
+
|
|
138
|
+
- **Corregir el síntoma, no la causa** — si no entiendes el por qué, no lo has corregido
|
|
139
|
+
- **Cambiar múltiples cosas a la vez** — no sabrás qué cambio lo corrigió
|
|
140
|
+
- **Depurar sin una reproducción** — estás adivinando
|
|
141
|
+
- **Agregar instrumentación en todas partes** — apunta a hipótesis específicas
|
|
142
|
+
- **Saltarse la prueba de regresión** — el bug volverá
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
> **Trabaja con nosotros:** Claudient está respaldado por [Uitbreiden](https://uitbreiden.com/) — construimos productos de IA y soluciones B2B con comunidades de desarrolladores. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
> 🇪🇸 Esta es la traducción en español. [Versión en inglés](../feature-development.md).
|
|
2
|
+
|
|
3
|
+
# Flujo de Trabajo de Desarrollo de Funcionalidades
|
|
4
|
+
|
|
5
|
+
Flujo de trabajo de extremo a extremo para llevar una funcionalidad desde la idea hasta el PR fusionado usando Claude Code.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Cuándo usar este flujo de trabajo
|
|
10
|
+
- Construir una nueva funcionalidad que toca más de un archivo
|
|
11
|
+
- Implementar una especificación o ticket que necesita ser desglosado antes de codificar
|
|
12
|
+
- Cualquier funcionalidad donde quieras un proceso estructurado y revisable
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Paso 1 — Definir y validar el alcance
|
|
17
|
+
|
|
18
|
+
Antes de escribir código, establece exactamente qué estás construyendo.
|
|
19
|
+
|
|
20
|
+
**Prompt para Claude:**
|
|
21
|
+
```
|
|
22
|
+
I need to build: [describe the feature in one paragraph]
|
|
23
|
+
|
|
24
|
+
Read the relevant files first:
|
|
25
|
+
- [list key files: routes, models, services]
|
|
26
|
+
- CLAUDE.md and CONTEXT.md if present
|
|
27
|
+
|
|
28
|
+
Then tell me:
|
|
29
|
+
1. What files will need to change?
|
|
30
|
+
2. What new files will be created?
|
|
31
|
+
3. What are the edge cases I should handle?
|
|
32
|
+
4. What decisions do I need to make before we start?
|
|
33
|
+
5. Are there any risks or dependencies I'm missing?
|
|
34
|
+
|
|
35
|
+
Do not write code yet.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Qué buscar en la respuesta:**
|
|
39
|
+
- Archivos que no habías considerado
|
|
40
|
+
- Casos límite que causarían bugs si se pasan por alto
|
|
41
|
+
- Decisiones que deberían ir en CLAUDE.md una vez tomadas
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Paso 2 — Planificar la implementación
|
|
46
|
+
|
|
47
|
+
Una vez que el alcance es claro, obtén un plan secuenciado.
|
|
48
|
+
|
|
49
|
+
**Prompt para Claude:**
|
|
50
|
+
```
|
|
51
|
+
Based on the scope we just defined, create a numbered implementation plan.
|
|
52
|
+
|
|
53
|
+
Each step must be:
|
|
54
|
+
- A concrete, bounded action (not "implement auth" — "add JWT validation middleware to src/middleware/auth.ts")
|
|
55
|
+
- Completable in a single session
|
|
56
|
+
- Independently testable
|
|
57
|
+
|
|
58
|
+
Include which files change in each step. Note dependencies between steps.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Revisa el plan. Si un paso es demasiado grande, pide a Claude que lo desglose más. Bloquea el plan antes de tocar el código.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Paso 3 — Implementar paso a paso
|
|
66
|
+
|
|
67
|
+
Ejecuta un paso del plan a la vez. No te saltes pasos.
|
|
68
|
+
|
|
69
|
+
**Para cada paso:**
|
|
70
|
+
```
|
|
71
|
+
Implement step [N]: [paste the step description]
|
|
72
|
+
|
|
73
|
+
Rules:
|
|
74
|
+
- Only change what's needed for this step
|
|
75
|
+
- Write or update tests for this step's behavior
|
|
76
|
+
- Do not refactor code outside the scope of this step
|
|
77
|
+
- Tell me when this step is complete and what to verify
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Después de cada paso:**
|
|
81
|
+
- Ejecuta las pruebas: confirma que están en verde antes de pasar al siguiente paso
|
|
82
|
+
- Revisa el diff tú mismo: ¿es esto lo que pretendías?
|
|
83
|
+
- Si un paso revela nueva complejidad, actualiza el plan antes de continuar
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Paso 4 — Verificación de integración
|
|
88
|
+
|
|
89
|
+
Una vez que todos los pasos estén completos, verifica que la funcionalidad completa funcione de extremo a extremo.
|
|
90
|
+
|
|
91
|
+
**Prompt para Claude:**
|
|
92
|
+
```
|
|
93
|
+
All implementation steps are complete. Now:
|
|
94
|
+
|
|
95
|
+
1. Run the full test suite — report any failures
|
|
96
|
+
2. Check that all edge cases from Step 1 are handled — list each one and confirm
|
|
97
|
+
3. Check for any TODOs or incomplete error handling introduced during implementation
|
|
98
|
+
4. Verify the feature works with [specific test scenario relevant to this feature]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Soluciona cualquier problema encontrado antes de continuar.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Paso 5 — Auto-revisión
|
|
106
|
+
|
|
107
|
+
Antes de crear un PR, revisa tus propios cambios.
|
|
108
|
+
|
|
109
|
+
**Prompt para Claude:**
|
|
110
|
+
```
|
|
111
|
+
Review the changes on this branch against main.
|
|
112
|
+
|
|
113
|
+
Focus on:
|
|
114
|
+
1. CRITICAL issues (bugs, security, data loss risks)
|
|
115
|
+
2. Missing tests for changed behavior
|
|
116
|
+
3. Convention violations vs this project's CLAUDE.md
|
|
117
|
+
4. Anything that would confuse a reader in 6 months
|
|
118
|
+
|
|
119
|
+
Format: CRITICAL / SUGGESTED / NITPICK
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Corrige todos los problemas CRITICAL. Usa el juicio en los elementos SUGGESTED.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Paso 6 — Descripción del PR
|
|
127
|
+
|
|
128
|
+
**Prompt para Claude:**
|
|
129
|
+
```
|
|
130
|
+
Write a PR description for these changes.
|
|
131
|
+
|
|
132
|
+
Include:
|
|
133
|
+
- What this PR does (one paragraph)
|
|
134
|
+
- Why it's needed (the problem it solves)
|
|
135
|
+
- How to test it (specific steps a reviewer can follow)
|
|
136
|
+
- Any decisions made and why (reference CLAUDE.md or ADRs if relevant)
|
|
137
|
+
- Screenshots or output if applicable
|
|
138
|
+
|
|
139
|
+
Do not include a list of files changed — the diff covers that.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Lista de verificación antes de hacer merge
|
|
145
|
+
|
|
146
|
+
- [ ] Todas las pruebas pasan
|
|
147
|
+
- [ ] Auto-revisión completa, sin problemas CRITICAL
|
|
148
|
+
- [ ] Todos los casos límite del Paso 1 están manejados
|
|
149
|
+
- [ ] Descripción del PR escrita
|
|
150
|
+
- [ ] CLAUDE.md actualizado si se tomaron nuevas decisiones
|
|
151
|
+
- [ ] CONTEXT.md actualizado si se introdujeron nuevos términos del dominio
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
> **Trabaja con nosotros:** Claudient está respaldado por [Uitbreiden](https://uitbreiden.com/) — construimos productos de IA y soluciones B2B con comunidades de desarrolladores. [uitbreiden.com](https://uitbreiden.com/)
|