@W-21648052 Include new Context API MCP server (#70)

Updated rules file to incliude new Context API MCP server, removed extraneous instructions
This commit is contained in:
vratan-sf 2026-03-18 20:21:46 +05:30 committed by GitHub
parent 8bc46ed21a
commit 287a7e9caf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,69 +1,42 @@
# Rule: Salesforce Metadata Generation
## Objective
Enforce: **skill load → API context → file generation** for all Salesforce metadata.
## Constraints
1. **Never write** without both: metadata type skill loaded AND `get_metadata_api_context` called for that type
2. **One type at a time** - complete full cycle before next type
3. **One type per API call** - no batching
4. **Child types need own context** - if adding any child metadata inside a parent metadata's file, load skill and call `get_metadata_api_context` for each child type (e.g. CustomField inside CustomObject) separately; don't rely on the parent's schema for creating child metadata
1. **Never write** without both: metadata type skill loaded AND context tools from `salesforce-api-context` MCP server called for that type.
2. **One type at a time** - finish one type before starting the next
3. **One type per API call** - do not batch types when calling MCP tools
4. **Child types need their own context** - if adding any child metadata inside a parent metadata's file, treat the child metadata seperately; don't rely on the parent's schema for creating child metadata
5. **Max one clarifying question** before starting
## Workflow
### 1. Detect Intent
- **Solution skill** (end-to-end capability like lex/react app) → Solution Path
- **Direct metadata** (specific fields/objects/pages) → Direct Path
### 2. Solution Path
1. Load solution skill, extract metadata type sequence
2. For each type, execute loop (a-e below)
3. Proceed to Step 3
### 2. Direct Path
1. Identify all needed types
2. For each type in dependency order, execute loop (a-e below)
3. Proceed to Step 3
### Loop (a-e) - Execute for Each Type
### Step 1: Metadata Loop - Execute for Each Type
For each type, execute loop below
**a. Load Skill**
- Load metadata type skill once (not per record)
- If no skill exists, continue with API context only
- Load the metadata type skill once (not per record)
**b. Call API Context**
- `get_metadata_api_context("TypeName")` - single type only
- Wait for response
**b. Get entity context**
- Use these tools from `salesforce-api-context` MCP server for entity context.
- `get_metadata_type_sections`
- `get_metadata_type_context`
- `get_metadata_type_fields`
- `get_metadata_type_fields_properties`
- `search_metadata_types`
**c. Pre-Write Gate**
- Before EVERY write: confirm API context called for this type
- If no → stop and call now
**d. Generate Files**
- Use skill constraints + API context
- Generate all records for this type now
**e. Checkpoint**
- Skill loaded? API context called? All files written?
- Only proceed to next type when all true
### 3. Deploy Verification
### Step 2. Verify deployment
```bash
sf project deploy start --dry-run -d "force-app/main/default" --target-org <alias> --test-level NoTestRun --wait 10 --json
```
On failure: attempt to fix the errors and re-run, retrying up to a maximum of 3 times until it succeeds.
## Anti-Patterns
| Don't | Why | Do |
|-------|-----|-----|
| Write without API context | Missing schema validation | Call API context before first write |
| Reload skill per record | Wastes tokens | Load once per type |
| Skip API context for later types | No schema for those types | Call for EVERY type |
| Skip metadata skills | Missing platform constraints | Load skill for every type |
| Ask 3+ questions | Token waste | Max 1 question |
| Skip solution skill gates | Wrong artifacts | Follow all mandatory gates |
| Write despite missing checkpoint | Aware violation | Stop and complete missing step |
| Batch types in API call | Violates constraint #3 | One type per call |
| Batch types in calls to MCP tools | Violates constraint | One type per call |