Best Practices und Empfehlungen

Bewährte Praktiken für eine effiziente Nutzung von Claude Code – ein umfassender Leitfaden von der Projektinitialisierung bis zur Teamzusammenarbeit

Aktualisiert 2026-10-01
Auf dieser Seite

Best Practices

Dieses Dokument bündelt Erfahrungen von Claude-Code-Nutzern aus der Praxis. Ob Sie neu mit Claude Code starten oder als erfahrener Nutzer Ihre Effizienz steigern möchten – hier finden Sie wertvolle Tipps.

Die Inhalte sind vom Einsteiger- bis zum Fortgeschrittenenlevel aufgebaut. Wir empfehlen, alles zunächst einmal durchzulesen und die Empfehlungen dann schrittweise in Ihren Arbeitsalltag zu übernehmen.

Projektinitialisierung: bewährte Praktiken

Ein guter Anfang ist die halbe Miete. Bevor Sie Claude Code erstmals in einem Projekt einsetzen, sollten Sie 10 Minuten in die Initialisierung investieren – jede weitere Interaktion wird dadurch effizienter.

Schritt 1: CLAUDE.md erstellen

Dies ist der wichtigste Schritt. CLAUDE.md dient als Projektanleitung, die Sie für Claude verfassen. Beim Start von Claude Code wird diese Datei automatisch gelesen, um den Projektkontext zu verstehen.

Warum ist dieser Schritt so wichtig?

Ohne CLAUDE.md müssen Sie Claude wiederholt dieselben Dinge erklären:

You: Install dependencies with pnpm
Claude: Okay, running npm install...
You: Not npm, pnpm!
Claude: Sorry, running pnpm install...

Mit CLAUDE.md müssen diese Grundlagen nur einmal festgehalten werden.

CLAUDE.md – Vorlagenbeispiel:

# My Project Name

## Overview
This is an e-commerce backend management system based on Next.js 15, written in TypeScript.

## Tech Stack

- Runtime: Node.js 22 LTS
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS v4
- Database: PostgreSQL 16 + Prisma ORM
- Package Manager: pnpm 9
- Testing Framework: Vitest + Playwright

## Common Commands

- Install dependencies: `pnpm install`
- Development server: `pnpm dev` (port 3000)
- Run tests: `pnpm test`
- Lint code: `pnpm lint`
- Database migration: `pnpm prisma migrate dev`
- Production build: `pnpm build`

## Coding Standards

- Strictly use TypeScript, no `any` allowed
- React components use functional style with hooks
- Styles only use Tailwind, no inline styles or CSS files
- All API routes return `{ success: boolean, data?: T, error?: string }`
- Database queries go through the service layer, don't call Prisma directly in routes
- Commit message format: `feat:` / `fix:` / `docs:` / `refactor:` prefixes

## Project Structure

- `src/app/` — Pages and API routes (App Router)
- `src/components/` — Reusable UI components
- `src/components/ui/` — Base components (Button, Input, etc.)
- `src/services/` — Business logic layer
- `src/lib/` — Utility functions and configuration
- `prisma/` — Database schema and migration files

## Notes

- Don't manually modify files under `prisma/migrations/`
- Environment variables are in `.env.local` (not committed to Git)
- API authentication middleware is in `src/middleware.ts`
- Image assets go in `public/images/`, use next/image component for loading

Mit /init schnell generieren:

Wenn Sie CLAUDE.md nicht manuell schreiben möchten, verwenden Sie den Befehl /init, damit Claude Ihr Projekt automatisch analysiert und eine Datei erstellt:

/init

Claude scannt Ihre Projektstruktur, package.json, Konfigurationsdateien usw. und generiert automatisch eine CLAUDE.md. Anschließend können Sie teaminterne Konventionen ergänzen, die möglicherweise nicht erkannt wurden.

Schritt 2: .claudeignore konfigurieren

Ähnlich wie .gitignore teilt .claudeignore Claude mit, welche Dateien nicht relevant sind. Das beschleunigt nicht nur die Suche, sondern verhindert auch, dass sich Claude mit irrelevanten Dateien ablenken lässt.

# .claudeignore

# Dependency directories
node_modules/
vendor/
.venv/

# Build outputs
dist/
build/
.next/
out/

# Large data files
*.sql
*.csv
*.sqlite
data/

# Binary and media files
*.jpg
*.png
*.mp4
*.zip

# Auto-generated code
generated/
*.gen.ts
prisma/migrations/

# Logs
logs/
*.log

Schritt 3: Verzeichnisstruktur in CLAUDE.md beschreiben

