Zum Hauptinhalt springen

Plugins System

Was sind Claude Code Plugins?

Plugins sind benutzerdefinierte Sammlungen von Entwicklungstools, die die Funktionen von Claude Code erweitern. Stellen Sie sie sich als Power-Ups für Ihren Entwicklungs-Workflow vor - Sie können alles, was Sie benötigen, mit einem einzigen Befehl installieren.

Ein Plugin kann vier Kernkomponenten enthalten:

  • Slash Commands: Schnelle Shortcuts für häufige Operationen
  • Subagents: Spezialisierte KI-Agenten für bestimmte Aufgaben
  • MCP Servers: Verbindungen zu externen Tools und Datenquellen
  • Hooks: Benutzerdefinierte Verhaltensweisen zu bestimmten Workflow-Zeitpunkten

Die Schlüsselinnovation: Alle diese Komponenten sind gebündelt, sodass die Einrichtung komplexer Entwicklungsumgebungen einfach und schnell wird.

Warum Plugins verwenden?

Traditionelle Probleme bei der Tool-Verwaltung

Ohne Plugins stehen Entwicklungsteams vor folgenden Herausforderungen:

  • 🔄 Verstreute Tools: Jedes Teammitglied konfiguriert seine Tools unterschiedlich
  • 📚 Steile Lernkurve: Neue Mitglieder verbringen Tage mit der Einrichtung ihrer Umgebung
  • 🔧 Konfigurationshölle: Jeder pflegt seine eigenen Skripte und Konfigurationen
  • 🐛 Inkonsistente Standards: Keine einheitliche Methode zur Durchsetzung von Best Practices

Plugins-Lösung

Plugins lösen diese Probleme durch:

  • Ein-Befehl-Installation: Die gesamte Toolchain wird sofort installiert
  • 🎯 Standardisierung: Alle verwenden die gleichen Tools und Workflows
  • 🚀 Schnelles Onboarding: Neue Mitglieder sind ab dem ersten Tag produktiv
  • 🔄 Einfache Verwaltung: Plugins nach Bedarf aktivieren/deaktivieren

Die vier Komponenten verstehen

1. Slash Commands

Slash Commands sind Einstiegspunkte für schnelle Operationen. Sie kapseln komplexe Aufgaben in einfache Befehle.

Häufige Muster:

/test          # Testsuite ausführen
/deploy # In Produktion deployen
/review # Code-Review-Prozess starten
/docs # Dokumentation generieren
/build # Optimierten Build ausführen

Wie sie funktionieren:

Wenn Sie /test eingeben, macht Claude Code Folgendes:

  1. Liest die Befehlsdefinition aus .claude/commands/test.md
  2. Führt den definierten Workflow aus
  3. Gibt Ihnen die Ergebnisse zurück

Ihren ersten Slash Command erstellen:

<!-- .claude/commands/hello.md -->
Say hello to the user and show the current project structure.

Wenn Sie jetzt /hello eingeben, wird dieser Befehl ausgeführt.

2. Subagents

Subagents sind spezialisierte KI-Agenten mit tiefgreifender Domänenexpertise. Sie sind wie Fachberater in Ihrem Team.

Praxisbeispiele:

DevOps Agent:

  • Automatisiert Deployment-Prozesse
  • Überwacht die Systemgesundheit
  • Verwaltet Infrastruktur-Aufgaben
> Use DevOps agent to set up CI/CD pipeline for this project

Testing Agent:

  • Generiert intelligente Testfälle
  • Identifiziert Randfälle
  • Optimiert Testabdeckung
> Use Testing agent to create comprehensive tests for the authentication module

Security Agent:

  • Scannt Code auf Schwachstellen
  • Schlägt Sicherheitsverbesserungen vor
  • Validiert Sicherheitsmuster
> Use Security agent to audit this API endpoint

3. MCP Servers

MCP (Model Context Protocol) Servers bieten Konnektivität zu externen Tools und Datenquellen.

Verbindungsmöglichkeiten:

Entwicklungstools:

- Git: Versionskontroll-Operationen
- Docker: Container-Management
- Kubernetes: Orchestrierung und Deployment

Datenbanken:

- PostgreSQL: Relationale Daten
- MongoDB: Dokumentenspeicherung
- Redis: Caching und Sessions

Cloud-Dienste:

- AWS: Cloud-Infrastruktur
- Azure: Microsoft-Cloud
- GCP: Google Cloud Platform

API-Dienste:

- Interne Microservices
- Drittanbieter-APIs
- Webhook-Integrationen

