Features
Plugin System
Plugin directories
Section titled “Plugin directories”SANDCODE looks for plugins in two locations:
.sandcode-plugin/— primary location.claude-plugin/— fallback for Claude Code compatibility
Plugin structure
Section titled “Plugin structure”my-plugin/├── .sandcode-plugin/│ ├── manifest.json│ ├── hooks/│ │ └── pre-tool.sh│ └── tools/│ └── my-tool.shPlugin manifest
Section titled “Plugin manifest”{ "name": "my-plugin", "version": "1.0.0", "description": "My custom plugin", "tools": ["my-tool"], "hooks": { "preToolUse": "hooks/pre-tool.sh" }}Hook variables
Section titled “Hook variables”Plugins can reference their root directory using:
${SANDCODE_PLUGIN_ROOT}— recommended${CLAUDE_PLUGIN_ROOT}— backward compatible
Marketplace
Section titled “Marketplace”SANDCODE includes a plugin marketplace manager (src/utils/plugins/marketplaceManager.ts) that can discover and install community plugins.
Compatibility
Section titled “Compatibility”The plugin system is backward compatible with Claude Code’s plugin format. If a .sandcode-plugin/ directory is not found, SANDCODE falls back to checking .claude-plugin/.