Dieser Schritt wird häufig übersehen, ist aber äußerst wirksam. Wenn Claude Ihre Verzeichnisstruktur versteht, weiß es, wo Dateien zu finden sind und wo neue angelegt werden müssen:

## Project Structure
src/
├── app/                 # Next.js App Router
│   ├── (auth)/          # Pages requiring authentication
│   ├── (public)/        # Public pages
│   └── api/             # API routes
├── components/
│   ├── ui/              # Base UI components (shadcn/ui)
│   ├── forms/           # Form components
│   └── layouts/         # Layout components
├── services/            # Business logic (one file per module)
├── hooks/               # Custom React hooks
├── lib/                 # Utility functions
│   ├── auth.ts          # Authentication related
│   ├── db.ts            # Database connection
│   └── validators.ts    # Zod schema definitions
└── types/               # TypeScript type definitions

Best Practices für die tägliche Entwicklung

Nach der Initialisierung helfen Ihnen diese täglichen Gewohnheiten, effizienter zu arbeiten.

Anforderungen klar beschreiben, keine vagen Anweisungen

Dies ist das grundlegendste und wichtigste Prinzip. Claude kann nicht Ihre Gedanken lesen—je klarer Sie formulieren, desto besser das Ergebnis.

Vage Anweisungen (ineffektiv) Klare Beschreibungen (effektiv)
„Repariere die Login-Funktion“ „Login-Fehler-Rate-Limiting in src/app/api/auth/login/route.ts ergänzen: Sperrung für 15 Minuten nach 5 Fehlversuchen derselben IP innerhalb von 5 Minuten, Zähler in Redis speichern“
„Hilf mir, eine Komponente zu schreiben“ „Komponente UserAvatar in src/components/ui/ erstellen. Sie soll zwei Props akzeptieren: name und imageUrl. Wenn kein Bild vorhanden ist, sollen die Initialen des Namens angezeigt werden. Tailwind rounded-full für runde Avatare verwenden"
„Da ist ein Fehler, behebe ihn“ „Nutzer berichten, dass Filterbedingungen nach dem Klick auf die Pagination der Produktliste verloren gehen. Bitte die Paginierungslogik in src/app/products/page.tsx prüfen, um sicherzustellen, dass URL-Query-Parameter bei der Pagination erhalten bleiben"

@-Referenzen für Kontext verwenden

Wenn Sie möchten, dass Claude bestimmte Dateien referenziert, nutzen Sie das @-Symbol für direkte Referenzen—das ist schneller und präziser als eine Suche:

Look at @src/services/order-service.ts and @src/types/order.ts,
then add a cancel order method to order-service, checking if the order status allows cancellation.

Mehrere @-Referenzmethoden:

@src/services/auth.ts       # Reference a single file
@src/components/            # Reference an entire directory
@package.json               # Reference a config file
@https://nextjs.org/docs    # Reference online docs (will fetch content)

Tipp zur Kostenersparnis: Verwenden Sie aktiv @-Referenzen für relevante Dateien, statt Claude das gesamte Projekt durchsuchen zu lassen. Bei einer Suche liest Claude viele Dateien und verbraucht zusätzliche Tokens.

Eine Sache nach der anderen erledigen

Vermeiden Sie, zu viele Aufgaben in einen Prompt zu packen. Claude liefert die besten Ergebnisse, wenn es sich auf eine Sache konzentriert:

# Not recommended: asking for too much at once
"Add avatar upload to the user module, and while you're at it tweak the login page styles,
also add debounce to that search box, and oh, update the password reset email template too."

# Recommended: do it step by step
Step 1: "Add avatar upload to UserProfile component, use S3 for storage"
Step 2: "Update login page styles, refer to @docs/design-spec.md for the design"
Step 3: "Add 300ms debounce to the search box using a custom hook"
Step 4: "Update password reset email template, match the style of @src/templates/welcome.html"

Claude erst lesen lassen, dann modifizieren

Bei bestehendem Code ist es deutlich wirksamer, Claude zunächst den Code verstehen zu lassen, bevor Änderungen vorgenommen werden:

# Step 1: Understand first
"Read @src/services/payment-service.ts and explain the current payment flow processing logic,
especially error handling and retry mechanisms. Don't modify any code."

# Step 2: Plan next
"Based on your understanding, I want to add WeChat Pay as a payment channel.
Please create a modification plan, listing what needs to be changed."

# Step 3: Execute modifications
"The plan looks good, let's start. Modify payment-service.ts first."

Plan-Modus für komplexe Aufgaben nutzen

