scc-universal 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +44 -0
- package/.cursor/agents/deep-researcher.md +142 -0
- package/.cursor/agents/doc-updater.md +219 -0
- package/.cursor/agents/eval-runner.md +335 -0
- package/.cursor/agents/learning-engine.md +210 -0
- package/.cursor/agents/loop-operator.md +245 -0
- package/.cursor/agents/refactor-cleaner.md +119 -0
- package/.cursor/agents/sf-admin-agent.md +127 -0
- package/.cursor/agents/sf-agentforce-agent.md +126 -0
- package/.cursor/agents/sf-apex-agent.md +117 -0
- package/.cursor/agents/sf-architect.md +426 -0
- package/.cursor/agents/sf-aura-reviewer.md +369 -0
- package/.cursor/agents/sf-bugfix-agent.md +101 -0
- package/.cursor/agents/sf-flow-agent.md +155 -0
- package/.cursor/agents/sf-integration-agent.md +141 -0
- package/.cursor/agents/sf-lwc-agent.md +123 -0
- package/.cursor/agents/sf-review-agent.md +357 -0
- package/.cursor/agents/sf-visualforce-reviewer.md +465 -0
- package/.cursor/hooks/adapter.js +81 -0
- package/.cursor/hooks/after-file-edit.js +26 -0
- package/.cursor/hooks/after-mcp-execution.js +12 -0
- package/.cursor/hooks/after-shell-execution.js +30 -0
- package/.cursor/hooks/after-tab-file-edit.js +12 -0
- package/.cursor/hooks/before-mcp-execution.js +11 -0
- package/.cursor/hooks/before-read-file.js +13 -0
- package/.cursor/hooks/before-shell-execution.js +29 -0
- package/.cursor/hooks/before-submit-prompt.js +23 -0
- package/.cursor/hooks/pre-compact.js +7 -0
- package/.cursor/hooks/session-end.js +10 -0
- package/.cursor/hooks/session-start.js +10 -0
- package/.cursor/hooks/stop.js +18 -0
- package/.cursor/hooks/subagent-start.js +10 -0
- package/.cursor/hooks/subagent-stop.js +10 -0
- package/.cursor/hooks.json +107 -0
- package/.cursor/skills/aside/SKILL.md +115 -0
- package/.cursor/skills/checkpoint/SKILL.md +50 -0
- package/.cursor/skills/configure-scc/SKILL.md +160 -0
- package/.cursor/skills/continuous-agent-loop/SKILL.md +260 -0
- package/.cursor/skills/mcp-server-patterns/SKILL.md +142 -0
- package/.cursor/skills/model-route/SKILL.md +81 -0
- package/.cursor/skills/prompt-optimizer/SKILL.md +366 -0
- package/.cursor/skills/refactor-clean/SKILL.md +133 -0
- package/.cursor/skills/resume-session/SKILL.md +111 -0
- package/.cursor/skills/save-session/SKILL.md +183 -0
- package/.cursor/skills/search-first/SKILL.md +140 -0
- package/.cursor/skills/security-scan/SKILL.md +142 -0
- package/.cursor/skills/sessions/SKILL.md +124 -0
- package/.cursor/skills/sf-agentforce-development/SKILL.md +449 -0
- package/.cursor/skills/sf-apex-async-patterns/SKILL.md +324 -0
- package/.cursor/skills/sf-apex-best-practices/SKILL.md +421 -0
- package/.cursor/skills/sf-apex-constraints/SKILL.md +79 -0
- package/.cursor/skills/sf-apex-cursor/SKILL.md +336 -0
- package/.cursor/skills/sf-apex-enterprise-patterns/SKILL.md +344 -0
- package/.cursor/skills/sf-apex-testing/SKILL.md +407 -0
- package/.cursor/skills/sf-api-design/SKILL.md +237 -0
- package/.cursor/skills/sf-approval-processes/SKILL.md +312 -0
- package/.cursor/skills/sf-aura-development/SKILL.md +260 -0
- package/.cursor/skills/sf-build-fix/SKILL.md +120 -0
- package/.cursor/skills/sf-data-modeling/SKILL.md +274 -0
- package/.cursor/skills/sf-debugging/SKILL.md +362 -0
- package/.cursor/skills/sf-deployment/SKILL.md +291 -0
- package/.cursor/skills/sf-deployment-constraints/SKILL.md +153 -0
- package/.cursor/skills/sf-devops-ci-cd/SKILL.md +322 -0
- package/.cursor/skills/sf-docs-lookup/SKILL.md +100 -0
- package/.cursor/skills/sf-e2e-testing/SKILL.md +321 -0
- package/.cursor/skills/sf-experience-cloud/SKILL.md +248 -0
- package/.cursor/skills/sf-flow-development/SKILL.md +376 -0
- package/.cursor/skills/sf-governor-limits/SKILL.md +319 -0
- package/.cursor/skills/sf-harness-audit/SKILL.md +139 -0
- package/.cursor/skills/sf-help/SKILL.md +156 -0
- package/.cursor/skills/sf-integration/SKILL.md +479 -0
- package/.cursor/skills/sf-lwc-constraints/SKILL.md +128 -0
- package/.cursor/skills/sf-lwc-development/SKILL.md +302 -0
- package/.cursor/skills/sf-lwc-testing/SKILL.md +387 -0
- package/.cursor/skills/sf-metadata-management/SKILL.md +285 -0
- package/.cursor/skills/sf-platform-events-cdc/SKILL.md +372 -0
- package/.cursor/skills/sf-quickstart/SKILL.md +170 -0
- package/.cursor/skills/sf-security/SKILL.md +330 -0
- package/.cursor/skills/sf-security-constraints/SKILL.md +125 -0
- package/.cursor/skills/sf-soql-constraints/SKILL.md +129 -0
- package/.cursor/skills/sf-soql-optimization/SKILL.md +353 -0
- package/.cursor/skills/sf-tdd-workflow/SKILL.md +332 -0
- package/.cursor/skills/sf-testing-constraints/SKILL.md +198 -0
- package/.cursor/skills/sf-trigger-constraints/SKILL.md +88 -0
- package/.cursor/skills/sf-trigger-frameworks/SKILL.md +343 -0
- package/.cursor/skills/sf-visualforce-development/SKILL.md +259 -0
- package/.cursor/skills/strategic-compact/SKILL.md +205 -0
- package/.cursor/skills/update-docs/SKILL.md +162 -0
- package/.cursor/skills/update-platform-docs/SKILL.md +86 -0
- package/.cursor-plugin/plugin.json +26 -0
- package/LICENSE +21 -0
- package/README.md +522 -0
- package/agents/deep-researcher.md +145 -0
- package/agents/doc-updater.md +222 -0
- package/agents/eval-runner.md +340 -0
- package/agents/learning-engine.md +211 -0
- package/agents/loop-operator.md +247 -0
- package/agents/refactor-cleaner.md +122 -0
- package/agents/sf-admin-agent.md +131 -0
- package/agents/sf-agentforce-agent.md +132 -0
- package/agents/sf-apex-agent.md +124 -0
- package/agents/sf-architect.md +435 -0
- package/agents/sf-aura-reviewer.md +372 -0
- package/agents/sf-bugfix-agent.md +105 -0
- package/agents/sf-flow-agent.md +159 -0
- package/agents/sf-integration-agent.md +146 -0
- package/agents/sf-lwc-agent.md +127 -0
- package/agents/sf-review-agent.md +366 -0
- package/agents/sf-visualforce-reviewer.md +468 -0
- package/assets/logo.svg +18 -0
- package/docs/ARCHITECTURE.md +133 -0
- package/docs/authoring-guide.md +373 -0
- package/docs/hook-development.md +578 -0
- package/docs/token-optimization.md +139 -0
- package/docs/workflow-examples.md +645 -0
- package/examples/agentforce-action/README.md +227 -0
- package/examples/apex-trigger-handler/README.md +114 -0
- package/examples/devops-pipeline/README.md +325 -0
- package/examples/flow-automation/README.md +188 -0
- package/examples/integration-pattern/README.md +416 -0
- package/examples/lwc-component/README.md +180 -0
- package/examples/platform-events/README.md +492 -0
- package/examples/scratch-org-setup/README.md +138 -0
- package/examples/security-audit/README.md +244 -0
- package/examples/visualforce-migration/README.md +314 -0
- package/hooks/hooks.json +338 -0
- package/hooks/memory-persistence/README.md +73 -0
- package/manifests/install-modules.json +217 -0
- package/manifests/install-profiles.json +17 -0
- package/mcp-configs/mcp-servers.json +19 -0
- package/package.json +89 -0
- package/schemas/hooks.schema.json +123 -0
- package/schemas/install-modules.schema.json +76 -0
- package/schemas/install-profiles.schema.json +28 -0
- package/schemas/install-state.schema.json +73 -0
- package/schemas/package-manager.schema.json +18 -0
- package/schemas/plugin.schema.json +112 -0
- package/schemas/scc-install-config.schema.json +29 -0
- package/schemas/state-store.schema.json +111 -0
- package/scripts/cli/install-apply.js +170 -0
- package/scripts/cli/uninstall.js +193 -0
- package/scripts/hooks/check-console-log.js +101 -0
- package/scripts/hooks/check-hook-enabled.js +17 -0
- package/scripts/hooks/check-platform-docs-age.js +48 -0
- package/scripts/hooks/cost-tracker.js +78 -0
- package/scripts/hooks/doc-file-warning.js +63 -0
- package/scripts/hooks/evaluate-session.js +98 -0
- package/scripts/hooks/governor-check.js +220 -0
- package/scripts/hooks/learning-observe.sh +206 -0
- package/scripts/hooks/mcp-health-check.js +588 -0
- package/scripts/hooks/post-bash-build-complete.js +34 -0
- package/scripts/hooks/post-bash-pr-created.js +43 -0
- package/scripts/hooks/post-edit-console-warn.js +61 -0
- package/scripts/hooks/post-edit-format.js +79 -0
- package/scripts/hooks/post-edit-typecheck.js +98 -0
- package/scripts/hooks/post-write.js +168 -0
- package/scripts/hooks/pre-bash-git-push-reminder.js +35 -0
- package/scripts/hooks/pre-bash-tmux-reminder.js +47 -0
- package/scripts/hooks/pre-compact.js +51 -0
- package/scripts/hooks/pre-tool-use.js +163 -0
- package/scripts/hooks/pre-write-doc-warn.js +9 -0
- package/scripts/hooks/quality-gate.js +251 -0
- package/scripts/hooks/run-with-flags-shell.sh +32 -0
- package/scripts/hooks/run-with-flags.js +135 -0
- package/scripts/hooks/session-end-marker.js +29 -0
- package/scripts/hooks/session-end.js +311 -0
- package/scripts/hooks/session-start.js +202 -0
- package/scripts/hooks/sfdx-scanner-check.js +142 -0
- package/scripts/hooks/sfdx-validate.js +119 -0
- package/scripts/hooks/stop-hook.js +170 -0
- package/scripts/hooks/suggest-compact.js +67 -0
- package/scripts/lib/agent-adapter.js +82 -0
- package/scripts/lib/apex-analysis.js +194 -0
- package/scripts/lib/hook-flags.js +74 -0
- package/scripts/lib/install-config.js +73 -0
- package/scripts/lib/install-executor.js +363 -0
- package/scripts/lib/install-state.js +121 -0
- package/scripts/lib/orchestration-session.js +299 -0
- package/scripts/lib/package-manager.js +124 -0
- package/scripts/lib/project-detect.js +228 -0
- package/scripts/lib/schema-validator.js +190 -0
- package/scripts/lib/skill-adapter.js +100 -0
- package/scripts/lib/state-store.js +376 -0
- package/scripts/lib/tmux-worktree-orchestrator.js +598 -0
- package/scripts/lib/utils.js +313 -0
- package/scripts/scc.js +164 -0
- package/skills/_reference/AGENTFORCE_PATTERNS.md +112 -0
- package/skills/_reference/APEX_CURSOR.md +159 -0
- package/skills/_reference/API_VERSIONS.md +78 -0
- package/skills/_reference/APPROVAL_PROCESSES.md +105 -0
- package/skills/_reference/ASYNC_PATTERNS.md +163 -0
- package/skills/_reference/AURA_COMPONENTS.md +146 -0
- package/skills/_reference/DATA_MIGRATION_PATTERNS.md +151 -0
- package/skills/_reference/DATA_MODELING.md +124 -0
- package/skills/_reference/DEBUGGING_TOOLS.md +140 -0
- package/skills/_reference/DEPLOYMENT_CHECKLIST.md +87 -0
- package/skills/_reference/DEPRECATIONS.md +79 -0
- package/skills/_reference/DOCKER_CI_PATTERNS.md +138 -0
- package/skills/_reference/ENTERPRISE_PATTERNS.md +122 -0
- package/skills/_reference/EXPERIENCE_CLOUD.md +143 -0
- package/skills/_reference/FLOW_PATTERNS.md +113 -0
- package/skills/_reference/GOVERNOR_LIMITS.md +77 -0
- package/skills/_reference/INTEGRATION_PATTERNS.md +105 -0
- package/skills/_reference/LWC_PATTERNS.md +79 -0
- package/skills/_reference/METADATA_TYPES.md +115 -0
- package/skills/_reference/NAMING_CONVENTIONS.md +84 -0
- package/skills/_reference/PACKAGE_DEVELOPMENT.md +150 -0
- package/skills/_reference/PLATFORM_EVENTS.md +121 -0
- package/skills/_reference/REPORTING_API.md +143 -0
- package/skills/_reference/SCRATCH_ORG_PATTERNS.md +126 -0
- package/skills/_reference/SECURITY_PATTERNS.md +127 -0
- package/skills/_reference/SHARING_MODEL.md +120 -0
- package/skills/_reference/SOQL_PATTERNS.md +119 -0
- package/skills/_reference/TESTING_STANDARDS.md +96 -0
- package/skills/_reference/TRIGGER_PATTERNS.md +114 -0
- package/skills/_reference/VISUALFORCE_PATTERNS.md +121 -0
- package/skills/aside/SKILL.md +118 -0
- package/skills/checkpoint/SKILL.md +53 -0
- package/skills/configure-scc/SKILL.md +163 -0
- package/skills/continuous-agent-loop/SKILL.md +264 -0
- package/skills/mcp-server-patterns/SKILL.md +146 -0
- package/skills/model-route/SKILL.md +84 -0
- package/skills/prompt-optimizer/SKILL.md +369 -0
- package/skills/refactor-clean/SKILL.md +136 -0
- package/skills/resume-session/SKILL.md +114 -0
- package/skills/save-session/SKILL.md +186 -0
- package/skills/search-first/SKILL.md +144 -0
- package/skills/security-scan/SKILL.md +146 -0
- package/skills/sessions/SKILL.md +127 -0
- package/skills/sf-agentforce-development/SKILL.md +450 -0
- package/skills/sf-apex-async-patterns/SKILL.md +326 -0
- package/skills/sf-apex-best-practices/SKILL.md +425 -0
- package/skills/sf-apex-constraints/SKILL.md +81 -0
- package/skills/sf-apex-cursor/SKILL.md +338 -0
- package/skills/sf-apex-enterprise-patterns/SKILL.md +348 -0
- package/skills/sf-apex-testing/SKILL.md +409 -0
- package/skills/sf-api-design/SKILL.md +238 -0
- package/skills/sf-approval-processes/SKILL.md +315 -0
- package/skills/sf-aura-development/SKILL.md +263 -0
- package/skills/sf-build-fix/SKILL.md +121 -0
- package/skills/sf-data-modeling/SKILL.md +278 -0
- package/skills/sf-debugging/SKILL.md +363 -0
- package/skills/sf-deployment/SKILL.md +295 -0
- package/skills/sf-deployment-constraints/SKILL.md +155 -0
- package/skills/sf-devops-ci-cd/SKILL.md +325 -0
- package/skills/sf-docs-lookup/SKILL.md +103 -0
- package/skills/sf-e2e-testing/SKILL.md +324 -0
- package/skills/sf-experience-cloud/SKILL.md +249 -0
- package/skills/sf-flow-development/SKILL.md +377 -0
- package/skills/sf-governor-limits/SKILL.md +323 -0
- package/skills/sf-harness-audit/SKILL.md +142 -0
- package/skills/sf-help/SKILL.md +159 -0
- package/skills/sf-integration/SKILL.md +483 -0
- package/skills/sf-lwc-constraints/SKILL.md +130 -0
- package/skills/sf-lwc-development/SKILL.md +303 -0
- package/skills/sf-lwc-testing/SKILL.md +388 -0
- package/skills/sf-metadata-management/SKILL.md +288 -0
- package/skills/sf-platform-events-cdc/SKILL.md +375 -0
- package/skills/sf-quickstart/SKILL.md +173 -0
- package/skills/sf-security/SKILL.md +334 -0
- package/skills/sf-security-constraints/SKILL.md +127 -0
- package/skills/sf-soql-constraints/SKILL.md +131 -0
- package/skills/sf-soql-optimization/SKILL.md +354 -0
- package/skills/sf-tdd-workflow/SKILL.md +336 -0
- package/skills/sf-testing-constraints/SKILL.md +200 -0
- package/skills/sf-trigger-constraints/SKILL.md +90 -0
- package/skills/sf-trigger-frameworks/SKILL.md +347 -0
- package/skills/sf-visualforce-development/SKILL.md +260 -0
- package/skills/strategic-compact/SKILL.md +208 -0
- package/skills/update-docs/SKILL.md +165 -0
- package/skills/update-platform-docs/SKILL.md +90 -0
package/hooks/hooks.json
ADDED
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../schemas/hooks.schema.json",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"SessionStart": [
|
|
5
|
+
{
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/session-start.js\"",
|
|
10
|
+
"async": true,
|
|
11
|
+
"timeout": 15
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"description": "Display Salesforce project context: detected org, scratch orgs, CLI version"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/check-platform-docs-age.js\"",
|
|
21
|
+
"async": true,
|
|
22
|
+
"timeout": 5
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"description": "Warn if platform reference docs (deprecations, API versions) are outdated"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"PreToolUse": [
|
|
29
|
+
{
|
|
30
|
+
"matcher": "Bash",
|
|
31
|
+
"hooks": [
|
|
32
|
+
{
|
|
33
|
+
"type": "command",
|
|
34
|
+
"command": "npx block-no-verify@1.1.2"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"description": "Block git hook-bypass flag to protect pre-commit, commit-msg, and pre-push hooks from being skipped"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"matcher": "*",
|
|
41
|
+
"hooks": [
|
|
42
|
+
{
|
|
43
|
+
"type": "command",
|
|
44
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" \"pre:mcp-health-check\" standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/mcp-health-check.js\""
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"description": "Check MCP server health before MCP tool execution and block unhealthy MCP calls"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"matcher": "*",
|
|
51
|
+
"hooks": [{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags-shell.sh\" \"pre:observe\" \"scripts/hooks/learning-observe.sh\" \"standard,strict\"", "async": true, "timeout": 10 }],
|
|
52
|
+
"description": "Capture tool use observations for continuous learning"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"matcher": "Bash",
|
|
56
|
+
"hooks": [
|
|
57
|
+
{
|
|
58
|
+
"type": "command",
|
|
59
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/pre-tool-use.js\"",
|
|
60
|
+
"async": true,
|
|
61
|
+
"timeout": 10
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"description": "Validate Salesforce CLI commands before execution (deprecation + danger warnings)"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"matcher": "Write",
|
|
68
|
+
"hooks": [
|
|
69
|
+
{
|
|
70
|
+
"type": "command",
|
|
71
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" doc-file-warning standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/doc-file-warning.js\"",
|
|
72
|
+
"async": true,
|
|
73
|
+
"timeout": 5
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"description": "Warn about non-standard documentation files"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"matcher": "Bash",
|
|
80
|
+
"hooks": [
|
|
81
|
+
{
|
|
82
|
+
"type": "command",
|
|
83
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" sfdx-validate standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/sfdx-validate.js\"",
|
|
84
|
+
"async": true,
|
|
85
|
+
"timeout": 10
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"description": "Validate SFDX commands for best practices (deploy flags, dry-run suggestions)"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"matcher": "Bash",
|
|
92
|
+
"hooks": [
|
|
93
|
+
{
|
|
94
|
+
"type": "command",
|
|
95
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" pre-bash-git-push-reminder standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/pre-bash-git-push-reminder.js\"",
|
|
96
|
+
"async": true,
|
|
97
|
+
"timeout": 5
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"description": "Remind to review changes before git push"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"matcher": "Bash",
|
|
104
|
+
"hooks": [
|
|
105
|
+
{
|
|
106
|
+
"type": "command",
|
|
107
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" sfdx-scanner-check standard,strict \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/sfdx-scanner-check.js\"",
|
|
108
|
+
"async": true,
|
|
109
|
+
"timeout": 45
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"description": "Run sfdx-scanner PMD analysis before git push/sf deploy (standard and strict profiles)"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"matcher": "Bash",
|
|
116
|
+
"hooks": [
|
|
117
|
+
{
|
|
118
|
+
"type": "command",
|
|
119
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" pre-bash-tmux-reminder strict \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/pre-bash-tmux-reminder.js\"",
|
|
120
|
+
"async": true,
|
|
121
|
+
"timeout": 5
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"description": "Remind to use tmux for long-running Salesforce CLI commands (deploy, test, scratch org)"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"matcher": "Edit|Write",
|
|
128
|
+
"hooks": [
|
|
129
|
+
{
|
|
130
|
+
"type": "command",
|
|
131
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" suggest-compact standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/suggest-compact.js\"",
|
|
132
|
+
"async": true,
|
|
133
|
+
"timeout": 5
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"description": "Track tool call count and suggest strategic compaction"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"PostToolUse": [
|
|
140
|
+
{
|
|
141
|
+
"matcher": "*",
|
|
142
|
+
"hooks": [{ "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags-shell.sh\" \"post:observe\" \"scripts/hooks/learning-observe.sh\" \"standard,strict\"", "async": true, "timeout": 10 }],
|
|
143
|
+
"description": "Capture tool use results for continuous learning"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"matcher": "Write",
|
|
147
|
+
"hooks": [
|
|
148
|
+
{
|
|
149
|
+
"type": "command",
|
|
150
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-write.js\"",
|
|
151
|
+
"async": true,
|
|
152
|
+
"timeout": 10
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"description": "Detect Apex/LWC file writes and remind about test coverage"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"matcher": "Edit",
|
|
159
|
+
"hooks": [
|
|
160
|
+
{
|
|
161
|
+
"type": "command",
|
|
162
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" quality-gate standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/quality-gate.js\"",
|
|
163
|
+
"async": true,
|
|
164
|
+
"timeout": 15
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"description": "Run quality checks on edited Apex/LWC files (anti-patterns, common issues)"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"matcher": "Edit",
|
|
171
|
+
"hooks": [
|
|
172
|
+
{
|
|
173
|
+
"type": "command",
|
|
174
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" governor-check standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/governor-check.js\"",
|
|
175
|
+
"async": true,
|
|
176
|
+
"timeout": 10
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"description": "Check edited Apex files for governor limit violations (SOQL/DML in loops)"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"matcher": "Edit",
|
|
183
|
+
"hooks": [
|
|
184
|
+
{
|
|
185
|
+
"type": "command",
|
|
186
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" post-edit-console-warn standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-edit-console-warn.js\"",
|
|
187
|
+
"async": true,
|
|
188
|
+
"timeout": 10
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"description": "Warn about console.log statements in edited JS/LWC files"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"matcher": "Edit",
|
|
195
|
+
"hooks": [
|
|
196
|
+
{
|
|
197
|
+
"type": "command",
|
|
198
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" post-edit-format strict \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-edit-format.js\"",
|
|
199
|
+
"async": true,
|
|
200
|
+
"timeout": 15
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"description": "Auto-format edited files with Prettier (strict profile only)"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"matcher": "Edit",
|
|
207
|
+
"hooks": [
|
|
208
|
+
{
|
|
209
|
+
"type": "command",
|
|
210
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" post-edit-typecheck strict \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-edit-typecheck.js\"",
|
|
211
|
+
"async": true,
|
|
212
|
+
"timeout": 30
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
"description": "Type-check edited TypeScript/LWC files (strict profile only)"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"matcher": "Bash",
|
|
219
|
+
"hooks": [
|
|
220
|
+
{
|
|
221
|
+
"type": "command",
|
|
222
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" post-bash-build-complete standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-bash-build-complete.js\"",
|
|
223
|
+
"async": true,
|
|
224
|
+
"timeout": 10
|
|
225
|
+
}
|
|
226
|
+
],
|
|
227
|
+
"description": "Detect build/deploy completion and log notice"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"matcher": "Bash",
|
|
231
|
+
"hooks": [
|
|
232
|
+
{
|
|
233
|
+
"type": "command",
|
|
234
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" post-bash-pr-created standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/post-bash-pr-created.js\"",
|
|
235
|
+
"async": true,
|
|
236
|
+
"timeout": 10
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"description": "Detect PR creation and log review command"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"PostToolUseFailure": [
|
|
243
|
+
{
|
|
244
|
+
"matcher": "*",
|
|
245
|
+
"hooks": [
|
|
246
|
+
{
|
|
247
|
+
"type": "command",
|
|
248
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" \"post:mcp-health-check\" standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/mcp-health-check.js\""
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"description": "Track failed MCP tool calls, mark unhealthy servers, and attempt reconnect"
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"PreCompact": [
|
|
255
|
+
{
|
|
256
|
+
"hooks": [
|
|
257
|
+
{
|
|
258
|
+
"type": "command",
|
|
259
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" pre-compact minimal \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/pre-compact.js\"",
|
|
260
|
+
"async": true,
|
|
261
|
+
"timeout": 10
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"description": "Save session state before context compaction"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"Stop": [
|
|
268
|
+
{
|
|
269
|
+
"hooks": [
|
|
270
|
+
{
|
|
271
|
+
"type": "command",
|
|
272
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/stop-hook.js\"",
|
|
273
|
+
"async": true,
|
|
274
|
+
"timeout": 10
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"description": "Summarize Salesforce changes and suggest next steps"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"hooks": [
|
|
281
|
+
{
|
|
282
|
+
"type": "command",
|
|
283
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" check-console-log standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/check-console-log.js\"",
|
|
284
|
+
"async": true,
|
|
285
|
+
"timeout": 10
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"description": "Check for console.log statements in modified LWC/JS files"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"hooks": [
|
|
292
|
+
{
|
|
293
|
+
"type": "command",
|
|
294
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" session-end standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/session-end.js\"",
|
|
295
|
+
"async": true,
|
|
296
|
+
"timeout": 15
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
"description": "Persist session summary for cross-session continuity"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"hooks": [
|
|
303
|
+
{
|
|
304
|
+
"type": "command",
|
|
305
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" cost-tracker minimal \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/cost-tracker.js\"",
|
|
306
|
+
"async": true,
|
|
307
|
+
"timeout": 10
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"description": "Track token usage and estimated costs per session"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"hooks": [
|
|
314
|
+
{
|
|
315
|
+
"type": "command",
|
|
316
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" evaluate-session standard \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/evaluate-session.js\"",
|
|
317
|
+
"async": true,
|
|
318
|
+
"timeout": 10
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"description": "Evaluate session for extractable patterns and learned skills"
|
|
322
|
+
}
|
|
323
|
+
],
|
|
324
|
+
"SessionEnd": [
|
|
325
|
+
{
|
|
326
|
+
"hooks": [
|
|
327
|
+
{
|
|
328
|
+
"type": "command",
|
|
329
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/run-with-flags.js\" session-end-marker minimal \"${CLAUDE_PLUGIN_ROOT}/scripts/hooks/session-end-marker.js\"",
|
|
330
|
+
"async": true,
|
|
331
|
+
"timeout": 10
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"description": "Session end lifecycle marker (non-blocking)"
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Memory Persistence Hooks
|
|
2
|
+
|
|
3
|
+
This directory documents the memory persistence hook lifecycle used by SCC to maintain cross-session continuity for Salesforce development work.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
SCC persists session state through three coordinated hooks:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
SessionStart
|
|
11
|
+
└── session-start.js ← Restores prior session context (org, branch, last task)
|
|
12
|
+
|
|
13
|
+
Stop / SessionEnd
|
|
14
|
+
├── session-end.js ← Captures session summary (files changed, commands run, next steps)
|
|
15
|
+
└── evaluate-session.js ← Scores session for extractable patterns, triggers learning
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Hook Scripts
|
|
19
|
+
|
|
20
|
+
### `scripts/hooks/session-start.js`
|
|
21
|
+
|
|
22
|
+
Runs at `SessionStart`. Reads the persisted session state from `~/.claude/sessions/<project-hash>/last-session.json` and:
|
|
23
|
+
|
|
24
|
+
- Displays detected Salesforce org (scratch org or sandbox)
|
|
25
|
+
- Shows the branch currently checked out
|
|
26
|
+
- Reminds about any open tasks from the prior session
|
|
27
|
+
- Prints CLI version check results
|
|
28
|
+
|
|
29
|
+
### `scripts/hooks/session-end.js`
|
|
30
|
+
|
|
31
|
+
Runs at `Stop`. Captures:
|
|
32
|
+
|
|
33
|
+
- Files modified during the session (Apex, LWC, SOQL, Flow)
|
|
34
|
+
- Salesforce CLI commands executed
|
|
35
|
+
- Test run outcomes (pass/fail counts)
|
|
36
|
+
- Suggested next steps for the next session
|
|
37
|
+
|
|
38
|
+
Writes to `~/.claude/sessions/<project-hash>/last-session.json`.
|
|
39
|
+
|
|
40
|
+
### `scripts/hooks/evaluate-session.js`
|
|
41
|
+
|
|
42
|
+
Runs at `Stop` after `session-end.js`. Reads the session summary and scores it for extractable patterns:
|
|
43
|
+
|
|
44
|
+
- Detects repeated workflows (e.g., always runs tests after deploy)
|
|
45
|
+
- Flags anti-patterns corrected during session
|
|
46
|
+
- Feeds signal to learning-engine observer if enabled
|
|
47
|
+
|
|
48
|
+
## Storage Layout
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
~/.claude/sessions/
|
|
52
|
+
<project-hash>/
|
|
53
|
+
last-session.json ← Last session summary (restored on next SessionStart)
|
|
54
|
+
history.jsonl ← Append-only session history log
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Configuration
|
|
58
|
+
|
|
59
|
+
Memory persistence is always enabled. It cannot be disabled via `SCC_HOOK_PROFILE`.
|
|
60
|
+
|
|
61
|
+
To clear session state for a project:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
rm ~/.claude/sessions/<project-hash>/last-session.json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Profile Gating
|
|
68
|
+
|
|
69
|
+
| Hook | minimal | standard | strict |
|
|
70
|
+
|------|---------|----------|--------|
|
|
71
|
+
| session-start.js | enabled | enabled | enabled |
|
|
72
|
+
| session-end.js | — | enabled | enabled |
|
|
73
|
+
| evaluate-session.js | — | enabled | enabled |
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"modules": [
|
|
4
|
+
{
|
|
5
|
+
"id": "core",
|
|
6
|
+
"kind": "bundle",
|
|
7
|
+
"description": "Core baseline — architect, review agent, core skills, lifecycle hooks",
|
|
8
|
+
"pathGroups": [
|
|
9
|
+
{
|
|
10
|
+
"paths": [
|
|
11
|
+
"agents/sf-architect.md",
|
|
12
|
+
"agents/sf-review-agent.md",
|
|
13
|
+
"agents/sf-bugfix-agent.md"
|
|
14
|
+
],
|
|
15
|
+
"targets": { "claude": ".claude/agents/", "cursor": ".agents/" }
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"paths": [
|
|
19
|
+
"skills/sf-help/",
|
|
20
|
+
"skills/sf-quickstart/",
|
|
21
|
+
"skills/model-route/",
|
|
22
|
+
"skills/_reference/"
|
|
23
|
+
],
|
|
24
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"paths": ["hooks/hooks.json", "scripts/hooks/"],
|
|
28
|
+
"targets": { "claude": ".claude/hooks/", "cursor": null }
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"dependencies": [],
|
|
32
|
+
"defaultInstall": true,
|
|
33
|
+
"cost": "medium",
|
|
34
|
+
"stability": "stable"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "apex",
|
|
38
|
+
"kind": "bundle",
|
|
39
|
+
"description": "Apex development — agent, skills, SOQL optimization",
|
|
40
|
+
"pathGroups": [
|
|
41
|
+
{
|
|
42
|
+
"paths": [
|
|
43
|
+
"agents/sf-apex-agent.md"
|
|
44
|
+
],
|
|
45
|
+
"targets": { "claude": ".claude/agents/", "cursor": ".agents/" }
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"paths": [
|
|
49
|
+
"skills/sf-trigger-frameworks/",
|
|
50
|
+
"skills/sf-apex-async-patterns/",
|
|
51
|
+
"skills/sf-apex-testing/",
|
|
52
|
+
"skills/sf-apex-best-practices/",
|
|
53
|
+
"skills/sf-apex-constraints/",
|
|
54
|
+
"skills/sf-trigger-constraints/",
|
|
55
|
+
"skills/sf-testing-constraints/",
|
|
56
|
+
"skills/sf-soql-constraints/"
|
|
57
|
+
],
|
|
58
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"dependencies": ["core"],
|
|
62
|
+
"defaultInstall": false,
|
|
63
|
+
"cost": "medium",
|
|
64
|
+
"stability": "stable"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "lwc",
|
|
68
|
+
"kind": "bundle",
|
|
69
|
+
"description": "Lightning Web Components — agent, skills",
|
|
70
|
+
"pathGroups": [
|
|
71
|
+
{
|
|
72
|
+
"paths": ["agents/sf-lwc-agent.md"],
|
|
73
|
+
"targets": { "claude": ".claude/agents/", "cursor": ".agents/" }
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"paths": [
|
|
77
|
+
"skills/sf-lwc-development/",
|
|
78
|
+
"skills/sf-lwc-testing/",
|
|
79
|
+
"skills/sf-lwc-constraints/"
|
|
80
|
+
],
|
|
81
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"dependencies": ["core"],
|
|
85
|
+
"defaultInstall": false,
|
|
86
|
+
"cost": "medium",
|
|
87
|
+
"stability": "stable"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "platform",
|
|
91
|
+
"kind": "bundle",
|
|
92
|
+
"description": "Cross-domain platform agents, universal skills, and Salesforce platform skills",
|
|
93
|
+
"pathGroups": [
|
|
94
|
+
{
|
|
95
|
+
"paths": [
|
|
96
|
+
"agents/deep-researcher.md",
|
|
97
|
+
"agents/eval-runner.md",
|
|
98
|
+
"agents/learning-engine.md",
|
|
99
|
+
"agents/doc-updater.md",
|
|
100
|
+
"agents/sf-integration-agent.md",
|
|
101
|
+
"agents/loop-operator.md",
|
|
102
|
+
"agents/refactor-cleaner.md"
|
|
103
|
+
],
|
|
104
|
+
"targets": { "claude": ".claude/agents/", "cursor": ".agents/" }
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"paths": [
|
|
108
|
+
"skills/sf-apex-cursor/",
|
|
109
|
+
"skills/sf-apex-enterprise-patterns/",
|
|
110
|
+
"skills/sf-metadata-management/",
|
|
111
|
+
"skills/sf-data-modeling/",
|
|
112
|
+
"skills/sf-debugging/",
|
|
113
|
+
"skills/sf-integration/",
|
|
114
|
+
"skills/sf-e2e-testing/",
|
|
115
|
+
"skills/sf-tdd-workflow/",
|
|
116
|
+
"skills/configure-scc/",
|
|
117
|
+
"skills/continuous-agent-loop/",
|
|
118
|
+
"skills/mcp-server-patterns/",
|
|
119
|
+
"skills/prompt-optimizer/",
|
|
120
|
+
"skills/search-first/",
|
|
121
|
+
"skills/security-scan/",
|
|
122
|
+
"skills/strategic-compact/",
|
|
123
|
+
"skills/aside/",
|
|
124
|
+
"skills/sf-build-fix/",
|
|
125
|
+
"skills/checkpoint/",
|
|
126
|
+
"skills/sf-docs-lookup/",
|
|
127
|
+
"skills/sf-harness-audit/",
|
|
128
|
+
"skills/refactor-clean/",
|
|
129
|
+
"skills/resume-session/",
|
|
130
|
+
"skills/save-session/",
|
|
131
|
+
"skills/sessions/",
|
|
132
|
+
"skills/update-docs/",
|
|
133
|
+
"skills/update-platform-docs/"
|
|
134
|
+
],
|
|
135
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"dependencies": ["core"],
|
|
139
|
+
"defaultInstall": false,
|
|
140
|
+
"cost": "heavy",
|
|
141
|
+
"stability": "stable"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"id": "devops",
|
|
145
|
+
"kind": "bundle",
|
|
146
|
+
"description": "Salesforce DevOps — skills for CI/CD, deployments, scratch orgs",
|
|
147
|
+
"pathGroups": [
|
|
148
|
+
{
|
|
149
|
+
"paths": [
|
|
150
|
+
"skills/sf-devops-ci-cd/",
|
|
151
|
+
"skills/sf-deployment/",
|
|
152
|
+
"skills/sf-deployment-constraints/"
|
|
153
|
+
],
|
|
154
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"dependencies": ["core"],
|
|
158
|
+
"defaultInstall": false,
|
|
159
|
+
"cost": "medium",
|
|
160
|
+
"stability": "stable"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "security",
|
|
164
|
+
"kind": "bundle",
|
|
165
|
+
"description": "Security — skills for CRUD/FLS, sharing, injection prevention, governor limits",
|
|
166
|
+
"pathGroups": [
|
|
167
|
+
{
|
|
168
|
+
"paths": [
|
|
169
|
+
"skills/sf-security/",
|
|
170
|
+
"skills/sf-governor-limits/",
|
|
171
|
+
"skills/sf-soql-optimization/",
|
|
172
|
+
"skills/sf-security-constraints/"
|
|
173
|
+
],
|
|
174
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"dependencies": ["core"],
|
|
178
|
+
"defaultInstall": false,
|
|
179
|
+
"cost": "medium",
|
|
180
|
+
"stability": "stable"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"id": "extended",
|
|
184
|
+
"kind": "bundle",
|
|
185
|
+
"description": "Extended domains — Flow, Visualforce, Aura, Agentforce, Admin, Events, API design",
|
|
186
|
+
"pathGroups": [
|
|
187
|
+
{
|
|
188
|
+
"paths": [
|
|
189
|
+
"agents/sf-agentforce-agent.md",
|
|
190
|
+
"agents/sf-flow-agent.md",
|
|
191
|
+
"agents/sf-visualforce-reviewer.md",
|
|
192
|
+
"agents/sf-aura-reviewer.md",
|
|
193
|
+
"agents/sf-admin-agent.md"
|
|
194
|
+
],
|
|
195
|
+
"targets": { "claude": ".claude/agents/", "cursor": ".agents/" }
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"paths": [
|
|
199
|
+
"skills/sf-flow-development/",
|
|
200
|
+
"skills/sf-agentforce-development/",
|
|
201
|
+
"skills/sf-api-design/",
|
|
202
|
+
"skills/sf-visualforce-development/",
|
|
203
|
+
"skills/sf-aura-development/",
|
|
204
|
+
"skills/sf-platform-events-cdc/",
|
|
205
|
+
"skills/sf-approval-processes/",
|
|
206
|
+
"skills/sf-experience-cloud/"
|
|
207
|
+
],
|
|
208
|
+
"targets": { "claude": ".claude/skills/", "cursor": ".cursor/skills/" }
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"dependencies": ["core"],
|
|
212
|
+
"defaultInstall": false,
|
|
213
|
+
"cost": "heavy",
|
|
214
|
+
"stability": "stable"
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 2,
|
|
3
|
+
"profiles": {
|
|
4
|
+
"apex": {
|
|
5
|
+
"description": "Apex development — includes core, Apex, platform, DevOps, security bundles",
|
|
6
|
+
"modules": ["core", "apex", "platform", "devops", "security"]
|
|
7
|
+
},
|
|
8
|
+
"lwc": {
|
|
9
|
+
"description": "LWC development — includes core, LWC, platform, DevOps, security bundles",
|
|
10
|
+
"modules": ["core", "lwc", "platform", "devops", "security"]
|
|
11
|
+
},
|
|
12
|
+
"full": {
|
|
13
|
+
"description": "Complete SCC suite — all 7 bundles",
|
|
14
|
+
"modules": ["core", "apex", "lwc", "platform", "devops", "security", "extended"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"salesforce-dx": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@salesforce/mcp",
|
|
8
|
+
"--orgs", "DEFAULT_TARGET_ORG",
|
|
9
|
+
"--toolsets", "orgs,metadata,data,users,testing,code-analysis,lwc-experts,devops",
|
|
10
|
+
"--allow-non-ga-tools"
|
|
11
|
+
],
|
|
12
|
+
"description": "Official Salesforce DX MCP Server — org management, metadata, data, testing, code analysis, LWC, DevOps"
|
|
13
|
+
},
|
|
14
|
+
"salesforce-cli": {
|
|
15
|
+
"command": "sf",
|
|
16
|
+
"description": "Salesforce CLI v2 — direct CLI access for commands not covered by MCP toolsets"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|