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.