Bei großen Aufgaben mit mehreren Dateien nutzen Sie den Plan-Modus (Umschalten mit Shift+Tab), damit Claude zunächst einen Plan erstellt:

[Plan Mode]
I need to add an RBAC (Role-Based Access Control) permission system to the existing system.
Currently users only have admin and user roles. I need to support custom roles and fine-grained permissions.
Please analyze the existing code first and create a detailed implementation plan.

Claude erstellt einen Schritt-für-Schritt-Plan. Nach Ihrer Bestätigung wechseln Sie zurück in den normalen Modus und führen die Schritte nacheinander aus.

/clear und /compact sinnvoll einsetzen

Diese beiden Befehle sind unverzichtbare Werkzeuge zur Kontextverwaltung:

/compact    # Compress current conversation history, keeping key information, freeing up context space
/clear      # Completely clear conversation history, start fresh

# When to use:
# - Switching to a completely different task → /clear
# - Same task but conversation is too long → /compact
# - Feeling Claude's responses are getting worse (context overload) → /compact
# - Just finished one feature, starting the next → /clear

Wichtiges Prinzip: Wenn Sie das Thema wechseln, führen Sie unbedingt zuerst /clear aus. Übrig gebliebener alter Kontext verschwendet Tokens und kann Claudes Antworten beeinträchtigen.

Best Practices für Code-Reviews

Claude Code kann nicht nur Code schreiben, sondern Sie auch beim Review unterstützen.

Den Befehl /review verwenden

So prüfen Sie die aktuellen Git-Änderungen schnell:

/review

Claude prüft alle noch nicht committeten Änderungen und weist auf mögliche Probleme hin:

  • Logikfehler und Grenzfälle
  • Sicherheitsrisiken (SQL-Injection, XSS usw.)
  • Performanceprobleme
  • Uneinheitlicher Code-Stil
  • Fehlende Fehlerbehandlung

Claude Tests zur Überprüfung von Änderungen schreiben lassen

Lassen Sie Claude nach einer Code-Änderung Tests schreiben, um sie zu verifizieren:

I just modified the cancel order logic in @src/services/order-service.ts.
Please write unit tests for this method, covering the following scenarios:
1. Normal cancellation of an unshipped order
2. Attempt to cancel a shipped order (should fail)
3. Cancel a non-existent order
4. Concurrent cancellation of the same order

Mehrstufiger Review-Workflow

Bei wichtigen Code-Änderungen können Sie mehrere Review-Runden durchführen:

# Round 1: Overall review
"Review the latest changes to @src/services/payment-service.ts,
focusing on security and error handling."

# After making changes based on feedback, round 2:
"Please review the modified code again, this time focusing on performance and edge cases."

# Round 3 (optional): Comparison review
"Compare the code before and after changes to confirm all issues are fixed and no new problems were introduced."

Best Practices für das Debugging

Fehlerbehebung gehört zu den Stärken von Claude Code. Mit dem richtigen Vorgehen beim Debugging findet Claude Probleme schneller.

Vollständige Fehlerprotokolle bereitstellen

Zeigen Sie Claude nicht nur die letzte Zeile der Fehlermeldung, sondern den vollständigen Kontext:

Got an error when running pnpm build, full error log below:

Typfehler: Das Argument vom Typ 'string | undefined' kann dem Parameter vom Typ 'string' nicht zugewiesen werden. Type 'undefined' is not assignable to type 'string'.

42 | const user = await getUser(session.userId) | ^^^^^^^ 43 | return NextResponse.json(user)

This error occurs in @src/app/api/user/route.ts.
I suspect it's a session type definition issue, please check.

Schritt für Schritt debuggen: erst diagnostizieren, dann beheben

Lassen Sie Claude das Problem nicht sofort beheben, sondern zuerst diagnostizieren:

# Step 1: Diagnose
"Users report that they occasionally get redirected to a 404 page after logging in.
Please check @src/middleware.ts and @src/app/(auth)/layout.tsx,
and analyze what might be causing this issue. Don't modify code yet."

# Step 2: Confirm the cause, then fix
"Your analysis makes sense—it's indeed a redirect logic issue when the session expires.
Please fix this issue and add appropriate error logging to help with future troubleshooting."

Screenshots zur Hilfe nutzen

Claude Code kann Screenshots lesen, was bei UI-bezogenen Bugs besonders nützlich ist:

Look at this screenshot @screenshot.png—the last column text in the table is being cut off.
Please check the styles in @src/components/DataTable.tsx and fix this issue.

Im Terminal können Sie ein Bild einfach per Drag and Drop in den Eingabebereich von Claude Code ziehen. Es wird automatisch verarbeitet.

