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,78 @@
|
|
|
1
|
+
> 🇳🇱 Dit is de Nederlandse vertaling. [Engelse versie](../data-pipeline.md).
|
|
2
|
+
|
|
3
|
+
# CLAUDE.md Starter — Data Pipeline Project
|
|
4
|
+
|
|
5
|
+
Zet dit in de `CLAUDE.md` van je project en vul de secties tussen haakjes in.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# [Projectnaam] — Claude Code Instructies
|
|
11
|
+
|
|
12
|
+
## Wat dit is
|
|
13
|
+
[Eén alinea: welke data deze pipeline verwerkt, bronsystemen, bestemming, zakelijk doel]
|
|
14
|
+
|
|
15
|
+
## Stack
|
|
16
|
+
- Orchestrator: [Airflow / Prefect / Dagster / dbt Cloud]
|
|
17
|
+
- Transformatie: [dbt / PySpark / Pandas / Polars]
|
|
18
|
+
- Warehouse: [BigQuery / Snowflake / Redshift / DuckDB]
|
|
19
|
+
- Ingestie: [Fivetran / Airbyte / aangepast]
|
|
20
|
+
- Taal: [Python / SQL]
|
|
21
|
+
- Infra: [Terraform op AWS / GCP / Azure]
|
|
22
|
+
|
|
23
|
+
## Projectstructuur
|
|
24
|
+
dbt/ (bij gebruik van dbt)
|
|
25
|
+
├── models/
|
|
26
|
+
│ ├── staging/ ← 1:1 met brontabellen, alleen lichte opschoning
|
|
27
|
+
│ ├── intermediate/ ← Bedrijfslogica, joins
|
|
28
|
+
│ └── marts/ ← Definitieve bedrijfsentiteiten (fct_-, dim_-prefixen)
|
|
29
|
+
├── macros/ ← Herbruikbare SQL-macro's
|
|
30
|
+
├── seeds/ ← Statische referentiedata
|
|
31
|
+
└── tests/ ← Aangepaste enkelvoudige tests
|
|
32
|
+
|
|
33
|
+
pipelines/ (bij gebruik van Airflow/Prefect/Dagster)
|
|
34
|
+
├── dags/ / flows/ ← Pipeline-definities
|
|
35
|
+
├── operators/ ← Aangepaste operators/taken
|
|
36
|
+
└── utils/ ← Gedeelde hulpprogramma's
|
|
37
|
+
|
|
38
|
+
## Dataconventies
|
|
39
|
+
- Stagingmodellen: hernoem naar snake_case, cast typen, geen joins, geen bedrijfslogica
|
|
40
|
+
- Facttabellen: fct_-prefix, één rij per gebeurtenis/transactie
|
|
41
|
+
- Dimensietabellen: dim_-prefix, één rij per entiteit
|
|
42
|
+
- Gebruik nooit SELECT * in productiequery's
|
|
43
|
+
- Alle mart-modellen moeten unique + not_null tests hebben op primaire sleutel
|
|
44
|
+
- Versheidscontroles vereist op alle bronnen
|
|
45
|
+
|
|
46
|
+
## Beslissingen (niet opnieuw bespreken)
|
|
47
|
+
- [Incrementele vs. volledige-verversings-strategie voor facttabellen]
|
|
48
|
+
- [Tijdzone: alle tijdstempels in UTC]
|
|
49
|
+
- [Granulariteit: wat één rij in elke mart-tabel vertegenwoordigt]
|
|
50
|
+
- [Strategie voor laat-aankomende data]
|
|
51
|
+
|
|
52
|
+
## Testvereisten
|
|
53
|
+
- Elk stagingmodel: not_null op primaire sleutel
|
|
54
|
+
- Elk mart-model: unique + not_null op primaire sleutel, relaties op externe sleutels
|
|
55
|
+
- Bronversheid: waarschuwen bij [X] uur, fout bij [Y] uur
|
|
56
|
+
|
|
57
|
+
## Prestatieregels
|
|
58
|
+
- Partitioneer grote tabellen op datum — filter altijd op partitiekolom
|
|
59
|
+
- Gebruik incrementele modellen voor tabellen > [X] rijen
|
|
60
|
+
- Voer nooit volledige verversingen uit in productie zonder goedkeuring
|
|
61
|
+
- Cluster/sorteersleutels: [specificeer bij gebruik van Snowflake/Redshift]
|
|
62
|
+
|
|
63
|
+
## Commando's
|
|
64
|
+
- dbt run --select staging — staginglaag uitvoeren
|
|
65
|
+
- dbt test — alle tests uitvoeren
|
|
66
|
+
- dbt docs generate && dbt docs serve — documentatie voorbeelden bekijken
|
|
67
|
+
- dbt source freshness — versheid van brondata controleren
|
|
68
|
+
|
|
69
|
+
## Nooit doen
|
|
70
|
+
- Nooit bedrijfslogica in stagingmodellen plaatsen
|
|
71
|
+
- Nooit datums hardcoderen — gebruik dbt-variabelen of macro's
|
|
72
|
+
- Nooit echte credentials committen — gebruik omgevingsvariabelen of secrets manager
|
|
73
|
+
- Nooit dbt run uitvoeren in productie zonder dat dbt test slaagt
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
> **Werk met ons:** Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten en B2B-oplossingen met ontwikkelaarsgemeenschappen. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
> 🇳🇱 Dit is de Nederlandse vertaling. [Engelse versie](../saas-backend.md).
|
|
2
|
+
|
|
3
|
+
# CLAUDE.md Starter — SaaS Backend
|
|
4
|
+
|
|
5
|
+
Zet dit in de `CLAUDE.md` van je project en vul de secties tussen haakjes in.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# [Projectnaam] — Claude Code Instructies
|
|
11
|
+
|
|
12
|
+
## Wat dit is
|
|
13
|
+
[Eén alinea: wat het product doet, wie het gebruikt, welk probleem het oplost]
|
|
14
|
+
|
|
15
|
+
## Stack
|
|
16
|
+
- Taal: [TypeScript / Python / Go]
|
|
17
|
+
- Framework: [Express / FastAPI / Gin / NestJS]
|
|
18
|
+
- Database: [PostgreSQL via Prisma / raw pg / SQLAlchemy]
|
|
19
|
+
- Auth: [JWT met 15-min access tokens + 7-dag refresh tokens / Clerk / Auth0]
|
|
20
|
+
- Cache: [Redis]
|
|
21
|
+
- Queue: [BullMQ / SQS / Celery]
|
|
22
|
+
- Deployment: [AWS ECS / Fly.io / Railway]
|
|
23
|
+
|
|
24
|
+
## Projectstructuur
|
|
25
|
+
src/
|
|
26
|
+
├── api/ ← Route-handlers — slank, delegeer aan services
|
|
27
|
+
├── services/ ← Bedrijfslogica — geen HTTP-concerns
|
|
28
|
+
├── db/ ← Databasequeries — geen bedrijfslogica
|
|
29
|
+
├── middleware/ ← Auth, rate limiting, foutafhandeling
|
|
30
|
+
├── models/ ← Typedefinities en schema's
|
|
31
|
+
└── utils/ ← Pure functies, geen bijeffecten
|
|
32
|
+
|
|
33
|
+
## Conventies
|
|
34
|
+
- Route-handlers zijn slank: invoer valideren, service aanroepen, antwoord retourneren
|
|
35
|
+
- Services bevatten alle bedrijfslogica: ze weten niet van HTTP
|
|
36
|
+
- DB-laag bevat alleen queries: geen bedrijfslogica, geen HTTP-concerns
|
|
37
|
+
- Alle databasetoegang gaat via de db/-laag — roep ORM nooit direct aan vanuit services
|
|
38
|
+
- Fouten propageren naar boven met context — slik nooit stilletjes in
|
|
39
|
+
- Alle API-routes retourneren: 200 (succes), 201 (aangemaakt), 204 (geen inhoud), 400 (slechte invoer), 401 (niet auth), 403 (verboden), 404 (niet gevonden), 409 (conflict), 422 (validatie), 500 (onverwacht)
|
|
40
|
+
|
|
41
|
+
## Beslissingen (niet opnieuw bespreken)
|
|
42
|
+
- [Auth-mechanisme besloten: JWT, geen sessies]
|
|
43
|
+
- [ORM-keuze: Prisma — geen ruwe SQL behalve voor complexe analysequeries]
|
|
44
|
+
- [Foutformaat: { error: string, code: string } — wijzig de shape nooit]
|
|
45
|
+
- [Geen barrel-bestanden — importeer direct vanuit bron]
|
|
46
|
+
|
|
47
|
+
## Testen
|
|
48
|
+
- Integratietests raken een echte testdatabase — geen DB-mocks
|
|
49
|
+
- Unittests voor pure bedrijfslogica in services/
|
|
50
|
+
- Testbestand: [bestandsnaam].test.ts naast het bronbestand
|
|
51
|
+
- Uitvoeren: npm test
|
|
52
|
+
|
|
53
|
+
## Commando's
|
|
54
|
+
- npm run dev — start ontwikkelingsserver met hot reload
|
|
55
|
+
- npm test — alle tests uitvoeren
|
|
56
|
+
- npm run build — productiebuild
|
|
57
|
+
- npm run lint — ESLint + Prettier controle
|
|
58
|
+
- npm run db:migrate — uitstaande migraties uitvoeren
|
|
59
|
+
- npm run db:seed — ontwikkelingsdata seeden
|
|
60
|
+
|
|
61
|
+
## Nooit doen
|
|
62
|
+
- Nooit bedrijfslogica in route-handlers plaatsen
|
|
63
|
+
- Nooit de database direct aanroepen vanuit route-handlers
|
|
64
|
+
- Nooit ruwe databasefouten retourneren aan clients
|
|
65
|
+
- Nooit .env-bestanden committen
|
|
66
|
+
- Nooit `any`-type gebruiken in TypeScript
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
> **Werk met ons:** Claudient wordt ondersteund door [Uitbreiden](https://uitbreiden.com/) — we bouwen AI-producten en B2B-oplossingen met ontwikkelaarsgemeenschappen. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# CLAUDE.md Starter — SaaS Backend
|
|
2
|
+
|
|
3
|
+
Drop this into your project's `CLAUDE.md` and fill in the bracketed sections.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# [Project Name] — Claude Code Instructions
|
|
9
|
+
|
|
10
|
+
## What this is
|
|
11
|
+
[One paragraph: what the product does, who uses it, what problem it solves]
|
|
12
|
+
|
|
13
|
+
## Stack
|
|
14
|
+
- Language: [TypeScript / Python / Go]
|
|
15
|
+
- Framework: [Express / FastAPI / Gin / NestJS]
|
|
16
|
+
- Database: [PostgreSQL via Prisma / raw pg / SQLAlchemy]
|
|
17
|
+
- Auth: [JWT with 15-min access tokens + 7-day refresh tokens / Clerk / Auth0]
|
|
18
|
+
- Cache: [Redis]
|
|
19
|
+
- Queue: [BullMQ / SQS / Celery]
|
|
20
|
+
- Deployment: [AWS ECS / Fly.io / Railway]
|
|
21
|
+
|
|
22
|
+
## Project structure
|
|
23
|
+
src/
|
|
24
|
+
├── api/ ← Route handlers — thin, delegate to services
|
|
25
|
+
├── services/ ← Business logic — no HTTP concerns
|
|
26
|
+
├── db/ ← Database queries — no business logic
|
|
27
|
+
├── middleware/ ← Auth, rate limiting, error handling
|
|
28
|
+
├── models/ ← Type definitions and schemas
|
|
29
|
+
└── utils/ ← Pure functions, no side effects
|
|
30
|
+
|
|
31
|
+
## Conventions
|
|
32
|
+
- Route handlers are thin: validate input, call service, return response
|
|
33
|
+
- Services contain all business logic: they do not know about HTTP
|
|
34
|
+
- DB layer contains only queries: no business logic, no HTTP concerns
|
|
35
|
+
- All database access goes through the db/ layer — never call ORM directly from services
|
|
36
|
+
- Errors propagate upward with context — never swallow silently
|
|
37
|
+
- All API routes return: 200 (success), 201 (created), 204 (no content), 400 (bad input), 401 (unauth), 403 (forbidden), 404 (not found), 409 (conflict), 422 (validation), 500 (unexpected)
|
|
38
|
+
|
|
39
|
+
## Decisions (do not re-discuss)
|
|
40
|
+
- [Auth mechanism decided: JWT, no sessions]
|
|
41
|
+
- [ORM choice: Prisma — no raw SQL except for complex analytics queries]
|
|
42
|
+
- [Error format: { error: string, code: string } — never change the shape]
|
|
43
|
+
- [No barrel files — import directly from source]
|
|
44
|
+
|
|
45
|
+
## Testing
|
|
46
|
+
- Integration tests hit a real test database — no DB mocks
|
|
47
|
+
- Unit tests for pure business logic in services/
|
|
48
|
+
- Test file: [filename].test.ts next to the source file
|
|
49
|
+
- Run: npm test
|
|
50
|
+
|
|
51
|
+
## Commands
|
|
52
|
+
- npm run dev — start development server with hot reload
|
|
53
|
+
- npm test — run all tests
|
|
54
|
+
- npm run build — production build
|
|
55
|
+
- npm run lint — ESLint + Prettier check
|
|
56
|
+
- npm run db:migrate — run pending migrations
|
|
57
|
+
- npm run db:seed — seed development data
|
|
58
|
+
|
|
59
|
+
## Never do
|
|
60
|
+
- Never put business logic in route handlers
|
|
61
|
+
- Never call the database from route handlers directly
|
|
62
|
+
- Never return raw database errors to clients
|
|
63
|
+
- Never commit .env files
|
|
64
|
+
- Never use `any` type in TypeScript
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
> **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,81 @@
|
|
|
1
|
+
# Prompt: Generate Changelog
|
|
2
|
+
|
|
3
|
+
Use this prompt to generate a user-facing changelog from git history or a list of changes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## From git log
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Generate a user-facing changelog for version [X.Y.Z].
|
|
11
|
+
|
|
12
|
+
Git log since last release:
|
|
13
|
+
[paste: git log v[prev-version]..HEAD --oneline]
|
|
14
|
+
|
|
15
|
+
Rules:
|
|
16
|
+
- Write for users, not developers — explain impact, not implementation
|
|
17
|
+
- Group by: New Features / Improvements / Bug Fixes / Breaking Changes
|
|
18
|
+
- Omit: chore commits, dependency bumps, internal refactors with no user impact
|
|
19
|
+
- Breaking changes section must be first if it exists
|
|
20
|
+
- Each entry: one sentence, active voice, present tense ("Adds X", "Fixes Y", "Removes Z")
|
|
21
|
+
- If a commit is unclear, ask me rather than guess
|
|
22
|
+
|
|
23
|
+
Format:
|
|
24
|
+
## [X.Y.Z] — [YYYY-MM-DD]
|
|
25
|
+
|
|
26
|
+
### Breaking Changes
|
|
27
|
+
- ...
|
|
28
|
+
|
|
29
|
+
### New Features
|
|
30
|
+
- ...
|
|
31
|
+
|
|
32
|
+
### Improvements
|
|
33
|
+
- ...
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
- ...
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## From a list of changes
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
Generate a user-facing changelog entry for these changes:
|
|
45
|
+
|
|
46
|
+
[paste bullet list of what changed]
|
|
47
|
+
|
|
48
|
+
Target audience: [developers using our API / end users of the web app / etc.]
|
|
49
|
+
|
|
50
|
+
Rules:
|
|
51
|
+
- User impact first — "You can now X" not "We added Y"
|
|
52
|
+
- Group related changes under one entry
|
|
53
|
+
- One sentence per entry
|
|
54
|
+
- No technical jargon unless the audience is technical
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Keep a Changelog format
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Generate a changelog entry following the Keep a Changelog format (keepachangelog.com).
|
|
63
|
+
|
|
64
|
+
Changes:
|
|
65
|
+
[describe or paste git log]
|
|
66
|
+
|
|
67
|
+
Version: [X.Y.Z]
|
|
68
|
+
Date: [YYYY-MM-DD]
|
|
69
|
+
|
|
70
|
+
Use these exact section headers where applicable:
|
|
71
|
+
### Added
|
|
72
|
+
### Changed
|
|
73
|
+
### Deprecated
|
|
74
|
+
### Removed
|
|
75
|
+
### Fixed
|
|
76
|
+
### Security
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
> **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,83 @@
|
|
|
1
|
+
> 🇩🇪 Dies ist die deutsche Übersetzung. [Englische Version](../changelog.md).
|
|
2
|
+
|
|
3
|
+
# Prompt: Changelog generieren
|
|
4
|
+
|
|
5
|
+
Diesen Prompt verwenden, um einen benutzerorientierten Changelog aus der Git-Historie oder einer Liste von Änderungen zu generieren.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Aus dem Git-Log
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Generate a user-facing changelog for version [X.Y.Z].
|
|
13
|
+
|
|
14
|
+
Git log since last release:
|
|
15
|
+
[paste: git log v[prev-version]..HEAD --oneline]
|
|
16
|
+
|
|
17
|
+
Rules:
|
|
18
|
+
- Write for users, not developers — explain impact, not implementation
|
|
19
|
+
- Group by: New Features / Improvements / Bug Fixes / Breaking Changes
|
|
20
|
+
- Omit: chore commits, dependency bumps, internal refactors with no user impact
|
|
21
|
+
- Breaking changes section must be first if it exists
|
|
22
|
+
- Each entry: one sentence, active voice, present tense ("Adds X", "Fixes Y", "Removes Z")
|
|
23
|
+
- If a commit is unclear, ask me rather than guess
|
|
24
|
+
|
|
25
|
+
Format:
|
|
26
|
+
## [X.Y.Z] — [YYYY-MM-DD]
|
|
27
|
+
|
|
28
|
+
### Breaking Changes
|
|
29
|
+
- ...
|
|
30
|
+
|
|
31
|
+
### New Features
|
|
32
|
+
- ...
|
|
33
|
+
|
|
34
|
+
### Improvements
|
|
35
|
+
- ...
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
- ...
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Aus einer Änderungsliste
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Generate a user-facing changelog entry for these changes:
|
|
47
|
+
|
|
48
|
+
[paste bullet list of what changed]
|
|
49
|
+
|
|
50
|
+
Target audience: [developers using our API / end users of the web app / etc.]
|
|
51
|
+
|
|
52
|
+
Rules:
|
|
53
|
+
- User impact first — "You can now X" not "We added Y"
|
|
54
|
+
- Group related changes under one entry
|
|
55
|
+
- One sentence per entry
|
|
56
|
+
- No technical jargon unless the audience is technical
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Keep a Changelog Format
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Generate a changelog entry following the Keep a Changelog format (keepachangelog.com).
|
|
65
|
+
|
|
66
|
+
Changes:
|
|
67
|
+
[describe or paste git log]
|
|
68
|
+
|
|
69
|
+
Version: [X.Y.Z]
|
|
70
|
+
Date: [YYYY-MM-DD]
|
|
71
|
+
|
|
72
|
+
Use these exact section headers where applicable:
|
|
73
|
+
### Added
|
|
74
|
+
### Changed
|
|
75
|
+
### Deprecated
|
|
76
|
+
### Removed
|
|
77
|
+
### Fixed
|
|
78
|
+
### Security
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
> **Mit uns arbeiten:** Claudient wird von [Uitbreiden](https://uitbreiden.com/) unterstützt — wir bauen KI-Produkte und B2B-Lösungen mit Entwickler-Communities. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
> 🇩🇪 Dies ist die deutsche Übersetzung. [Englische Version](../debugging.md).
|
|
2
|
+
|
|
3
|
+
# Prompt: Strukturiertes Debugging
|
|
4
|
+
|
|
5
|
+
Diesen Prompt verwenden, wenn ein Bug zur systematischen Diagnose an Claude übergeben wird.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Vollständiger Debugging-Prompt
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
I have a bug. Help me diagnose it systematically.
|
|
13
|
+
|
|
14
|
+
## The symptom
|
|
15
|
+
[Describe exactly what goes wrong: error message, unexpected output, wrong behavior.
|
|
16
|
+
Include the exact error text if there is one.]
|
|
17
|
+
|
|
18
|
+
## Reproduction
|
|
19
|
+
[Describe how to reproduce it — steps, curl command, test case, or "cannot reliably reproduce"]
|
|
20
|
+
|
|
21
|
+
## What I've already tried
|
|
22
|
+
[List anything you've already checked or changed — saves Claude from repeating it]
|
|
23
|
+
|
|
24
|
+
## Relevant files
|
|
25
|
+
[List the files most likely involved — or ask Claude to identify them]
|
|
26
|
+
|
|
27
|
+
## Recent changes
|
|
28
|
+
[What changed recently in this area? Paste relevant git log output if helpful]
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
Using this information:
|
|
33
|
+
|
|
34
|
+
1. Identify the 3 most likely root causes, ranked by probability
|
|
35
|
+
2. For each cause, describe a specific test that would confirm or rule it out
|
|
36
|
+
3. Start with the highest-probability cause
|
|
37
|
+
4. Do not fix anything yet — diagnose first
|
|
38
|
+
|
|
39
|
+
After each test, report what you found and move to the next hypothesis or proceed to fix.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Schnellvariante (offensichtliche Bugs)
|
|
45
|
+
|
|
46
|
+
Für Bugs, bei denen die Ursache ungefähr bekannt ist:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Bug: [describe the symptom]
|
|
50
|
+
Likely cause: [your hypothesis]
|
|
51
|
+
Relevant code: [paste the relevant function or file]
|
|
52
|
+
|
|
53
|
+
Confirm whether my hypothesis is correct, then apply the minimal fix.
|
|
54
|
+
Write a regression test after fixing.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Produktionsvorfall-Variante
|
|
60
|
+
|
|
61
|
+
Für Live-Vorfälle, bei denen Schnelligkeit wichtig ist:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
PRODUCTION INCIDENT — [service name] is [symptom]
|
|
65
|
+
|
|
66
|
+
Immediate priority: identify the blast radius and any actions to reduce user impact NOW.
|
|
67
|
+
|
|
68
|
+
Then diagnose:
|
|
69
|
+
- Error logs: [paste relevant log lines]
|
|
70
|
+
- Recent deployments: [list last 3 deploys with timestamps]
|
|
71
|
+
- Affected users: [number/percentage if known]
|
|
72
|
+
|
|
73
|
+
What is the fastest safe mitigation while we find the root cause?
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
> **Mit uns arbeiten:** Claudient wird von [Uitbreiden](https://uitbreiden.com/) unterstützt — wir bauen KI-Produkte und B2B-Lösungen mit Entwickler-Communities. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
> 🇩🇪 Dies ist die deutsche Übersetzung. [Englische Version](../pr-description.md).
|
|
2
|
+
|
|
3
|
+
# Prompt: PR-Beschreibung generieren
|
|
4
|
+
|
|
5
|
+
Diesen Prompt verwenden, um eine qualitativ hochwertige Pull-Request-Beschreibung aus den eigenen Änderungen zu generieren.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Prompt
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Write a pull request description for the following changes.
|
|
13
|
+
|
|
14
|
+
Branch: [branch name]
|
|
15
|
+
Base: main
|
|
16
|
+
|
|
17
|
+
Changed files:
|
|
18
|
+
[paste: git diff --stat main...HEAD]
|
|
19
|
+
|
|
20
|
+
What this PR does:
|
|
21
|
+
[one sentence — the user should fill this in so Claude has intent, not just diff]
|
|
22
|
+
|
|
23
|
+
Write the PR description with these sections:
|
|
24
|
+
|
|
25
|
+
## Summary
|
|
26
|
+
[2–4 bullet points: what changed and why, from the reader's perspective]
|
|
27
|
+
|
|
28
|
+
## Motivation
|
|
29
|
+
[one short paragraph: what problem this solves or what improvement it makes]
|
|
30
|
+
|
|
31
|
+
## Changes
|
|
32
|
+
[bullet list of meaningful changes — not a file list, but behavioral/structural changes]
|
|
33
|
+
|
|
34
|
+
## Test plan
|
|
35
|
+
[bulleted checklist of how a reviewer can verify this works:
|
|
36
|
+
- specific steps to test
|
|
37
|
+
- edge cases to check
|
|
38
|
+
- what a successful result looks like]
|
|
39
|
+
|
|
40
|
+
## Notes
|
|
41
|
+
[anything a reviewer needs to know: breaking changes, migration steps, follow-up work, known limitations]
|
|
42
|
+
|
|
43
|
+
Rules:
|
|
44
|
+
- No generic filler ("this PR improves the codebase")
|
|
45
|
+
- No file lists (the diff already shows files)
|
|
46
|
+
- Specific and concrete — a reviewer should be able to test this without asking questions
|
|
47
|
+
- If there are no notes, omit the Notes section
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Schnellvariante (kleine PRs)
|
|
53
|
+
|
|
54
|
+
Für kleine, offensichtliche Änderungen:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Write a concise PR description for this change: [describe the change in one sentence]
|
|
58
|
+
|
|
59
|
+
Include:
|
|
60
|
+
- What: one sentence
|
|
61
|
+
- Why: one sentence
|
|
62
|
+
- How to test: one or two specific steps
|
|
63
|
+
|
|
64
|
+
Keep it under 100 words total.
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
> **Mit uns arbeiten:** Claudient wird von [Uitbreiden](https://uitbreiden.com/) unterstützt — wir bauen KI-Produkte und B2B-Lösungen mit Entwickler-Communities. [uitbreiden.com](https://uitbreiden.com/)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Prompt: Structured Debugging
|
|
2
|
+
|
|
3
|
+
Use this prompt when handing a bug to Claude for systematic diagnosis.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Full debugging prompt
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
I have a bug. Help me diagnose it systematically.
|
|
11
|
+
|
|
12
|
+
## The symptom
|
|
13
|
+
[Describe exactly what goes wrong: error message, unexpected output, wrong behavior.
|
|
14
|
+
Include the exact error text if there is one.]
|
|
15
|
+
|
|
16
|
+
## Reproduction
|
|
17
|
+
[Describe how to reproduce it — steps, curl command, test case, or "cannot reliably reproduce"]
|
|
18
|
+
|
|
19
|
+
## What I've already tried
|
|
20
|
+
[List anything you've already checked or changed — saves Claude from repeating it]
|
|
21
|
+
|
|
22
|
+
## Relevant files
|
|
23
|
+
[List the files most likely involved — or ask Claude to identify them]
|
|
24
|
+
|
|
25
|
+
## Recent changes
|
|
26
|
+
[What changed recently in this area? Paste relevant git log output if helpful]
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
Using this information:
|
|
31
|
+
|
|
32
|
+
1. Identify the 3 most likely root causes, ranked by probability
|
|
33
|
+
2. For each cause, describe a specific test that would confirm or rule it out
|
|
34
|
+
3. Start with the highest-probability cause
|
|
35
|
+
4. Do not fix anything yet — diagnose first
|
|
36
|
+
|
|
37
|
+
After each test, report what you found and move to the next hypothesis or proceed to fix.
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Quick variant (obvious bugs)
|
|
43
|
+
|
|
44
|
+
For bugs where the cause is roughly known:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Bug: [describe the symptom]
|
|
48
|
+
Likely cause: [your hypothesis]
|
|
49
|
+
Relevant code: [paste the relevant function or file]
|
|
50
|
+
|
|
51
|
+
Confirm whether my hypothesis is correct, then apply the minimal fix.
|
|
52
|
+
Write a regression test after fixing.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Production incident variant
|
|
58
|
+
|
|
59
|
+
For live incidents where speed matters:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
PRODUCTION INCIDENT — [service name] is [symptom]
|
|
63
|
+
|
|
64
|
+
Immediate priority: identify the blast radius and any actions to reduce user impact NOW.
|
|
65
|
+
|
|
66
|
+
Then diagnose:
|
|
67
|
+
- Error logs: [paste relevant log lines]
|
|
68
|
+
- Recent deployments: [list last 3 deploys with timestamps]
|
|
69
|
+
- Affected users: [number/percentage if known]
|
|
70
|
+
|
|
71
|
+
What is the fastest safe mitigation while we find the root cause?
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
> **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,83 @@
|
|
|
1
|
+
> 🇪🇸 Esta es la traducción en español. [Versión en inglés](../changelog.md).
|
|
2
|
+
|
|
3
|
+
# Prompt: Generar Changelog
|
|
4
|
+
|
|
5
|
+
Usa este prompt para generar un changelog orientado al usuario a partir del historial de git o una lista de cambios.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Desde git log
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Generate a user-facing changelog for version [X.Y.Z].
|
|
13
|
+
|
|
14
|
+
Git log since last release:
|
|
15
|
+
[paste: git log v[prev-version]..HEAD --oneline]
|
|
16
|
+
|
|
17
|
+
Rules:
|
|
18
|
+
- Write for users, not developers — explain impact, not implementation
|
|
19
|
+
- Group by: New Features / Improvements / Bug Fixes / Breaking Changes
|
|
20
|
+
- Omit: chore commits, dependency bumps, internal refactors with no user impact
|
|
21
|
+
- Breaking changes section must be first if it exists
|
|
22
|
+
- Each entry: one sentence, active voice, present tense ("Adds X", "Fixes Y", "Removes Z")
|
|
23
|
+
- If a commit is unclear, ask me rather than guess
|
|
24
|
+
|
|
25
|
+
Format:
|
|
26
|
+
## [X.Y.Z] — [YYYY-MM-DD]
|
|
27
|
+
|
|
28
|
+
### Breaking Changes
|
|
29
|
+
- ...
|
|
30
|
+
|
|
31
|
+
### New Features
|
|
32
|
+
- ...
|
|
33
|
+
|
|
34
|
+
### Improvements
|
|
35
|
+
- ...
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
- ...
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Desde una lista de cambios
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Generate a user-facing changelog entry for these changes:
|
|
47
|
+
|
|
48
|
+
[paste bullet list of what changed]
|
|
49
|
+
|
|
50
|
+
Target audience: [developers using our API / end users of the web app / etc.]
|
|
51
|
+
|
|
52
|
+
Rules:
|
|
53
|
+
- User impact first — "You can now X" not "We added Y"
|
|
54
|
+
- Group related changes under one entry
|
|
55
|
+
- One sentence per entry
|
|
56
|
+
- No technical jargon unless the audience is technical
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Formato Keep a Changelog
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Generate a changelog entry following the Keep a Changelog format (keepachangelog.com).
|
|
65
|
+
|
|
66
|
+
Changes:
|
|
67
|
+
[describe or paste git log]
|
|
68
|
+
|
|
69
|
+
Version: [X.Y.Z]
|
|
70
|
+
Date: [YYYY-MM-DD]
|
|
71
|
+
|
|
72
|
+
Use these exact section headers where applicable:
|
|
73
|
+
### Added
|
|
74
|
+
### Changed
|
|
75
|
+
### Deprecated
|
|
76
|
+
### Removed
|
|
77
|
+
### Fixed
|
|
78
|
+
### Security
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
> **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/)
|