scc-universal 1.1.0 → 1.2.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 +2 -2
- package/.cursor/hooks.json +105 -64
- package/.cursor/skills/configure-scc/SKILL.md +20 -20
- package/.cursor/skills/mcp-server-patterns/SKILL.md +1 -1
- package/.cursor/skills/sf-harness-audit/SKILL.md +6 -6
- package/.cursor/skills/sf-quickstart/SKILL.md +7 -7
- package/.cursor-plugin/plugin.json +2 -2
- package/README.md +51 -37
- package/docs/ARCHITECTURE.md +4 -4
- package/docs/authoring-guide.md +2 -2
- package/docs/workflow-examples.md +38 -38
- package/hooks/hooks.json +56 -71
- package/manifests/install-modules.json +5 -3
- package/package.json +4 -3
- package/schemas/hooks.schema.json +83 -72
- package/schemas/plugin.schema.json +59 -21
- package/scripts/cli/install-apply.js +9 -9
- package/scripts/hooks/doc-file-warning.js +3 -1
- package/scripts/hooks/governor-check.js +3 -2
- package/scripts/hooks/post-bash-build-complete.js +3 -2
- package/scripts/hooks/post-bash-pr-created.js +4 -2
- package/scripts/hooks/post-edit-console-warn.js +3 -1
- package/scripts/hooks/post-edit-format.js +3 -2
- package/scripts/hooks/post-edit-typecheck.js +3 -2
- package/scripts/hooks/post-write.js +3 -1
- package/scripts/hooks/pre-bash-git-push-reminder.js +3 -2
- package/scripts/hooks/pre-bash-tmux-reminder.js +3 -1
- package/scripts/hooks/pre-tool-use.js +3 -1
- package/scripts/hooks/quality-gate.js +3 -2
- package/scripts/hooks/sfdx-scanner-check.js +3 -1
- package/scripts/hooks/sfdx-validate.js +3 -1
- package/scripts/lib/hook-input.js +105 -0
- package/scripts/lib/hooks-adapter.js +265 -0
- package/scripts/lib/install-executor.js +153 -1
- package/scripts/scc.js +14 -14
- package/skills/configure-scc/SKILL.md +20 -20
- package/skills/mcp-server-patterns/SKILL.md +1 -1
- package/skills/sf-harness-audit/SKILL.md +6 -6
- package/skills/sf-quickstart/SKILL.md +7 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "salesforce-claude-code",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Production-ready
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Production-ready expert subagents, domain skills, and quality gates for Salesforce development",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jiten Singh",
|
|
7
7
|
"email": "jitencseng@gmail.com",
|
package/.cursor/hooks.json
CHANGED
|
@@ -1,106 +1,147 @@
|
|
|
1
1
|
{
|
|
2
|
+
"version": 1,
|
|
2
3
|
"hooks": {
|
|
3
4
|
"sessionStart": [
|
|
4
5
|
{
|
|
5
|
-
"command": "node
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
],
|
|
10
|
-
"sessionEnd": [
|
|
6
|
+
"command": "node scripts/hooks/session-start.js",
|
|
7
|
+
"timeout": 15
|
|
8
|
+
},
|
|
11
9
|
{
|
|
12
|
-
"command": "node
|
|
13
|
-
"
|
|
14
|
-
"description": "Persist session state and evaluate patterns"
|
|
10
|
+
"command": "node scripts/hooks/check-platform-docs-age.js",
|
|
11
|
+
"timeout": 5
|
|
15
12
|
}
|
|
16
13
|
],
|
|
17
14
|
"beforeShellExecution": [
|
|
18
15
|
{
|
|
19
16
|
"command": "npx block-no-verify@1.1.2",
|
|
20
|
-
"
|
|
21
|
-
"description": "Block git hook-bypass flag to protect pre-commit, commit-msg, and pre-push hooks from being skipped"
|
|
17
|
+
"failClosed": true
|
|
22
18
|
},
|
|
23
19
|
{
|
|
24
|
-
"command": "node
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"afterShellExecution": [
|
|
20
|
+
"command": "node scripts/hooks/pre-tool-use.js",
|
|
21
|
+
"timeout": 10
|
|
22
|
+
},
|
|
30
23
|
{
|
|
31
|
-
"command": "node
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
"afterFileEdit": [
|
|
24
|
+
"command": "node scripts/hooks/sfdx-validate.js",
|
|
25
|
+
"timeout": 10
|
|
26
|
+
},
|
|
37
27
|
{
|
|
38
|
-
"command": "node
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"beforeReadFile": [
|
|
28
|
+
"command": "node scripts/hooks/pre-bash-git-push-reminder.js",
|
|
29
|
+
"timeout": 5
|
|
30
|
+
},
|
|
44
31
|
{
|
|
45
|
-
"command": "node
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
],
|
|
50
|
-
"beforeSubmitPrompt": [
|
|
32
|
+
"command": "node scripts/hooks/sfdx-scanner-check.js",
|
|
33
|
+
"timeout": 45
|
|
34
|
+
},
|
|
51
35
|
{
|
|
52
|
-
"command": "node
|
|
53
|
-
"
|
|
54
|
-
"description": "Detect secrets in prompts (sk-, ghp_, AKIA patterns)"
|
|
36
|
+
"command": "node scripts/hooks/pre-bash-tmux-reminder.js",
|
|
37
|
+
"timeout": 5
|
|
55
38
|
}
|
|
56
39
|
],
|
|
57
|
-
"
|
|
40
|
+
"preToolUse": [
|
|
41
|
+
{
|
|
42
|
+
"command": "node scripts/hooks/mcp-health-check.js",
|
|
43
|
+
"failClosed": true
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"command": "bash scripts/hooks/learning-observe.sh",
|
|
47
|
+
"timeout": 10
|
|
48
|
+
},
|
|
58
49
|
{
|
|
59
|
-
"command": "node
|
|
60
|
-
"
|
|
61
|
-
"
|
|
50
|
+
"command": "node scripts/hooks/doc-file-warning.js",
|
|
51
|
+
"timeout": 5,
|
|
52
|
+
"matcher": "Write"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"command": "node scripts/hooks/suggest-compact.js",
|
|
56
|
+
"timeout": 5,
|
|
57
|
+
"matcher": "Write"
|
|
62
58
|
}
|
|
63
59
|
],
|
|
64
|
-
"
|
|
60
|
+
"postToolUse": [
|
|
65
61
|
{
|
|
66
|
-
"command": "
|
|
67
|
-
"
|
|
68
|
-
"description": "Log agent completion"
|
|
62
|
+
"command": "bash scripts/hooks/learning-observe.sh",
|
|
63
|
+
"timeout": 10
|
|
69
64
|
}
|
|
70
65
|
],
|
|
71
|
-
"
|
|
66
|
+
"afterFileEdit": [
|
|
72
67
|
{
|
|
73
|
-
"command": "node
|
|
74
|
-
"
|
|
75
|
-
|
|
68
|
+
"command": "node scripts/hooks/post-write.js",
|
|
69
|
+
"timeout": 10
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"command": "node scripts/hooks/quality-gate.js",
|
|
73
|
+
"timeout": 15
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"command": "node scripts/hooks/governor-check.js",
|
|
77
|
+
"timeout": 10
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"command": "node scripts/hooks/post-edit-console-warn.js",
|
|
81
|
+
"timeout": 10
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"command": "node scripts/hooks/post-edit-format.js",
|
|
85
|
+
"timeout": 15
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"command": "node scripts/hooks/post-edit-typecheck.js",
|
|
89
|
+
"timeout": 30
|
|
76
90
|
}
|
|
77
91
|
],
|
|
78
|
-
"
|
|
92
|
+
"afterShellExecution": [
|
|
93
|
+
{
|
|
94
|
+
"command": "node scripts/hooks/post-bash-build-complete.js",
|
|
95
|
+
"timeout": 10
|
|
96
|
+
},
|
|
79
97
|
{
|
|
80
|
-
"command": "node
|
|
81
|
-
"
|
|
82
|
-
"description": "Log MCP server/tool invocations for observability"
|
|
98
|
+
"command": "node scripts/hooks/post-bash-pr-created.js",
|
|
99
|
+
"timeout": 10
|
|
83
100
|
}
|
|
84
101
|
],
|
|
85
|
-
"
|
|
102
|
+
"postToolUseFailure": [
|
|
86
103
|
{
|
|
87
|
-
"command": "node
|
|
88
|
-
"
|
|
89
|
-
"description": "Log MCP result status (OK/FAILED) for observability"
|
|
104
|
+
"command": "node scripts/hooks/mcp-health-check.js",
|
|
105
|
+
"failClosed": true
|
|
90
106
|
}
|
|
91
107
|
],
|
|
92
108
|
"preCompact": [
|
|
93
109
|
{
|
|
94
|
-
"command": "node
|
|
95
|
-
"
|
|
96
|
-
"description": "Save state before context compaction"
|
|
110
|
+
"command": "node scripts/hooks/pre-compact.js",
|
|
111
|
+
"timeout": 10
|
|
97
112
|
}
|
|
98
113
|
],
|
|
99
114
|
"stop": [
|
|
100
115
|
{
|
|
101
|
-
"command": "node
|
|
102
|
-
"
|
|
103
|
-
"
|
|
116
|
+
"command": "node scripts/hooks/stop-hook.js",
|
|
117
|
+
"timeout": 10,
|
|
118
|
+
"loop_limit": 3
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"command": "node scripts/hooks/check-console-log.js",
|
|
122
|
+
"timeout": 10,
|
|
123
|
+
"loop_limit": 3
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"command": "node scripts/hooks/session-end.js",
|
|
127
|
+
"timeout": 15,
|
|
128
|
+
"loop_limit": 3
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"command": "node scripts/hooks/cost-tracker.js",
|
|
132
|
+
"timeout": 10,
|
|
133
|
+
"loop_limit": 3
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"command": "node scripts/hooks/evaluate-session.js",
|
|
137
|
+
"timeout": 10,
|
|
138
|
+
"loop_limit": 3
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"sessionEnd": [
|
|
142
|
+
{
|
|
143
|
+
"command": "node scripts/hooks/session-end-marker.js",
|
|
144
|
+
"timeout": 10
|
|
104
145
|
}
|
|
105
146
|
]
|
|
106
147
|
}
|
|
@@ -25,9 +25,9 @@ Interactive guide for installing and configuring Salesforce Claude Code.
|
|
|
25
25
|
npm install -g scc-universal
|
|
26
26
|
|
|
27
27
|
# Install with a profile
|
|
28
|
-
npx scc install all # Everything (all agents, skills, rules)
|
|
29
|
-
npx scc install apex # Apex-focused development
|
|
30
|
-
npx scc install lwc # LWC-focused development
|
|
28
|
+
npx scc-universal install all # Everything (all agents, skills, rules)
|
|
29
|
+
npx scc-universal install apex # Apex-focused development
|
|
30
|
+
npx scc-universal install lwc # LWC-focused development
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
### Profile Details
|
|
@@ -41,10 +41,10 @@ npx scc install lwc # LWC-focused development
|
|
|
41
41
|
### Diagnostics
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
npx scc doctor # Check for missing/drifted files
|
|
45
|
-
npx scc status # View installed components
|
|
46
|
-
npx scc repair # Restore drifted files
|
|
47
|
-
npx scc uninstall # Remove SCC-managed files
|
|
44
|
+
npx scc-universal doctor # Check for missing/drifted files
|
|
45
|
+
npx scc-universal status # View installed components
|
|
46
|
+
npx scc-universal repair # Restore drifted files
|
|
47
|
+
npx scc-universal uninstall # Remove SCC-managed files
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
## Hook Configuration
|
|
@@ -110,10 +110,10 @@ CLAUDE_PACKAGE_MANAGER=npm
|
|
|
110
110
|
|
|
111
111
|
| Problem | Cause | Fix |
|
|
112
112
|
|---------|-------|-----|
|
|
113
|
-
| `npx scc install` fails | Node.js < 20 | Upgrade: `nvm install 20` |
|
|
114
|
-
| Hooks not firing | SCC not installed in project | Run `npx scc doctor` to check |
|
|
115
|
-
| `Permission denied` on hooks | Script not executable | Run `npx scc repair` |
|
|
116
|
-
| Skills not loading | Wrong install profile | Run `npx scc install all` |
|
|
113
|
+
| `npx scc-universal install` fails | Node.js < 20 | Upgrade: `nvm install 20` |
|
|
114
|
+
| Hooks not firing | SCC not installed in project | Run `npx scc-universal doctor` to check |
|
|
115
|
+
| `Permission denied` on hooks | Script not executable | Run `npx scc-universal repair` |
|
|
116
|
+
| Skills not loading | Wrong install profile | Run `npx scc-universal install all` |
|
|
117
117
|
| `sf` command not found | SF CLI not installed | Install: `npm install -g @salesforce/cli` |
|
|
118
118
|
| `sf` commands fail with errors | SF CLI version too old | Upgrade: `npm update -g @salesforce/cli` (SCC requires SF CLI v2.x / `sf` not `sfdx`) |
|
|
119
119
|
| Hooks slow down session | Too many hooks enabled | Switch to `SCC_HOOK_PROFILE=minimal` |
|
|
@@ -122,19 +122,19 @@ CLAUDE_PACKAGE_MANAGER=npm
|
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
124
|
# Full diagnostic report
|
|
125
|
-
npx scc doctor
|
|
125
|
+
npx scc-universal doctor
|
|
126
126
|
|
|
127
127
|
# See exactly what's installed
|
|
128
|
-
npx scc list-installed
|
|
128
|
+
npx scc-universal list-installed
|
|
129
129
|
|
|
130
130
|
# Preview what WOULD be installed (dry run)
|
|
131
|
-
npx scc plan apex
|
|
131
|
+
npx scc-universal plan apex
|
|
132
132
|
|
|
133
133
|
# Check state store
|
|
134
|
-
npx scc status
|
|
134
|
+
npx scc-universal status
|
|
135
135
|
|
|
136
136
|
# Reset everything and reinstall
|
|
137
|
-
npx scc uninstall && npx scc install all
|
|
137
|
+
npx scc-universal uninstall && npx scc-universal install all
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
### Upgrading SCC
|
|
@@ -144,17 +144,17 @@ npx scc uninstall && npx scc install all
|
|
|
144
144
|
npm install -g scc-universal@latest
|
|
145
145
|
|
|
146
146
|
# Repair any drifted files after upgrade
|
|
147
|
-
npx scc repair
|
|
147
|
+
npx scc-universal repair
|
|
148
148
|
|
|
149
149
|
# Verify upgrade
|
|
150
|
-
npx scc doctor
|
|
150
|
+
npx scc-universal doctor
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
## Verification
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
156
|
npm test # Run all validators
|
|
157
|
-
npx scc doctor # Check installation health
|
|
157
|
+
npx scc-universal doctor # Check installation health
|
|
158
158
|
sf --version # Verify SF CLI is installed
|
|
159
|
-
npx scc status # Confirm installed components
|
|
159
|
+
npx scc-universal status # Confirm installed components
|
|
160
160
|
```
|
|
@@ -72,7 +72,7 @@ Use **Zod** (or the SDK's preferred schema format) for input validation.
|
|
|
72
72
|
|
|
73
73
|
### Official @salesforce/mcp Server
|
|
74
74
|
|
|
75
|
-
MCP config is auto-installed by `npx scc install` (`.mcp.json` for Claude Code, `.cursor/mcp.json` for Cursor). The official `@salesforce/mcp` server provides these toolsets:
|
|
75
|
+
MCP config is auto-installed by `npx scc-universal install` (`.mcp.json` for Claude Code, `.cursor/mcp.json` for Cursor). The official `@salesforce/mcp` server provides these toolsets:
|
|
76
76
|
|
|
77
77
|
| Toolset | What It Does |
|
|
78
78
|
|---------|-------------|
|
|
@@ -29,7 +29,7 @@ ls -la .claude/agents/ 2>/dev/null
|
|
|
29
29
|
ls -la .claude/skills/ 2>/dev/null
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
If using SCC CLI: `npx scc status`
|
|
32
|
+
If using SCC CLI: `npx scc-universal status`
|
|
33
33
|
|
|
34
34
|
### Step 2 — Score Each Category
|
|
35
35
|
|
|
@@ -110,7 +110,7 @@ SCC Harness Audit
|
|
|
110
110
|
|
|
111
111
|
Top Recommendations:
|
|
112
112
|
1. [+1.0] Enable strict hook profile: export SCC_HOOK_PROFILE=strict
|
|
113
|
-
2. [+0.5] Install all modules: npx scc install all
|
|
113
|
+
2. [+0.5] Install all modules: npx scc-universal install all
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
### Step 4 — Actionable Recommendations
|
|
@@ -119,11 +119,11 @@ For each gap, provide a specific command to fix it:
|
|
|
119
119
|
|
|
120
120
|
| Gap | Fix Command |
|
|
121
121
|
|-----|-------------|
|
|
122
|
-
| Missing hooks | `npx scc repair` |
|
|
123
|
-
| Missing domain rules | `npx scc install all` (or target: `npx scc install apex`, `npx scc install lwc`) |
|
|
124
|
-
| Low skill count | `npx scc install all` |
|
|
122
|
+
| Missing hooks | `npx scc-universal repair` |
|
|
123
|
+
| Missing domain rules | `npx scc-universal install all` (or target: `npx scc-universal install apex`, `npx scc-universal install lwc`) |
|
|
124
|
+
| Low skill count | `npx scc-universal install all` |
|
|
125
125
|
| Wrong hook profile | `export SCC_HOOK_PROFILE=strict` |
|
|
126
|
-
| Drifted files | `npx scc doctor` then `npx scc repair` |
|
|
126
|
+
| Drifted files | `npx scc-universal doctor` then `npx scc-universal repair` |
|
|
127
127
|
|
|
128
128
|
## Examples
|
|
129
129
|
|
|
@@ -79,9 +79,9 @@ Based on detection results, recommend the best SCC profile:
|
|
|
79
79
|
|
|
80
80
|
| Detected Stack | Recommended Profile | Command |
|
|
81
81
|
|---------------|--------------------|---------|
|
|
82
|
-
| Apex + LWC + Flows + triggers | `all` | `npx scc install all` |
|
|
83
|
-
| Primarily Apex (classes + triggers) | `apex` | `npx scc install apex` |
|
|
84
|
-
| Primarily LWC with some Apex | `lwc` | `npx scc install lwc` |
|
|
82
|
+
| Apex + LWC + Flows + triggers | `all` | `npx scc-universal install all` |
|
|
83
|
+
| Primarily Apex (classes + triggers) | `apex` | `npx scc-universal install apex` |
|
|
84
|
+
| Primarily LWC with some Apex | `lwc` | `npx scc-universal install lwc` |
|
|
85
85
|
|
|
86
86
|
**Profile details:**
|
|
87
87
|
|
|
@@ -111,16 +111,16 @@ Check that SCC is properly configured:
|
|
|
111
111
|
|
|
112
112
|
```bash
|
|
113
113
|
# Check hooks are loaded
|
|
114
|
-
test -f .claude/hooks/
|
|
114
|
+
test -f .claude/settings.json && grep -q '"hooks"' .claude/settings.json 2>/dev/null && echo "Hooks: ACTIVE (in settings.json)" || echo "Hooks: MISSING (run npx scc-universal install)"
|
|
115
115
|
|
|
116
116
|
# Check hook profile
|
|
117
117
|
echo "Hook Profile: ${SCC_HOOK_PROFILE:-standard (default)}"
|
|
118
118
|
|
|
119
119
|
# Check for governor-check hook
|
|
120
|
-
grep -q "governor-check" .claude/
|
|
120
|
+
grep -q "governor-check" .claude/settings.json 2>/dev/null && echo "Governor Check: ACTIVE" || echo "Governor Check: MISSING"
|
|
121
121
|
|
|
122
122
|
# Check for quality-gate hook
|
|
123
|
-
grep -q "quality-gate" .claude/
|
|
123
|
+
grep -q "quality-gate" .claude/settings.json 2>/dev/null && echo "Quality Gate: ACTIVE" || echo "Quality Gate: MISSING"
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
### Step 6 — Report
|
|
@@ -143,7 +143,7 @@ Tech Stack Detected:
|
|
|
143
143
|
Custom Objects: 15
|
|
144
144
|
|
|
145
145
|
Recommended Profile: all
|
|
146
|
-
-> npx scc install all
|
|
146
|
+
-> npx scc-universal install all
|
|
147
147
|
|
|
148
148
|
SCC Status:
|
|
149
149
|
Hooks: ACTIVE (standard profile)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "salesforce-claude-code",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Production-ready
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Production-ready expert subagents, domain skills, and quality gates for Salesforce development",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jiten Singh",
|
|
7
7
|
"email": "jitencseng@gmail.com"
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
> The complete AI development system for Salesforce — expert agents, automated quality gates, and institutional knowledge, powered by @salesforce/mcp
|
|
8
8
|
|
|
9
|
-
SCC (`scc-universal` on npm) is a Claude Code plugin that supercharges your Salesforce development workflow with
|
|
9
|
+
SCC (`scc-universal` on npm) is a Claude Code plugin that supercharges your Salesforce development workflow with **17 expert subagents**, **55 domain knowledge skills**, and **29 automated quality gates**. Built for Apex, LWC, SOQL, Flow, Visualforce, Aura, DevOps, and Agentforce — covering every layer of the Salesforce platform.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -32,51 +32,64 @@ SCC is a unified system where each layer serves a distinct role:
|
|
|
32
32
|
|---|---|---|
|
|
33
33
|
| Agents | 17 | Specialized Salesforce subagents (11 domain + 6 platform) |
|
|
34
34
|
| Skills | 55 | Domain knowledge + workflow modules (17 user-invocable, 38 auto-activating) |
|
|
35
|
-
| Hooks | 29 |
|
|
35
|
+
| Hooks | 29 | Automated quality gates (SessionStart, PreToolUse, PostToolUse, PostToolUseFailure, PreCompact, Stop, SessionEnd) |
|
|
36
36
|
| Harnesses | 2 | Claude Code, Cursor |
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
40
40
|
## Requirements
|
|
41
41
|
|
|
42
|
-
- **Node.js >= 20** — required to run the `npx scc` CLI
|
|
42
|
+
- **Node.js >= 20** — required to run the `npx scc-universal` CLI
|
|
43
43
|
- **Python 3.x** — required for learning-engine agent (instinct CLI)
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
47
|
## Quick Install
|
|
48
48
|
|
|
49
|
+
### For Claude Code
|
|
50
|
+
|
|
49
51
|
```bash
|
|
50
|
-
# Install everything
|
|
51
|
-
npx scc install
|
|
52
|
+
# Install everything (agents → .claude/agents/, skills → .claude/skills/, hooks → .claude/settings.json)
|
|
53
|
+
npx scc-universal install
|
|
54
|
+
|
|
55
|
+
# Install only Apex-focused content
|
|
56
|
+
npx scc-universal install apex
|
|
57
|
+
|
|
58
|
+
# Install only LWC-focused content
|
|
59
|
+
npx scc-universal install lwc
|
|
60
|
+
```
|
|
52
61
|
|
|
53
|
-
|
|
54
|
-
npx scc install apex
|
|
62
|
+
### For Cursor
|
|
55
63
|
|
|
56
|
-
|
|
57
|
-
|
|
64
|
+
```bash
|
|
65
|
+
# Install everything (agents → .cursor/agents/, skills → .cursor/skills/, hooks → .cursor/hooks.json)
|
|
66
|
+
npx scc-universal install --target cursor
|
|
67
|
+
|
|
68
|
+
# Install only Apex-focused content
|
|
69
|
+
npx scc-universal install apex --target cursor
|
|
70
|
+
```
|
|
58
71
|
|
|
59
|
-
|
|
60
|
-
npx scc install devops
|
|
72
|
+
### Diagnose and Repair
|
|
61
73
|
|
|
62
|
-
|
|
63
|
-
npx scc doctor
|
|
64
|
-
npx scc repair
|
|
74
|
+
```bash
|
|
75
|
+
npx scc-universal doctor # Check for missing/drifted files
|
|
76
|
+
npx scc-universal repair # Restore drifted files
|
|
77
|
+
npx scc-universal status # View installed components
|
|
78
|
+
npx scc-universal uninstall # Remove SCC-managed files
|
|
65
79
|
```
|
|
66
80
|
|
|
67
81
|
### CLI Reference
|
|
68
82
|
|
|
69
83
|
| Command | Description |
|
|
70
84
|
|---|---|
|
|
71
|
-
| `scc install
|
|
72
|
-
| `scc plan` | Preview install manifest (dry run) |
|
|
73
|
-
| `scc list-installed` | Show currently installed SCC files |
|
|
74
|
-
| `scc doctor` | Diagnose missing or drifted files |
|
|
75
|
-
| `scc repair` | Restore drifted files |
|
|
76
|
-
| `scc status` | Query JSON state store |
|
|
77
|
-
| `scc sessions` | List saved sessions |
|
|
78
|
-
| `scc
|
|
79
|
-
| `scc uninstall` | Remove SCC-managed files |
|
|
85
|
+
| `scc-universal install [profile]` | Install SCC content (default: full profile, claude target) |
|
|
86
|
+
| `scc-universal plan` | Preview install manifest (dry run) |
|
|
87
|
+
| `scc-universal list-installed` | Show currently installed SCC files |
|
|
88
|
+
| `scc-universal doctor` | Diagnose missing or drifted files |
|
|
89
|
+
| `scc-universal repair` | Restore drifted files |
|
|
90
|
+
| `scc-universal status` | Query JSON state store |
|
|
91
|
+
| `scc-universal sessions` | List saved sessions |
|
|
92
|
+
| `scc-universal uninstall` | Remove SCC-managed files |
|
|
80
93
|
|
|
81
94
|
**Install flags:**
|
|
82
95
|
|
|
@@ -84,18 +97,25 @@ npx scc repair
|
|
|
84
97
|
|---|---|
|
|
85
98
|
| `--profile <name>` | Install profile: `apex`, `lwc`, or `full` (default) |
|
|
86
99
|
| `--target <harness>` | Target harness: `claude` (default) or `cursor` |
|
|
87
|
-
| `--
|
|
88
|
-
| `--dry-run` | Preview changes without applying (works with repair, uninstall) |
|
|
100
|
+
| `--dry-run` | Preview changes without applying |
|
|
89
101
|
| `--json` | Output in JSON format |
|
|
90
|
-
| `--yes` | Skip confirmation prompts |
|
|
91
102
|
|
|
92
|
-
###
|
|
103
|
+
### What Gets Installed
|
|
104
|
+
|
|
105
|
+
| Component | Claude Code (`--target claude`) | Cursor (`--target cursor`) |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| Agents | `.claude/agents/*.md` | `.cursor/agents/*.md` |
|
|
108
|
+
| Skills | `.claude/skills/*/SKILL.md` | `.cursor/skills/*/SKILL.md` |
|
|
109
|
+
| Hooks | Merged into `.claude/settings.json` | `.cursor/hooks.json` |
|
|
110
|
+
| MCP config | `.mcp.json` (project root) | `.cursor/mcp.json` |
|
|
111
|
+
|
|
112
|
+
### Install Profiles
|
|
93
113
|
|
|
94
114
|
SCC content is organized into 7 modules. Profiles compose subsets:
|
|
95
115
|
|
|
96
116
|
| Module | Description | Depends On |
|
|
97
117
|
|---|---|---|
|
|
98
|
-
| `core` | Essential agents, core skills,
|
|
118
|
+
| `core` | Essential agents, core skills, quality gates | — |
|
|
99
119
|
| `apex` | Apex agents, skills, SOQL, constraints | core |
|
|
100
120
|
| `lwc` | LWC agent, skills, constraints | core |
|
|
101
121
|
| `platform` | Cross-domain agents, universal skills, debugging, integration | core |
|
|
@@ -109,12 +129,6 @@ SCC content is organized into 7 modules. Profiles compose subsets:
|
|
|
109
129
|
| `lwc` | core + lwc + platform + devops + security |
|
|
110
130
|
| `full` | All 7 modules (default) |
|
|
111
131
|
|
|
112
|
-
### Harness-Specific Instructions
|
|
113
|
-
|
|
114
|
-
**Claude Code** — files are auto-installed via `npx scc install all`. Agents, skills, commands, rules, and hooks are all activated.
|
|
115
|
-
|
|
116
|
-
**Cursor** — run `npx scc install all --target cursor`. Agents, skills, rules, and MCP config are auto-installed to `.cursor/` directory.
|
|
117
|
-
|
|
118
132
|
---
|
|
119
133
|
|
|
120
134
|
## Key Features
|
|
@@ -175,11 +189,11 @@ SCC is designed to complement the official [Salesforce MCP server](https://githu
|
|
|
175
189
|
- **@salesforce/mcp** provides: org management, metadata deployment, SOQL queries, Apex test execution, code analysis, LWC tools, DevOps operations
|
|
176
190
|
- **SCC provides**: domain expertise to use those tools correctly, quality gates to catch mistakes, and institutional knowledge to follow best practices
|
|
177
191
|
|
|
178
|
-
MCP config is auto-installed by `npx scc install`:
|
|
192
|
+
MCP config is auto-installed by `npx scc-universal install`:
|
|
179
193
|
|
|
180
194
|
```bash
|
|
181
|
-
npx scc install all --target claude # Installs .mcp.json at project root
|
|
182
|
-
npx scc install all --target cursor # Installs .cursor/mcp.json
|
|
195
|
+
npx scc-universal install all --target claude # Installs .mcp.json at project root
|
|
196
|
+
npx scc-universal install all --target cursor # Installs .cursor/mcp.json
|
|
183
197
|
```
|
|
184
198
|
|
|
185
199
|
### Enhanced Quality Gates
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -14,7 +14,7 @@ Salesforce Claude Code (SCC) is a **plugin harness system** — a collection of
|
|
|
14
14
|
│ │
|
|
15
15
|
│ ┌──────────┐ ┌──────────┐ │
|
|
16
16
|
│ │ Agents │ │ Skills │ │
|
|
17
|
-
│ │ (
|
|
17
|
+
│ │ (17) │ │ (55) │ │
|
|
18
18
|
│ └─────┬────┘ └─────┬────┘ │
|
|
19
19
|
│ │ │ │
|
|
20
20
|
│ ┌─────┴────────────┴─────────────────────────────────┐ │
|
|
@@ -37,7 +37,7 @@ Salesforce Claude Code (SCC) is a **plugin harness system** — a collection of
|
|
|
37
37
|
│ └────────────────────────────────────────────────────┘ │
|
|
38
38
|
│ │
|
|
39
39
|
├─────────────────────────────────────────────────────────┤
|
|
40
|
-
│ CLI (npx scc) │
|
|
40
|
+
│ CLI (npx scc-universal) │
|
|
41
41
|
│ install | doctor | repair | status | sessions │
|
|
42
42
|
└─────────────────────────────────────────────────────────┘
|
|
43
43
|
```
|
|
@@ -84,7 +84,7 @@ Hooks run at lifecycle events and are gated by profiles:
|
|
|
84
84
|
|
|
85
85
|
### CLI System
|
|
86
86
|
|
|
87
|
-
The `npx scc` CLI provides:
|
|
87
|
+
The `npx scc-universal` CLI provides:
|
|
88
88
|
|
|
89
89
|
- `install <profile>` — Install SCC content for a specific profile (core, apex, lwc, devops, security, full)
|
|
90
90
|
- `doctor` — Diagnose missing or drifted files
|
|
@@ -111,7 +111,7 @@ SCC uses a JSON state store (`~/.scc/state.json`) to track:
|
|
|
111
111
|
## Installation Flow
|
|
112
112
|
|
|
113
113
|
```
|
|
114
|
-
npx scc install all
|
|
114
|
+
npx scc-universal install all
|
|
115
115
|
│
|
|
116
116
|
├── Read manifests/install-profiles.json
|
|
117
117
|
├── Resolve component list for profile
|
package/docs/authoring-guide.md
CHANGED
|
@@ -198,7 +198,7 @@ Platform skills are Salesforce-adapted patterns for AI-assisted development work
|
|
|
198
198
|
|
|
199
199
|
## User-Invocable Skill Authoring
|
|
200
200
|
|
|
201
|
-
User-invocable skills are skills that users can invoke directly as slash commands (e.g., `/sf-
|
|
201
|
+
User-invocable skills are skills that users can invoke directly as slash commands (e.g., `/sf-help`, `/sf-quickstart`, `/checkpoint`). They live in `skills/<skill-name>/SKILL.md` alongside standard skills, but include `user-invocable: true` in their frontmatter.
|
|
202
202
|
|
|
203
203
|
All commands have been migrated to user-invocable skills. There is no separate `commands/` directory.
|
|
204
204
|
|
|
@@ -284,7 +284,7 @@ sf apex run test --class-names MyTest --target-org <alias>
|
|
|
284
284
|
- Skills use descriptive names like `sf-apex-best-practices`, `sf-security`, `sf-deployment`.
|
|
285
285
|
- Salesforce-specific skills use the `sf-` prefix: `sf-tdd-workflow`, `sf-deployment`, `sf-security`.
|
|
286
286
|
- Platform skills omit the prefix: `checkpoint`, `strategic-compact`, `save-session`.
|
|
287
|
-
- Users invoke
|
|
287
|
+
- Users invoke user-invocable skills via `/skill-name` (e.g., `/sf-help`, `/sf-quickstart`, `/checkpoint`, `/sessions`).
|
|
288
288
|
|
|
289
289
|
## CI Validation
|
|
290
290
|
|