Beispiel für eine MCP Server-Konfiguration:

{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION": "postgresql://localhost/mydb"
}
}
}
}

4. Hooks

Hooks passen das Verhalten von Claude Code zu bestimmten Workflow-Zeitpunkten an.

Verfügbare Hook-Typen:

Pre-commit Hook:

// .claude/hooks/pre-commit.js
// Wird vor Code-Commits ausgeführt
module.exports = async (context) => {
// Linters ausführen
// Formatierung prüfen
// Tests validieren
return { allow: true };
};

Post-analysis Hook:

// .claude/hooks/post-analysis.js
// Wird nach der Code-Analyse ausgeführt
module.exports = async (context) => {
// Berichte generieren
// Dokumentation aktualisieren
// Team benachrichtigen
};

Error Hook:

// .claude/hooks/error.js
// Wird bei Fehlern ausgeführt
module.exports = async (error, context) => {
// Fehlerdetails protokollieren
// Wiederherstellung versuchen
// Überwachungssysteme benachrichtigen
};

Plugins installieren und verwenden

Grundlegende Installation

Der einfachste Weg, ein Plugin zu installieren:

/plugin install organization/plugin-name

Beispiel:

/plugin install danavila/devops-toolkit

Claude wird:

  1. Das Plugin aus dem Repository herunterladen
  2. Alle Abhängigkeiten installieren
  3. Alle Komponenten konfigurieren
  4. Es sofort verfügbar machen

Plugins verwalten

Plugins sind so konzipiert, dass sie leichtgewichtig und umschaltbar sind:

# Plugin aktivieren
/plugin enable plugin-name

# Plugin deaktivieren
/plugin disable plugin-name

# Alle installierten Plugins auflisten
/plugin list

# Plugin-Details anzeigen
/plugin info plugin-name

# Plugin deinstallieren
/plugin uninstall plugin-name

Plugin-Lebenszyklus

Install → Configure → Enable → Use → Disable/Uninstall

Installation: Lädt das Plugin herunter und richtet es ein Configuration: Plugin-Einstellungen für Ihr Projekt anpassen Enable: Plugin-Funktionen aktivieren Use: Auf Slash Commands, Subagents und Hooks zugreifen Disable: Temporär ausschalten ohne zu deinstallieren Uninstall: Plugin vollständig entfernen

Plugin-Marketplaces

Was sind Marketplaces?

Marketplaces sind Repositories, in denen Entwickler Plugins teilen. Jeder kann seinen eigenen Marketplace erstellen und hosten.

Einen Marketplace erstellen

Schritt 1: Konfigurationsdatei erstellen

// .claude-plugin/marketplace.json
{
"name": "My Marketplace",
"description": "Custom plugins for our team",
"plugins": [
{
"name": "team-standards",
"description": "Enforce team coding standards",
"version": "1.0.0",
"repository": "github.com/myteam/team-standards"
}
]
}

Schritt 2: Auf GitHub hosten

git init
git add .claude-plugin/
git commit -m "Initialize plugin marketplace"
git push origin main

Schritt 3: Mit dem Team teilen

/plugin marketplace add myteam/plugin-marketplace

Community-Marketplaces

Dan Ávilas Marketplace:

/plugin marketplace add danavila/plugins

Enthält:

  • DevOps-Automatisierungstools
  • Dokumentationsgeneratoren
  • Projektmanagement-Integrationen

Seth Hobsons Repository:

/plugin marketplace add sethhobson/agents

Bietet über 80 spezialisierte Subagents:

  • Frontend-Entwicklung (React, Vue, Angular)
  • Backend-Entwicklung (Node.js, Python, Java)
  • Data Science und Machine Learning
  • Mobile-Entwicklung (iOS, Android)

Praxisnahe Plugin-Workflows

Szenario 1: Frontend-Team-Standardisierung

Problem: Teammitglieder verwenden unterschiedliche Linting-Regeln und Formatierungsstandards

Lösung: Team Standards Plugin erstellen

# Team-Standards-Plugin installieren
/plugin install company/frontend-standards

Plugin beinhaltet:

  • /lint - Führt ESLint mit Team-Konfiguration aus
  • /format - Wendet Team-Prettier-Regeln an
  • /test - Führt Jest mit Coverage-Anforderungen aus
  • React Agent - Erzwingt Komponenten-Muster
  • Accessibility Agent - Stellt WCAG-Konformität sicher

Ergebnis:

  • Konsistenter Code-Stil im gesamten Team
  • Automatisierte Qualitätsprüfungen
  • Reduzierte Code-Review-Zeit

