mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-08-12 02:49:15 +08:00
199 lines
5.9 KiB
JSON
199 lines
5.9 KiB
JSON
{
|
|
"name": "salesforce-development",
|
|
"displayName": "Salesforce Development",
|
|
"version": "1.10.0",
|
|
"description": "Build Salesforce apps and agents using these core building blocks: metadata, Apex, deploy/retrieve, security, reporting, and generated installed-versus-available capability discovery.",
|
|
"author": { "name": "Salesforce", "url": "https://github.com/forcedotcom/sf-skills" },
|
|
"license": "Apache-2.0",
|
|
"homepage": "https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development",
|
|
"repository": "https://github.com/forcedotcom/sf-skills.git",
|
|
"keywords": ["salesforce", "apex", "flow", "soql", "metadata", "deploy", "agentforce"],
|
|
"dependencies": [],
|
|
"userConfig": {
|
|
"ui_mode": {
|
|
"type": "string",
|
|
"title": "Salesforce development UI mode",
|
|
"description": "Ambient UI: full (default), compact, plain semantic text, or off. Explicit commands and safety guidance remain available.",
|
|
"default": "full"
|
|
}
|
|
},
|
|
"skills": "./skills/",
|
|
"commands": "./commands/",
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"matcher": "*",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context detect",
|
|
"statusMessage": "Loading local Salesforce project context…"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context verify-org"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project delete *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context verify-org"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy start*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate prod-check"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy quick*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate prod-check"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project delete*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate destructive"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy start*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/bin/lsp-precheck"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy validate*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/bin/lsp-precheck"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf apex run *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context skills-first-advisory"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project retrieve *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context skills-first-advisory"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf data query *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context skills-first-advisory"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project generate*)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context scaffold-gate"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|MultiEdit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context skills-first-advisory"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Skill",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context record-skill-dispatch"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"UserPromptSubmit": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context prompt-dispatch"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context post-bash"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Edit|Write|MultiEdit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"if": "Edit(force-app/**)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate auto-deploy"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "Write(force-app/**)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate auto-deploy"
|
|
},
|
|
{
|
|
"type": "command",
|
|
"if": "MultiEdit(force-app/**)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-deploy-gate auto-deploy"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Skill",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context resolution-trace"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"matcher": "Write|Edit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}\"/hooks/scripts/agent-validator.py",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUseFailure": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"if": "Bash(sf project deploy *)",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context post-deploy-failure"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/sf-context feedback-nudge"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|