Skip to main content

SCCS — SkillsCommandsConfigsSync

SCCS Overview

Language / Sprache: Deutsch | English

Version: 2.59.0 · Lizenz / License: AGPL-3.0 · Python: ≥ 3.10


Deutsche Dokumentation

Was ist SCCS?

SCCS ist ein YAML-konfiguriertes, bidirektionales Synchronisierungswerkzeug für Claude Code Dateien (Skills, Commands, Hooks, Agents, Scripts) und optionale Shell-Konfigurationen (Fish, Starship, PowerShell). Es hält deine ~/.claude/-Installation und ein Git-Repository deckungsgleich — über mehrere Maschinen, mehrere Plattformen, mehrere Identitäten hinweg.

Was kann SCCS?

  • 🔄 Bidirektionale Synchronisierung zwischen ~/.claude/ und Git-Repository, mit interaktiver Konfliktauflösung und automatischen Backups → docs/usage/sync.md
  • 🎚️ Profile: Artefakt-Gruppen ein-/ausschalten (v2.57.0) — sccs profile off gsd parkt Skills, Agents, settings.json-Hooks und Statusline einer Extension unter ~/.config/sccs/profiles/; sccs profile on gsd holt alles zurück. Nichts wird gelöscht, der Doctor installiert ein abgeschaltetes Profil nicht zurück, und die Sync-Excludes bleiben intakt. Auf einem typischen Setup nimmt das mitgelieferte gsd-Profil 71 Skills, 34 Agents und 19 Hook-Einträge aus dem Weg → docs/usage/profiles.md
  • 🎬 HyperFrames-Skills über den Doctor (v2.67.0) — mit doctor.skill_packages: [hyperframes] installiert sccs doctor install die 20 Video-Skills aus heygen-com/hyperframes als Kopie nach ~/.claude/skills/, sccs doctor update aktualisiert sie, und sccs doctor check prüft, ob alle vorhanden und ladbar sind. Welche Skills dazugehören, liest SCCS aus der Lock-Datei der skills-CLI, denn die Namen haben kein gemeinsames Präfix. Die Skills synchronisieren nie — jeder Rechner holt sie von upstream —, und sccs profile off hyperframes schaltet sie ab wie GSD → docs/usage/doctor.md
  • 📊 Statusline-Presets (v2.58.0) — sccs statusline list|use|install|show wählt aus, welche Statusleiste Claude Code ausführt; mitgeliefert sind builtin (~/.claude/statusline.sh) und claude-code-statusline. Nötig, weil eine geparkte Extension ihre eigene Statusleiste mitnimmt. Installiert wird über eine temporäre Datei und bash <datei> — nie curl … | bash durch eine Shell; Install-URLs sind https- und Host-allowlist-geprüft. Das mehrere MB große Binary landet über managed_paths in den Sync-Excludes. sccs doctor check zeigt das gewählte Preset in jedem Zustand — installed · in use, installed · not in use oder MISSING mit Install-Befehl (v2.58.1). ~ und $HOME im statusLine.command werden vor der Prüfung expandiert, statusline use|install merken sich die Wahl in der config.yaml (v2.58.2) → docs/usage/profiles.md
  • 🖥️ Die Statuszeile reist mit (v2.66.0) — die Kategorie claude_statusline deckt jetzt beide Hälften ab: das Skript unter ~/.claude/ und den statusLine-Eintrag in settings.json, der darauf zeigt. Vorher wurde nur statusline.sh erfasst, während Claude Codes eigenes /statusline-Setup nach statusline-command.sh schreibt — die Datei, die auf einem echten Rechner die Statuszeile ist, wurde nie eingesammelt, und jeder andere Host lief weiter mit dem, was seine eigene settings.json zufällig sagte. macOS und Linux bekommen bash ~/.claude/statusline-command.sh, Windows den PowerShell-Port. Ein Eintrag, den SCCS nicht selbst geschrieben hat, bleibt unangetastet: nur Werte aus früheren SCCS-Versionen (superseded_patterns) werden gehoben, und ein solcher Austausch wird gemeldet → docs/usage/categories.md
  • 🪝 Codex-Hooks-Export (v2.59.0) — sccs integrations codex export-hooks überträgt die Hook-Einträge aus ~/.claude/settings.json nach ~/.codex/hooks.json. Zehn gemeinsame Events werden übertragen, alles andere entfällt mit Warnung. Skripte bleiben in ~/.claude/hooks/, nur die Kommandos werden gemerged — non-destruktiv: Einträge, die SCCS nicht geschrieben hat, bleiben unangetastet. Codex vertraut Hooks über einen Hash, deshalb nach dem Export /hooks in Codex ausführen. Bewusst nicht Teil von export-all — Hooks führen bei jedem Tool-Aufruf Code aus → docs/usage/codex.md
  • 📉 Kapazitätssonde (v2.60.0) — sccs capacity [--json] [--offline] zeigt, wie viel Plan-Kontingent Claude Code, Codex und Antigravity noch haben, damit ein Orchestrator nach Kapazität statt nach Bauchgefühl verteilt. Codex wird kostenlos aus den eigenen Session-Dateien gelesen (nur so frisch wie die letzte Sitzung, wird bei Überalterung markiert), Antigravity live über agy -p "/usage", Claude Code ehrlich als „nicht auslesbar, Reserve" — es werden keine Zahlen erfunden. Antigravity rechnet Gemini getrennt von den durchgereichten Claude/GPT-Modellen ab: Ist Gemini knapp, ist der Ersatzprüfer Codex, nicht Antigravity mit Claude-Modell — sonst prüft Anthropic sich selbst → docs/usage/capacity.md
  • 🩺 System & Plugin Health-Check (sccs doctor) für Node.js, claude CLI, Claude-Plugins, npm-Helper-Tools, Browser-Bundles und Filesystem-Permissions — mit gezielten Reparatur-Plänen → docs/usage/doctor.md
  • 🧹 sccs doctor optimize (v2.30.0) — Ein-Schuss-Optimierungslauf: install + update + Drift-Warnung für Plugins/MCP-Server außerhalb der Spec. Mit --strict werden Uninstall-Actions per Confirm gequeut.
  • 🔧 doctor.disallowed_hooks (v2.31.0) — Substring-Patterns entfernen unerwünschte Hooks aus ~/.claude/settings.json nach jedem doctor-Pass (z.B. Hooks die von npx-Tools re-injiziert werden). Mit Backup, idempotent.
  • 🛡️ doctor.protected_hooks (v2.32.0) — harter Schutzwall (Default gsd-): geschützte Hooks werden NIE entfernt, auch wenn ein disallowed_hooks-Pattern matcht (protection wins). GSD-Hooks überleben jeden doctor-Pass.
  • ⚡ Auto-Update sicherer Wartung (v2.32.0) — sccs doctor update/optimize führt Plugin-Install/Update, npx-Refresh (inkl. GSD), Marketplace- und Bundled-Skill-Schritte ohne Nachfrage aus; destruktive Actions (Uninstall, Hook-Removal) bleiben confirm-pflichtig.
  • 📦 Selektiver Export/Import als ZIP-Archiv (Checkbox-Auswahl) für Kundendeployments → docs/usage/transfer.md
  • 🚚 Deploy: Kundendeployment mit Rückweg (v2.65.0) — sccs deploy export odoo-server -o kunde.zip baut aus einem benannten Profil (Skills, Agents, Commands, Framework-Dateien, Shell-Config) ein Bundle für einen fremden Host; sccs deploy install installiert es dort — auch ohne SCCS-Config auf dem Zielrechner —, sccs deploy revoke nimmt alles wieder ab und prüft mit einer Sweep, dass nichts zurückbleibt. Anders als das allgemeine sccs export/import ist das ein wiederholbares, benanntes Profil mit definiertem Rückweg → docs/usage/deploy.md
  • 🧠 Memory Bridge — file-basierter persistenter Kontext zwischen Claude Code (Terminal) und Claude.ai (Web), inklusive sccs memory CRUD-CLI → docs/usage/memory-bridge.md
  • 🔀 OpenCode-Integration (v2.37.0) — sccs integrations opencode exportiert Claude-Artefakte one-way nach OpenCode: Skills/Rules werden nativ gelesen, Agents/Commands per Frontmatter-Konvertierung materialisiert, MCP-Server in opencode.json gemerged → docs/usage/opencode.md
  • 🎯 Dynamische Modell-Zuordnung (v2.38.0) — opencode map-models löst Claude-Modelle gegen die real verfügbaren OpenCode-Modelle auf (opencode models-Discovery + Familien-Match), konfigurierbar über opencode.model_map, statischer Fallback offline → docs/usage/opencode.md
  • 🚫 OpenCode-Export ohne Plugin-Müll (v2.39.0) — opencode status/export-agents/export-commands schließen doctor-gemanagte Artefakte (gsd-*, playwright-cli — dasselbe Registry wie der Sync) per Default aus; eigene Agents/Commands bleiben. Eigene Patterns via opencode.exclude, explizites -a/-c umgeht den Exclude → docs/usage/opencode.md
  • 🧹 GSD-Umzug + Orphan-Cleanup (v2.40.0) — Doctor folgt GSD von @opengsd/get-shit-done-redux (deprecated) auf @opengsd/gsd-core und räumt verwaiste gsd-*-Skills/Agents auf: doctor check meldet sie, doctor update verschiebt sie (kein Hard-Delete, confirm-gated) nach ~/.config/sccs/gsd-orphans-backup-<ts>/. Node-Mindestversion 22 → docs/usage/doctor.md
  • 🥧 Pi-Integration (v2.41.0) — sccs integrations pi exportiert Claude-Artefakte one-way nach Pi: Skills (Verzeichnis-Kopie) und Agents (als Einzel-Skills) → ~/.pi/agent/skills/, Commands → ~/.pi/agent/prompts/. Format-identisch zu Claude Code, daher verbatim kopiert (keine Konvertierung, kein Modell-Mapping); gsd-* per Default ausgeschlossen → docs/usage/pi.md
  • 🤖 OpenAI-Codex-Integration (v2.53.0) — sccs integrations codex exportiert Claude-Artefakte one-way in die Codex CLI: Skills verbatim → ~/.agents/skills/ (identisches agentskills.io-Format), Agents → ~/.codex/agents/*.toml (Frontmatter→TOML, Modell + Reasoning-Effort gemappt, read-only-Toolsets → sandbox_mode), Commands als Codex-Skills verpackt (Codex-Prompts sind deprecated). Kollisionsschutz: echte Skills gewinnen immer gegen gleichnamige Commands. Modell-Map auf gpt-5.6-terra / gpt-5.6-luna aktualisiert, ein unbekannter Name in -s/-a/-c bricht jetzt sichtbar ab (v2.58.3) → docs/usage/codex.md
  • 🔐 Konverter: literale Werte bleiben literal (v2.56.0) — In fish unterdrücken einfache Quotes jede Expansion, und Backticks kennt fish gar nicht als Command-Substitution. sccs convert fish-to-zsh und fish-to-pwsh respektieren das jetzt: set -gx B 'text (whoami)' wird zu export B='text (whoami)' statt zu ausführbarem "$(whoami)". Gewollte Umwandlungen (unquoted (cmd) → $(cmd), $var-Expansion) bleiben erhalten. Relevant für importierte fremde fish-Configs → docs/usage/platforms.md
  • 📦 Transfer enthält nur noch eigene Artefakte (v2.55.0) — sccs export bietet keine doctor-verwalteten Items mehr an und packt sie auch nicht ins ZIP: die ~70 gsd-*-Skills/Agents/Hooks aus @opengsd/gsd-core und playwright-cli erzeugt der Zielrechner mit seinem eigenen sccs doctor install in der jeweils aktuellen Version. sccs import filtert symmetrisch, damit auch ältere Archive diese Dateien nicht mehr einschleusen (mit Anzeige, wie viele übersprungen wurden). Der Filter greift auf Item-Ebene (eine eigene gsd-*.md innerhalb eines Skills bleibt drin); --include-managed schaltet ihn in beiden Richtungen ab → docs/usage/transfer.md
  • 🛡️ Doctor-Plugin-Baseline erweitert (v2.54.0) — claude-security (tiefer Vulnerability-Scan des eigenen Codes) und claude-md-management (Audit/Pflege der CLAUDE.md-Dateien) sind jetzt required Defaults: doctor check meldet sie, doctor install installiert sie user-scoped auf jedem Rechner, doctor update hält sie aktuell. Achtung Scope-Falle — /plugin install aus einem Projekt heraus installiert nur projekt-scoped → docs/usage/doctor.md
  • 🔎 Doctor Update-Check (v2.42.0) — sccs doctor check prüft jetzt live, ob für die verwalteten npx-Tools (npm view) und Plugins (Marketplace-Manifest) eine neuere Version verfügbar ist, und zeigt sie als OUTDATED + Hinweiszeile. Nur ein Hinweis, kein Exit 1 (CI-freundlich); --no-update-check für offline/schnell → docs/usage/doctor.md
  • 🧰 Optionale CLI-Tools im Doctor (v2.43.0) — opt-in doctor.cli_tools: [zoxide, coreutils]: erkennt zoxide (alle Plattformen) und Microsoft Coreutils (nur Windows, native Unix-Tools in PowerShell) und hilft bei der Installation via winget/brew. winget list fängt die WinGet-Links-PATH-Falle ab (PowerShell-PATH-Block); nur Hinweis, kein Exit 1. Plus: doctor check zeigt den Node-Install-Befehl inline; Windows-UTF-8-Crash gefixt → docs/usage/doctor.md
  • 🪟 Windows-Doctor-Fixes (v2.43.1/2.43.2) — npm/npx (.cmd-Wrapper) laufen jetzt über cmd.exe /c, sodass doctor install funktioniert; path: npm-prefix-bin zeigt nicht mehr fälschlich MISSING (npm-Global-Bin == Prefix, kein \bin); der PATH-Fix-Block ist unter Windows echtes PowerShell statt bash/fish → docs/usage/doctor.md
  • 🤫 New-Category-Prompt opt-in (v2.44.0) — sccs sync schlägt neue Default-Kategorien (OpenCode, Pi) nicht mehr automatisch vor; der Prompt kommt nur noch mit sccs sync --migrate oder weiterhin via sccs config upgrade. Default-sync ist still — kein Prompt, keine Notice (auch in CI). --no-migrate bleibt als No-op gültig → docs/usage/sync.md
  • 🐚 PowerShell-Komfort + pwsh-7-Check (v2.45.0) — sccs convert fish-to-pwsh legt jetzt conf.d/95-conveniences.ps1 mit gewohnten Fish-Shortcuts an (ll/la/l mit eza/lsd-Fallback, ../.../...., which/touch/mkcd); lädt zuletzt und gewinnt über die auto-konvertierten ls/ll (opt-out via --no-conveniences). Zusätzlich prüft sccs doctor check unter Windows, ob PowerShell 7+ installiert/aktuell ist, und schlägt sonst winget install/upgrade --id Microsoft.PowerShell vor (nur Hinweis, kein Auto-Install) → docs/usage/platforms.md · docs/usage/doctor.md
  • 🛡️ GSD Scope-Boundary Auto-Patch (v2.49.0) — sccs doctor install/update stellt extern gelieferten gsd-*-Prompts, die ungebundene find/grep -r-Scans ohne Projektwurzel-Pin ausführen, automatisch eine SCOPE BOUNDARY-Direktive voran (idempotent per Sentinel, nur Direktive — Vendor-Snippets bleiben unangetastet). Verhindert, dass GSD-Prompts im Monorepo Schwester-Projekte scannen; kein Upstream-Zugriff nötig → docs/usage/doctor.md
  • 🃏 Self-serve Capability Card (v2.51.0) — sccs capability-card gibt die Agent-Capability-Card (usage/AGENT.md) als rohen Markdown auf stdout aus, mit live injizierter Version. Ins Wheel gebündelt, damit ein LLM/Agent das installierte Tool ohne Repo-/Website-Zugriff selbst beschreiben kann.
  • 🎯 Export/Import-Vorauswahl (v2.51.0) — die interaktive Auswahl fragt pro Detailansicht (Gruppen >5 Items), ob Elemente alle vorausgewählt oder alle abgewählt starten — so lassen sich gezielt wenige Skills anklicken, ohne jeden Eintrag einzeln abzuwählen → docs/usage/transfer.md
  • 🐚 Fish → Zsh Konvertierung (v2.52.0) — sccs convert fish-to-zsh generiert ein natives zsh-Profil aus der Fish-Konfiguration für Rechner ohne fish (z.B. Standard-zsh auf macOS): Aliase, Env-Vars und Funktionen werden Best-Effort übersetzt (inkl. if/switch-Blöcke), *.macos.fish/*.linux.fish landen in uname-Guards, und jede generierte Datei wird per zsh -n validiert — es wird nie kaputtes zsh erzeugt. Verteilung über die neue Kategorie zsh_config; Aktivierung einmalig per idempotentem Copy-Paste-Einzeiler (wird nach der Konvertierung ausgegeben, v2.52.1) → docs/usage/platforms.md
  • 🪟 Plattformübergreifend macOS, Linux, Windows mit nativer PowerShell-7-Unterstützung, Fish→PowerShell- und Fish→Zsh-Konvertierung → docs/usage/platforms.md
  • 🗂️ Mehr als 30 vordefinierte Kategorien mit Plattform-Filtern, anpassbaren Include/Exclude-Patterns und Sync-Modi → docs/usage/categories.md

Voraussetzungen

UV muss installiert sein:

Betriebssystem Befehl
macOS brew install uv
Linux / WSL curl -LsSf https://astral.sh/uv/install.sh | sh
Windows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Installation

# Als CLI-Tool installieren (empfohlen)
uv tool install sccs

# Aktualisieren
uv tool upgrade sccs

Für Entwickler:

git clone https://github.com/equitania/sccs.git
cd sccs
uv venv --python 3.13 && source .venv/bin/activate
uv pip install -e ".[dev]"
sccs --help

Quick Start

sccs config init                 # Konfiguration erstellen
sccs status                      # Status anzeigen
sccs sync --dry-run              # Vorschau der Änderungen
sccs sync                        # Synchronisieren
sccs doctor check                # System & Plugin Health prüfen

Dokumentation

Datei Inhalt
docs/usage/sync.md Sync-Workflow, Schnellstart, Konfiguration, Konfliktauflösung, Backups
docs/usage/doctor.md sccs doctor — System & Plugin Health, Bundled Skills, Browser-Bundles, Permission-Checks
docs/usage/transfer.md Export/Import als ZIP-Archive (Customer Deployment)
docs/usage/deploy.md Kundendeployment: Profile, Export/Install/Revoke, Ownership, Verifikations-Sweep
docs/usage/memory-bridge.md Memory Bridge: persistenter Kontext zwischen Claude Code und Claude.ai
docs/usage/categories.md Kategorien-Referenz, Standard-Kategorien, Plattform-Filter
docs/usage/opencode.md OpenCode-Integration: Agents/Commands exportieren, Modell-Mapping, MCP-Merge
docs/usage/pi.md Pi-Integration: Skills/Agents/Commands nach Pi (pi.dev) exportieren
docs/usage/codex.md OpenAI-Codex-Integration: Skills/Agents/Commands in die Codex CLI exportieren
docs/usage/platforms.md Windows/PowerShell-Support, Fish→PowerShell-Konvertierung
docs/usage/cli-reference.md Vollständige CLI-Befehlsreferenz
docs/architecture.md Modul-Layout, Test-Setup, Quality-Gate
RELEASE_NOTES.md Versions-Historie und Changelog

Lizenz

AGPL-3.0 — Equitania Software GmbH


English Documentation

What is SCCS?

SCCS is a YAML-configured, bidirectional synchronization tool for Claude Code files (skills, commands, hooks, agents, scripts) and optional shell configurations (Fish, Starship, PowerShell). It keeps your ~/.claude/ installation and a Git repository in lockstep — across multiple machines, multiple platforms, multiple identities.

What can SCCS do?

  • 🔄 Bidirectional sync between ~/.claude/ and a Git repository, with interactive conflict resolution and automatic backups → docs/usage/sync.md
  • 🎚️ Profiles: switch artefact groups on and off (v2.57.0) — sccs profile off gsd parks the skills, agents, settings.json hooks and statusline of one extension under ~/.config/sccs/profiles/; sccs profile on gsd brings it all back. Nothing is deleted, the doctor will not reinstall a switched-off profile, and sync excludes stay intact. On a typical setup the bundled gsd profile takes 71 skills, 34 agents and 19 hook entries out of the way → docs/usage/profiles.md
  • 🎬 HyperFrames skills through the doctor (v2.67.0) — with doctor.skill_packages: [hyperframes], sccs doctor install copies the 20 video skills from heygen-com/hyperframes into ~/.claude/skills/, sccs doctor update refreshes them, and sccs doctor check verifies that all are present and loadable. SCCS reads which skills belong to the package from the skills CLI lock file, because the names share no prefix. The skills never sync — each machine fetches them from upstream — and sccs profile off hyperframes switches them off like GSD → docs/usage/doctor.md
  • 📊 Statusline presets (v2.58.0) — sccs statusline list|use|install|show picks which statusline Claude Code runs; bundled are builtin (~/.claude/statusline.sh) and claude-code-statusline. Needed because a parked extension takes its own statusline with it. Installing goes through a temp file and bash <file> — never curl … | bash through a shell; install URLs are https- and host-allowlist-checked. The multi-MB binary lands in the sync excludes via managed_paths. sccs doctor check reports the chosen preset in every state — installed · in use, installed · not in use, or MISSING with the install command (v2.58.1). ~ and $HOME in statusLine.command are expanded before the check, and statusline use|install record the choice in config.yaml (v2.58.2) → docs/usage/profiles.md
  • 🖥️ The statusline travels (v2.66.0) — the claude_statusline category now covers both halves: the script under ~/.claude/ and the statusLine entry in settings.json pointing at it. Previously only statusline.sh was picked up, while Claude Code's own /statusline setup writes statusline-command.sh — the file that on a real machine is the statusline was never collected, and every other host kept running whatever its own settings.json happened to say. macOS and Linux get bash ~/.claude/statusline-command.sh, Windows the PowerShell port. An entry SCCS did not write itself is left alone: only values from earlier SCCS releases (superseded_patterns) are lifted, and such a replacement is reported → docs/usage/categories.md
  • 🪝 Codex hooks export (v2.59.0) — sccs integrations codex export-hooks transfers the hook entries from ~/.claude/settings.json into ~/.codex/hooks.json. Ten shared events transfer, everything else is dropped with a warning. Scripts stay in ~/.claude/hooks/, only the commands get merged — non-destructive: entries SCCS did not write are left alone. Codex trusts hooks by a hash, so run /hooks in Codex after exporting. Deliberately not part of export-all — hooks execute code on every tool call → docs/usage/codex.md
  • 🩺 System & plugin health check (sccs doctor) for Node.js, the claude CLI, Claude plugins, npm helper tools, browser bundles and filesystem permissions — with surgical repair plans → docs/usage/doctor.md
  • 🧹 sccs doctor optimize (v2.30.0) — one-shot optimisation pass: install + update + drift warning for plugins/MCP servers outside the spec. With --strict, uninstall actions are queued per confirm.
  • 🔧 doctor.disallowed_hooks (v2.31.0) — substring patterns strip unwanted hooks from ~/.claude/settings.json after every doctor pass (e.g. hooks re-injected by npx tools). Backup-aware, idempotent.
  • 🛡️ doctor.protected_hooks (v2.32.0) — hard guard (default gsd-): protected hooks are NEVER stripped, even when a disallowed_hooks pattern matches (protection wins). GSD hooks survive every doctor pass.
  • ⚡ Auto-update for safe maintenance (v2.32.0) — sccs doctor update/optimize runs plugin install/update, npx refresh (incl. GSD), marketplace and bundled-skill steps without prompts; destructive actions (uninstall, hook removal) keep their confirm gate.
  • 📦 Selective export/import as ZIP archives (checkbox selection) for customer deployments → docs/usage/transfer.md
  • 🚚 Deploy: customer deployments with a way back (v2.65.0) — sccs deploy export odoo-server -o customer.zip builds a bundle from a named profile (skills, agents, commands, framework files, shell config) for a foreign host; sccs deploy install installs it there — even with no SCCS config on the target —, sccs deploy revoke takes it back off and verifies with a sweep that nothing is left. Unlike the general-purpose sccs export/import, this is a repeatable, named profile with a defined way back → docs/usage/deploy.md
  • 🧠 Memory Bridge — file-based persistent context between Claude Code (terminal) and Claude.ai (web), including a full sccs memory CRUD CLI → docs/usage/memory-bridge.md
  • 🔀 OpenCode integration (v2.37.0) — sccs integrations opencode exports Claude artefacts one-way to OpenCode: skills/rules are read natively, agents/commands are materialised via frontmatter conversion, MCP servers are merged into opencode.json → docs/usage/opencode.md
  • 🎯 Dynamic model mapping (v2.38.0) — opencode map-models resolves Claude models against the models your OpenCode install actually offers (opencode models discovery + family match), configurable via opencode.model_map, with a static fallback when offline → docs/usage/opencode.md
  • 🚫 OpenCode export skips plugin clutter (v2.39.0) — opencode status/export-agents/export-commands exclude doctor-managed artefacts (gsd-*, playwright-cli — the same registry the sync engine honours) by default; your own agents/commands stay. Add your own patterns via opencode.exclude; an explicit -a/-c selection bypasses the exclude → docs/usage/opencode.md
  • 🧹 GSD move + orphan cleanup (v2.40.0) — Doctor follows GSD from @opengsd/get-shit-done-redux (deprecated) to @opengsd/gsd-core and cleans up orphaned gsd-* skills/agents: doctor check reports them, doctor update moves them (no hard-delete, confirm-gated) to ~/.config/sccs/gsd-orphans-backup-<ts>/. Minimum Node version is now 22 → docs/usage/doctor.md
  • 🥧 Pi integration (v2.41.0) — sccs integrations pi exports Claude artefacts one-way to Pi: skills (directory copy) and agents (as individual skills) → ~/.pi/agent/skills/, commands → ~/.pi/agent/prompts/. Format-identical to Claude Code, so copied verbatim (no conversion, no model mapping); gsd-* excluded by default → docs/usage/pi.md
  • 🤖 OpenAI Codex integration (v2.53.0) — sccs integrations codex exports Claude artefacts one-way to the Codex CLI: skills verbatim → ~/.agents/skills/ (identical agentskills.io format), agents → ~/.codex/agents/*.toml (frontmatter→TOML, model + reasoning effort mapped, read-only tool sets → sandbox_mode), commands wrapped as Codex skills (Codex prompts are deprecated). Collision protection: real skills always win over same-named commands. Model map refreshed to gpt-5.6-terra / gpt-5.6-luna, and an unknown name in -s/-a/-c now fails visibly (v2.58.3) → docs/usage/codex.md
  • 🔐 Converters: literal values stay literal (v2.56.0) — fish single quotes suppress every expansion, and fish has no backtick command substitution at all. sccs convert fish-to-zsh and fish-to-pwsh now honour that: set -gx B 'text (whoami)' becomes export B='text (whoami)' instead of executable "$(whoami)". Intended conversions (unquoted (cmd) → $(cmd), $var expansion) are preserved. Matters for imported foreign fish configs → docs/usage/platforms.md
  • 📦 Transfers carry only your own artefacts (v2.55.0) — sccs export no longer offers doctor-managed items nor packs them into the ZIP: the ~70 gsd-* skills/agents/hooks from @opengsd/gsd-core and playwright-cli are reproduced by the target machine's own sccs doctor install at the then-current version. sccs import filters symmetrically so older archives cannot smuggle them back in either (reporting how many were skipped). The filter works at item level (your own gsd-*.md inside a skill stays); --include-managed turns it off in both directions → docs/usage/transfer.md
  • 🛡️ Extended doctor plugin baseline (v2.54.0) — claude-security (deep vulnerability scanning of your own code) and claude-md-management (audits and maintains your CLAUDE.md files) are now required defaults: doctor check reports them, doctor install installs them user-scoped on every machine, doctor update keeps them current. Mind the scope pitfall — /plugin install from inside a project only installs project-scoped → docs/usage/doctor.md
  • 🔎 Doctor update check (v2.42.0) — sccs doctor check now checks live whether a newer version of the managed npx tools (npm view) and plugins (marketplace manifest) is available and shows it as OUTDATED + a hint line. Informational only, no exit 1 (CI-friendly); --no-update-check for offline/fast → docs/usage/doctor.md
  • 🧰 Optional CLI tools in the doctor (v2.43.0) — opt-in doctor.cli_tools: [zoxide, coreutils]: detects zoxide (all platforms) and Microsoft Coreutils (Windows-only, native UNIX tools in PowerShell) and helps install them via winget/brew. winget list catches the WinGet-Links PATH trap (PowerShell PATH block); informational only, no exit 1. Plus: doctor check shows the Node install command inline; Windows UTF-8 crash fixed → docs/usage/doctor.md
  • 🪟 Windows doctor fixes (v2.43.1/2.43.2) — npm/npx (.cmd wrappers) now run via cmd.exe /c, so doctor install works; path: npm-prefix-bin no longer shows a false MISSING (npm global bin == prefix on Windows, no \bin); the PATH-fix block is real PowerShell on Windows instead of bash/fish → docs/usage/doctor.md
  • 🤫 New-category prompt is opt-in (v2.44.0) — sccs sync no longer auto-offers new default categories (OpenCode, Pi); the prompt only appears with sccs sync --migrate or via the dedicated sccs config upgrade. A plain sync is silent — no prompt, no notice (CI-friendly too). --no-migrate stays valid as a no-op → docs/usage/sync.md
  • 🐚 PowerShell comfort + pwsh 7 check (v2.45.0) — sccs convert fish-to-pwsh now writes conf.d/95-conveniences.ps1 with the Fish-style shortcuts you're used to (ll/la/l with an eza/lsd fallback, ../.../...., which/touch/mkcd); it loads last and wins over the auto-converted ls/ll (opt out with --no-conveniences). On Windows, sccs doctor check also verifies PowerShell 7+ is installed/current and otherwise suggests winget install/upgrade --id Microsoft.PowerShell (a suggestion only, never an auto-install) → docs/usage/platforms.md · docs/usage/doctor.md
  • 🃏 Self-serve capability card (v2.51.0) — sccs capability-card prints the agent capability card (usage/AGENT.md) as raw Markdown to stdout with the live version injected. Bundled into the wheel so an LLM/agent can have the installed tool describe itself without repo or website access.
  • 🎯 Export/import pre-selection (v2.51.0) — the interactive picker asks, per detail view (groups with >5 items), whether items start all pre-selected or all deselected — so you can cherry-pick a few skills without deselecting every entry → docs/usage/transfer.md
  • 🐚 Fish → Zsh conversion (v2.52.0) — sccs convert fish-to-zsh generates a native zsh profile from your fish configuration for machines without fish (e.g. stock macOS zsh): aliases, env vars and functions are translated best-effort (incl. if/switch blocks), *.macos.fish/*.linux.fish are wrapped in uname guards, and every generated file is validated with zsh -n — broken zsh is never emitted. Distribute via the new zsh_config category; activate once with the idempotent copy-paste one-liner printed after conversion (v2.52.1) → docs/usage/platforms.md
  • 🪟 Cross-platform macOS, Linux, Windows with native PowerShell 7 support, Fish→PowerShell and Fish→Zsh conversion → docs/usage/platforms.md
  • 🗂️ Over 30 predefined categories with platform filters, customizable include/exclude patterns and sync modes → docs/usage/categories.md

Prerequisites

UV must be installed:

OS Command
macOS brew install uv
Linux / WSL curl -LsSf https://astral.sh/uv/install.sh | sh
Windows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Installation

# Install as CLI tool (recommended)
uv tool install sccs

# Update
uv tool upgrade sccs

For developers:

git clone https://github.com/equitania/sccs.git
cd sccs
uv venv --python 3.13 && source .venv/bin/activate
uv pip install -e ".[dev]"
sccs --help

Quick Start

sccs config init                 # Initialize configuration
sccs status                      # Show sync status
sccs sync --dry-run              # Preview changes
sccs sync                        # Synchronize
sccs doctor check                # System & plugin health check

Documentation

File Content
docs/usage/sync.md Sync workflow, quick start, configuration, conflict resolution, backups
docs/usage/doctor.md sccs doctor — system & plugin health, bundled skills, browser bundles, permission checks
docs/usage/transfer.md Export/Import as ZIP archives (customer deployment)
docs/usage/deploy.md Customer deployment: profiles, export/install/revoke, ownership, verification sweep
docs/usage/memory-bridge.md Memory Bridge: persistent context between Claude Code and Claude.ai
docs/usage/categories.md Category reference, default categories, platform filters
docs/usage/opencode.md OpenCode integration: export agents/commands, model mapping, MCP merge
docs/usage/pi.md Pi integration: export skills/agents/commands to Pi (pi.dev)
docs/usage/codex.md OpenAI Codex integration: export skills/agents/commands to the Codex CLI
docs/usage/platforms.md Windows/PowerShell support, Fish→PowerShell conversion
docs/usage/cli-reference.md Full CLI command reference
docs/architecture.md Module layout, test setup, quality gate
RELEASE_NOTES.md Version history and changelog

License

AGPL-3.0 — Equitania Software GmbH

Metadata

Release files for sccs 2.68.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sccs 2.68.0
File Size Uploaded
sccs-2.68.0.tar.gz 2.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sccs 2.68.0
File Interpreter ABI Platform
sccs-2.68.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / sccs-2.68.0.tar.gz

Download URL sccs-2.68.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
9407b37741c239321ea0e73a9ae375ce6ff798d67b7ab4ae969b7006a3e4f65a
BLAKE2b-256 checksum
How to use checksums
fb1961a65213a614613c85f69557d6893cccef1cc71f5300452c2dd6ef0105b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sccs-2.68.0-py3-none-any.whl

Download URL sccs-2.68.0-py3-none-any.whl
Size 381.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60bae032615265be9a2a4af0d99e7afaffb8c13543627b7355cfec501c4c7afa
BLAKE2b-256 checksum
How to use checksums
4b39d38a622d17d9dca210d43e28eaba3d11494ac37badb6f21afb808d8a3cbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

2.70.0

2 release files

2.69.1

2 release files

2.69.0

2 release files

2.68.2

2 release files

2.68.1

2 release files

This release

2.68.0 This release

2 release files

2.67.1

2 release files

2.64.0

2 release files

2.63.1

2 release files

2.60.0

2 release files

2.59.0

2 release files

2.58.4

2 release files

2.58.3

2 release files

2.58.2

2 release files

2.58.1

2 release files

2.58.0

2 release files

2.54.0

2 release files

2.53.0

2 release files

2.52.1

2 release files

2.52.0

2 release files

2.51.0

2 release files

2.49.0

2 release files

2.48.0

2 release files

2.45.2

2 release files

2.45.1

2 release files

2.45.0

2 release files

2.44.0

2 release files

2.43.1

2 release files

2.43.0

2 release files

2.42.2

2 release files

2.42.0

2 release files

2.41.0

2 release files

2.40.0

2 release files

2.39.0

2 release files

2.38.0

2 release files

2.36.0

2 release files

2.35.0

2 release files

2.33.2

2 release files

2.33.1

2 release files

2.33.0

2 release files

2.32.2

2 release files

2.32.1

2 release files

2.32.0

2 release files

2.31.0

2 release files

2.29.1

2 release files

2.29.0

2 release files

2.20.2

2 release files

2.20.1

2 release files

2.19.1

2 release files

2.19.0

2 release files

2.18.0

2 release files

2.17.1

2 release files

2.17.0

2 release files

2.16.0

2 release files

2.15.0

2 release files

2.14.0

2 release files

2.13.0

2 release files

2.12.0

2 release files

2.11.0

2 release files

2.10.0

2 release files

2.9.0

2 release files

2.8.0

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page