Projektkonfiguration
Die Projektkonfiguration passt das Cyberstrike-Verhalten fuer bestimmte Projekte an und ueberschreibt globale Einstellungen, wenn vorhanden.
📸 SCREENSHOT: project-config.png
Struktur der Projektkonfigurationsdatei
Dateispeicherort
Die Projektkonfiguration wird in cyberstrike.json (oder cyberstrike.jsonc) im Projektstamm gespeichert. Cyberstrike sucht aufwaerts vom Arbeitsverzeichnis, sodass eine Konfiguration in einem beliebigen uebergeordneten Ordner erkannt wird:
my-project/├── cyberstrike.json ← Projektkonfiguration├── src/├── package.json└── ...Projektkonfiguration erstellen
Es gibt keinen init-Befehl — erstellen Sie die Datei manuell:
{ "$schema": "https://cyberstrike.io/config.json", "model": "anthropic/claude-sonnet-4-20250514"}Grundeinstellungen
Modellauswahl
{ "model": "anthropic/claude-opus-4-5-20251101"}Standardagent
{ "default_agent": "cyberstrike"}default_agent muss ein primaerer Agent sein; er faellt auf cyberstrike zurueck, wenn nicht gesetzt oder ungueltig.
Benutzerdefinierte Anweisungen
instructions ist eine Liste von Dateien oder Glob-Mustern, deren Inhalte an den System-Prompt angehaengt werden (es ist kein Inline-Prosatext). Listen werden mit der globalen Konfiguration vereinigungsweise zusammengefuehrt:
{ "instructions": [ "SECURITY.md", "docs/security-guidelines.md", ".cursor/rules/*.md" ]}Anbieterkonfiguration
Konfigurieren Sie Anbieter unter provider. Es gibt keinen provider.default-Schluessel — der aktive Anbieter ergibt sich aus model (provider/model):
{ "provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } }, "openai": { "options": { "apiKey": "{env:OPENAI_API_KEY}" } } }}Siehe KI-Anbieter fuer anbieterspezifische Details.
Berechtigungen
Berechtigungen ordnen einen Werkzeugnamen einer Aktion zu (ask, allow, deny) oder einer Glob-zu-Aktion-Zuordnung. Es gibt keine Erlauben/Verweigern-Arrays und keine Berechtigungs-”Modi”:
{ "permission": { "read": "allow", "bash": { "npm test": "allow", "npm run lint": "allow", "rm -rf *": "deny" }, "edit": { "reports/**": "allow", ".env*": "deny" } }}Nur * und ? werden als Platzhalter unterstuetzt. Siehe Berechtigungen fuer das vollstaendige Modell und die komplette Liste der Berechtigungsschluessel.
MCP-Server
MCP-Server werden als flache Zuordnung unter mcp deklariert, geschluesselt nach Servername. Lokale Server verwenden type: "local" mit einem einzelnen command-Array:
{ "mcp": { "project-tools": { "type": "local", "command": ["node", "./tools/mcp-server.js"], "enabled": true } }}Projekt-mcp-Eintraege werden ueber die globalen zusammengefuehrt. Um einen geerbten Server zu deaktivieren, setzen Sie sein enabled auf false:
{ "mcp": { "some-global-server": { "enabled": false } }}Benutzerdefinierte Agenten
Definieren Sie Projektagenten als Markdown-Dateien unter .cyberstrike/agents/ (siehe Benutzerdefinierte Agenten), und waehlen Sie dann einen als Standard:
{ "default_agent": "project-scanner"}Vollstaendiges Beispiel
{ "$schema": "https://cyberstrike.io/config.json", "model": "anthropic/claude-sonnet-4-20250514", "default_agent": "cyberstrike", "instructions": ["docs/SECURITY.md"],
"provider": { "anthropic": { "options": { "apiKey": "{env:ANTHROPIC_API_KEY}" } } },
"permission": { "read": "allow", "bash": { "npm *": "allow", "git status": "allow", "rm *": "deny" }, "edit": { "reports/**": "allow", ".env*": "deny" } },
"mcp": { "db-tools": { "type": "local", "command": ["node", "./tools/db-mcp.js"], "enabled": true } }}Konfigurationsvererbung
Die Projektkonfiguration wird ueber die globale und Remote-Konfiguration zusammengefuehrt:
Remote / Well-Known Konfiguration (Basis) ↓Globale Konfiguration (~/.config/cyberstrike/) ↓Benutzerdefinierte Konfiguration (CYBERSTRIKE_CONFIG) ↓Projektkonfiguration (cyberstrike.json) ↓.cyberstrike/-Verzeichniskonfiguration ↓CYBERSTRIKE_CONFIG_CONTENT / Verwaltete Konfiguration / CLI-Argumente (Ueberschreibung)Siehe die Konfigurationsreferenz fuer die vollstaendige Prioritaetsreihenfolge.
Zusammenfuehrungsverhalten
| Einstellung | Verhalten |
|---|---|
| Skalare | Ersetzt |
| Objekte | Tief zusammengefuehrt |
| Arrays | Ersetzt — ausser plugin und instructions, die vereinigungsweise zusammengefuehrt werden |
Schema-Validierung
Fuegen Sie die Schema-Referenz fuer IDE-Autovervollstaendigung und Validierung hinzu:
{ "$schema": "https://cyberstrike.io/config.json"}Git-Integration
Projektkonfiguration committen
git add cyberstrike.jsongit commit -m "Add Cyberstrike project configuration"Sensible Daten ignorieren
# Lokale Sitzungsdaten ignorieren.cyberstrike/sessions/Best Practices
- Versionskontrolle - Committen Sie die Projektkonfiguration fuer Team-Sharing
- Umgebungsreferenzen verwenden - Keine API-Schluessel hart kodieren (
{env:VAR}) - Anweisungen dokumentieren - Zeigen Sie
instructionsauf Ihre Sicherheitsdokumente - Minimale Berechtigungen - Nur erlauben, was noetig ist
- Persoenliche Ueberschreibungen - Verwenden Sie
CYBERSTRIKE_CONFIGfuer Einstellungen, die nicht committet werden sollen
Tip
Committen Sie cyberstrike.json fuer Team-Sharing. Verwenden Sie Umgebungsvariablen oder CYBERSTRIKE_CONFIG fuer persoenliche Ueberschreibungen, die nicht committet werden sollen.
Verwandte Dokumentation
- Konfigurationsreferenz - Vollstaendige Anleitung
- Globale Konfiguration - Globale Einstellungen
- Umgebungsvariablen - Umgebungsvariablen-Referenz