Best Practices für den Git-Workflow

Claude Code ist eng in Git integriert. Mit diesen Funktionen wird die Versionsverwaltung einfacher.

Mit /commit automatisch Commit-Nachrichten erzeugen

Claude analysiert Ihre Code-Änderungen und erzeugt automatisch standardisierte Commit-Nachrichten:

/commit

Die erzeugten Commit-Nachrichten enthalten in der Regel:

  • Präfix für den Änderungstyp (feat, fix, refactor usw.)
  • Eine knappe Beschreibung der Änderung
  • Den betroffenen Bereich

Wenn Sie mit der automatisch erzeugten Nachricht nicht zufrieden sind, können Sie Änderungen anfordern:

/commit
# Claude's generated message not good enough?
"Please make the commit message more detailed, explaining why this logic was changed"

Feature-Branches und PR-Workflow

Empfohlener Workflow:

# 1. Create feature branch
git checkout -b feature/order-cancel

# 2. Start Claude Code development
claude

# 3. Multiple small commits during development
> "Implement basic order cancellation logic"
> /commit

> "Add cancel reason field and validation"
> /commit

> "Add unit tests for order cancellation"
> /commit

# 4. Finish development, create PR
> Create a Pull Request for the current branch, summarize all commit changes, generate a standardized PR description

Direkte Änderungen am Main-Branch vermeiden

# Add this rule in CLAUDE.md:
## Git Standards

- All modifications must be done on feature branches, don't modify main branch directly
- Branch naming: feature/xxx, fix/xxx, refactor/xxx
- Run `pnpm lint && pnpm test` before committing to ensure everything is fine

Nachdem Sie dies in CLAUDE.md festgehalten haben, befolgt Claude diese Regeln automatisch. Sollten Sie Claude versehentlich bitten, Code im Main-Branch zu ändern, weist es Sie zunächst darauf hin, einen Branch zu erstellen.

Best Practices für die Zusammenarbeit im Team

Wenn Sie Claude Code im Team einsetzen, sorgen einheitliche Standards für eine reibungslosere Zusammenarbeit.

CLAUDE.md-Standards teilen

Committen Sie CLAUDE.md in das Git-Repository, damit alle Teammitglieder dieselbe Projektkonfiguration nutzen:

# CLAUDE.md in project root → commit to Git
git add CLAUDE.md
git commit -m "docs: add CLAUDE.md project configuration"

# Personal preference configs → put in .claude/CLAUDE.md, add to .gitignore
echo ".claude/CLAUDE.md" >> .gitignore

Die Team-CLAUDE.md sollte enthalten:

  • Tech-Stack und Architektur des Projekts
  • Coding-Standards und Namenskonventionen
  • Häufig genutzte Befehle und Skripte
  • Erläuterung der Verzeichnisstruktur
  • Teamvereinbarungen (Branch-Strategie, Commit-Standards, Review-Prozess)

Die persönliche .claude/CLAUDE.md kann enthalten:

  • Persönliche Coding-Präferenzen
  • Häufig genutzte Code-Snippets
  • Spezifische Konfiguration der Entwicklungsumgebung

PR-Reviews standardisieren

Legen Sie PR-Review-Standards in der CLAUDE.md fest, damit Claude Reviews einheitlich durchführt:

## PR Review Standards
When reviewing code, check the following aspects:
1. **Functional correctness**: Does it fully implement the requirements?
2. **Error handling**: Are edge cases covered?
3. **Security**: Any risks of SQL injection, XSS, permission bypass?
4. **Performance**: Any unnecessary database queries or memory leaks?
5. **Test coverage**: Do new code changes have corresponding tests?
6. **Code style**: Does it conform to project standards?
7. **Documentation**: Do public APIs have JSDoc comments?

Einheitlicher Code-Stil

Erzwingen Sie einen einheitlichen Code-Stil über die CLAUDE.md:

## Code Style

- Naming: Components use PascalCase, functions/variables use camelCase, constants use UPPER_SNAKE_CASE
- File names: Component files use PascalCase (e.g., UserAvatar.tsx), others use kebab-case
- Import order: React → third-party libraries → internal modules → types → styles
- Maximum function length: 50 lines, split if exceeded
- Define interface when component props exceed 3

Zusammenfassung fortgeschrittener Tipps

Hier finden Sie einige fortgeschrittene Tipps, die erfahrene Nutzer gesammelt haben:

Eigene Slash-Befehle

Erstellen Sie eigene Befehlsvorlagen im Verzeichnis .claude/commands/:

