# sccs v2.33.0 | Claude Code Sync Tool (UV)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ Setup:      uv venv && venv+ && uv pip install -e ".[dev]"
▸ Sync:       sccs sync --dry-run
▸ Sync+Git:   sccs sync --commit --push
▸ Sync+Docs:  sccs sync --docs --commit --push
▸ Status:     sccs status
▸ Docs:       sccs docs generate --dry-run
▸ Categories: sccs categories list --all
▸ Test:       pytest --cov=sccs
▸ Lint:       ruff check sccs/ tests/ && ruff format --check sccs/ tests/

# Doctor (System & Plugin Health)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ Check:      sccs doctor check
▸ Install:    sccs doctor install
▸ Update:     sccs doctor update
▸ Optimize:   sccs doctor optimize           # v2.30.0: install+update+drift warning
▸ Optimize+:  sccs doctor optimize --strict  # v2.30.0: queue uninstall for foreign plugins/MCP
  (checks Node.js, claude CLI, plugins, npx tools, ~/.npm + ~/.claude permissions)
  (v2.31.0: also strips doctor.disallowed_hooks from ~/.claude/settings.json after every pass)
  (v2.32.0: doctor.protected_hooks ['gsd-'] never stripped; update/optimize auto-run safe maintenance, destructive still confirms)
  (v2.32.1: npm-bin-global check gates install on <prefix>/bin too; system npm prefixes → user-local ~/.npm-global only, no chown)
  (v2.33.0: PluginSpec.allowlist_only — LSPs + frontend-design@claude-code-plugins are foreign-drift allowlist only, no MISSING/OUTDATED/marketplace block; check↔update now converges)

# PyPI Publishing
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ Build:      uv build
▸ TestPyPI:   uv publish --publish-url https://test.pypi.org/legacy/
▸ PyPI:       uv publish