Szenario 2: Full-Stack-Produktivitäts-Boost

Problem: Sich wiederholender Boilerplate-Code verlangsamt die Entwicklung

Lösung: Produktivitäts-Plugin installieren

/plugin install awesome-dev/fullstack-boost

Plugin bietet:

  • /api - Generiert REST API mit Best Practices
  • /component - Erstellt UI-Komponenten mit Tests
  • /db-migrate - Datenbank-Migrations-Helfer
  • Backend Agent - API-Optimierungsvorschläge
  • Database Agent - Query-Performance-Tipps

Ergebnis:

  • 3x schnellere Feature-Entwicklung
  • Konsistente Architekturmuster
  • Integrierte Optimierungsanleitung

Szenario 3: Enterprise-Sicherheits-Compliance

Problem: Muss Sicherheitsstandards vor dem Deployment erfüllen

Lösung: Security Compliance Plugin

/plugin install enterprise/security-compliance

Plugin erzwingt:

  • /security-scan - Automatisierte Sicherheitsprüfungen
  • /compliance-check - Validierung der regulatorischen Compliance
  • /audit-log - Audit-Trail generieren
  • Security Agent - Schwachstellenerkennung und Fixes
  • Compliance Hook - Pre-Commit-Sicherheitsvalidierung

Ergebnis:

  • Automatisierte Sicherheitsdurchsetzung
  • Compliance-Dokumentation wird automatisch generiert
  • Reduzierte Sicherheitsvorfälle

Ihr erstes Plugin erstellen

Plugin-Struktur

my-plugin/
├── .claude-plugin/
│ ├── manifest.json # Plugin-Metadaten
│ ├── commands/ # Slash commands
│ │ ├── test.md
│ │ └── deploy.md
│ ├── agents/ # Subagents
│ │ ├── testing-agent.md
│ │ └── deploy-agent.md
│ ├── mcp-servers/ # MCP Server-Konfigurationen
│ │ └── custom-tools.json
│ └── hooks/ # Hooks-Konfiguration
│ ├── pre-commit.js
│ └── post-analysis.js
└── README.md

Schritt 1: Manifest erstellen

{
"name": "my-first-plugin",
"version": "1.0.0",
"description": "My custom development tools",
"author": "Your Name",
"components": {
"commands": ["test", "deploy"],
"agents": ["testing-agent"],
"hooks": ["pre-commit"]
}
}

Schritt 2: Slash Command hinzufügen

<!-- .claude-plugin/commands/test.md -->
# Test Command

Run the project test suite with coverage reporting.

## Steps:
1. Check for test files
2. Run Jest with coverage
3. Generate HTML report
4. Open report in browser

Schritt 3: Subagent erstellen

<!-- .claude-plugin/agents/testing-agent.md -->
# Testing Agent

You are a testing expert specializing in comprehensive test coverage.

## Capabilities:
- Generate unit tests for functions and classes
- Create integration tests for APIs
- Design end-to-end test scenarios
- Identify edge cases and test coverage gaps
- Suggest test data and mocking strategies

## Guidelines:
- Follow AAA pattern (Arrange, Act, Assert)
- Aim for 80%+ code coverage
- Include positive and negative test cases
- Mock external dependencies appropriately

Schritt 4: Hook hinzufügen

// .claude-plugin/hooks/pre-commit.js
module.exports = async (context) => {
console.log('Running pre-commit checks...');

// Run linter
const lintResult = await context.exec('npm run lint');
if (lintResult.exitCode !== 0) {
return {
allow: false,
message: 'Linting failed. Please fix errors before committing.'
};
}

// Run tests
const testResult = await context.exec('npm test');
if (testResult.exitCode !== 0) {
return {
allow: false,
message: 'Tests failed. Please fix failing tests before committing.'
};
}

return { allow: true };
};

Schritt 5: Plugin testen

# Plugin lokal laden
/plugin install ./my-plugin

# Slash Command testen
/test

# Subagent verwenden
> Use Testing agent to create tests for UserService

# Hook verifizieren (versuchen zu committen)
git add .
git commit -m "test commit"

Best Practices

1. Single Responsibility

Jedes Plugin sollte sich auf eine Domäne konzentrieren:

✅ Gut:

- authentication-plugin (behandelt nur Auth)
- testing-plugin (behandelt nur Testing)
- deployment-plugin (behandelt nur Deployment)

❌ Schlecht:

- everything-plugin (versucht alles zu machen)

2. Kompositionsfähigkeit

Entwerfen Sie Plugins so, dass sie gut zusammenarbeiten:

# Plugins sollten sich ergänzen
/plugin enable testing-plugin
/plugin enable quality-plugin
/plugin enable deployment-plugin

# Sie sollten nicht in Konflikt geraten

3. Klare Dokumentation

Jedes Plugin benötigt:

# Plugin Name

## Description
Klare Erklärung, was es tut

## Installation
Schritt-für-Schritt-Installationsanleitung

## Usage
Beispiele für alle Befehle und Features

## Configuration
Verfügbare Optionen und Einstellungen

## Troubleshooting
Häufige Probleme und Lösungen

4. Versionsverwaltung

Verwenden Sie semantische Versionierung:

{
"version": "1.2.3"
// 1 = Major (Breaking Changes)
// 2 = Minor (neue Features)
// 3 = Patch (Bugfixes)
}

5. Performance-Optimierung

Lazy Loading:

// Nur laden, wenn benötigt
if (command === '/heavy-operation') {
const module = await import('./heavy-module');
module.execute();
}

Caching:

// Teure Operationen cachen
const cache = new Map();
if (cache.has(key)) {
return cache.get(key);
}
const result = await expensiveOperation();
cache.set(key, result);

Fehlerbehebung

Plugin lässt sich nicht installieren

Problem: Plugin-Installation schlägt fehl

Lösungen:

# Netzwerkverbindung prüfen
ping github.com

# Überprüfen, ob Plugin-Repository existiert
git ls-remote https://github.com/org/plugin-name

# Mit ausführlichem Logging versuchen
/plugin install org/plugin-name --verbose

# Nach Konflikt-Plugins suchen
/plugin list

Slash Command nicht gefunden

Problem: /mycommand sagt "command not found"

Lösungen:

# Überprüfen, ob Plugin aktiviert ist
/plugin list

# Aktivieren, falls deaktiviert
/plugin enable plugin-name

# Plugins neu laden
/plugin reload

# Prüfen, ob Befehlsdefinition existiert
ls .claude-plugin/commands/

Hook wird nicht ausgelöst

Problem: Pre-Commit-Hook wird nicht ausgeführt

Lösungen:

// Prüfen, ob Hook registriert ist
/plugin info plugin-name

// Überprüfen, ob Hook-Datei existiert und den korrekten Namen hat
ls .claude-plugin/hooks/

// Hook-Syntax prüfen
node .claude-plugin/hooks/pre-commit.js

// Hook-Debugging aktivieren
/plugin config plugin-name --debug-hooks

Fortgeschrittene Themen

Bedingtes Laden von Plugins

// Nur in bestimmten Umgebungen laden
if (process.env.NODE_ENV === 'production') {
await loadPlugin('production-monitoring');
}

Plugin-Abhängigkeiten

{
"name": "advanced-plugin",
"dependencies": {
"base-plugin": "^1.0.0",
"utils-plugin": "^2.1.0"
}
}

Benutzerdefinierte Plugin-Konfiguration

{
"plugins": {
"my-plugin": {
"enabled": true,
"config": {
"apiKey": "your-key",
"timeout": 5000,
"retries": 3
}
}
}
}

Plugin-Sicherheit

Best Practices

1. Code-Review: Überprüfen Sie Plugin-Code immer vor der Installation 2. Vertrauenswürdige Quellen: Installieren Sie nur von verifizierten Marketplaces 3. Berechtigungen: Verstehen Sie, welche Zugriffe Plugins anfordern 4. Regelmäßige Updates: Halten Sie Plugins für Sicherheitspatches aktuell

Warnsignale

⚠️ Warnzeichen:

  • Fordert übermäßige Berechtigungen an
  • Enthält verschleierten Code
  • Kein Quellcode verfügbar
  • Unbekannter Entwickler
  • Keine Dokumentation

Nächste Schritte

Nachdem Sie Plugins verstehen, können Sie:

  1. Marketplaces erkunden: Verfügbare Plugins durchsuchen

    /plugin marketplace add danavila/plugins
    /plugin browse
  2. Nützliche Plugins installieren: Mit Community-Favoriten beginnen

    /plugin install danavila/devops-toolkit
  3. Ihr eigenes Plugin erstellen: Tools für Ihren Workflow bauen

    mkdir my-plugin
    cd my-plugin
    # Folgen Sie der obigen Struktur
  4. Mit der Community teilen: Ihr Plugin veröffentlichen

    git push origin main
    # Repository-URL teilen

Weiterlesen: Dynamic Memory um zu erfahren, wie Claude Code den Kontext über Sessions hinweg beibehält.