# .claude/commands/review-security.md
Please conduct a security review of the following code, focusing on:
1. SQL injection risks
2. XSS attack surface
3. CSRF protection
4. Completeness of permission checks
5. Whether sensitive data is encrypted
6. Whether sensitive information is leaked in logs

Review scope: $ARGUMENTS

So verwenden Sie den Befehl:

/review-security @src/app/api/

Koordinierte Änderungen an mehreren Dateien

Wenn Sie mehrere Dateien gleichzeitig ändern müssen, geben Sie Claude einen klaren Gesamtüberblick:

I need to add a coupon feature to the order system, involving the following files:

- @src/types/coupon.ts — new, define coupon types
- @src/services/coupon-service.ts — new, coupon business logic
- @src/services/order-service.ts — modify, apply coupon during checkout
- @src/app/api/coupons/route.ts — new, coupon API
- @prisma/schema.prisma — modify, add Coupon model

Please handle them in the order above, and tell me after completing each file.

Extended Thinking nutzen

Lassen Sie Claude bei komplexen Architekturentscheidungen Extended Thinking verwenden:

[Using Opus model]
I'm considering migrating the current REST API to GraphQL.
Please analyze the pros and cons in depth, considering the following factors:
1. Migration cost for existing 50+ API endpoints
2. Benefits of frontend query optimization
3. Changes in caching strategy
4. Team learning curve
5. Integration plan with existing React Query

No need to write code, give me a detailed technical analysis report.

Claude die eigenen Änderungen überprüfen lassen

Gewöhnen Sie sich an, Claude die eigenen Änderungen selbst überprüfen zu lassen:

After completing the modifications, please:
1. Run pnpm lint to check for formatting issues
2. Run pnpm test to confirm existing tests still pass
3. If there are type errors, fix them yourself

Häufige Fallstricke

Zum Schluss einige Vorgehensweisen, die Sie vermeiden sollten:

Fallstrick Richtige Vorgehensweise
Den gesamten Dateiinhalt in die Unterhaltung einfügen Mit @file path referenzieren
Claude in einem Prompt fünf Dinge gleichzeitig erledigen lassen Eins nach dem anderen erledigen, Aufgaben aufteilen
Anforderungen vage beschreiben Konkrete Dateien, Verhaltensweisen und erwartete Ergebnisse angeben
CLAUDE.md nicht verwenden 10 Minuten Schreibaufwand sparen Ihnen später unzählige Stunden
/clear oder /compact nie verwenden /clear bei Themenwechsel, /compact bei langer Unterhaltung
Claude ändern lassen, ohne vorher zu verstehen Erst den Code lesen, dann planen, dann ausführen
Für alles Opus verwenden Sonnet für alltägliche Aufgaben, Opus nur für komplexe Entscheidungen
Denselben Befehl bei einem Fehler wiederholt erneut versuchen Einen anderen Ansatz wählen, mehr Kontext liefern

Diese Best Practices zu beherrschen braucht Zeit. Wir empfehlen, mit den grundlegendsten Punkten zu beginnen: CLAUDE.md anlegen, Anforderungen klar beschreiben und eins nach dem anderen erledigen. Allein diese drei Punkte verbessern Ihre Erfahrung spürbar. Mit zunehmender Erfahrung können Sie nach und nach die fortgeschrittenen Techniken einsetzen.

Verwandte Dokumente

QCode mit 9router verwenden
Fügen Sie QCode.cc als benutzerdefinierten Anbieter in 9router hinzu, einem lokalen Multi-Provider-Router für anbieterübergreifendes Fallback und einheitliche Verwaltung
gpt-image-2 Bildgenerierung und Bildbearbeitung
OpenAI-kompatible gpt-image-2 Text-zu-Bild- und Bildbearbeitungs-API: mit Umstellung von base_url sofort einsetzbar, Endpunkte in mehreren Regionen, einheitliche Abrechnung mit Ihrem QCode-Key
Bild-Input (Vision)
Bilder an Claude Code übergeben: Einfügen, Drag-and-Drop oder Dateipfad angeben, damit das Modell Screenshots, Mockups, Architekturdiagramme und Charts lesen kann. Unterstützt von QCode.cc-Vision-Modellen – ein API-Key funktioniert über alle Endpunkte hinweg.
🚀
Mit QCode starten — Claude Code & Codex
Ein Tarif für Claude Code und Codex, niedrige Latenz in Asien-Pazifik
Tarifpläne ansehen → Konto erstellen
Team ab 3 Personen?
Enterprise: eigene Domain + Sub-Key-Verwaltung + Ban-Schutz, ab ¥250 pro Person und Monat
Enterprise kennenlernen →