# Remove Template

> Remove a template from the Templates repository

- Skill: `forcedotcom/remove-template` (Agent Skill)
- Install (CLI): `npx skillmds@latest add forcedotcom/remove-template`
- Raw SKILL.md: https://api.skillmd.com/api/skills/forcedotcom/remove-template/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: forcedotcom (https://skillmd.com/u/forcedotcom)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/forcedotcom/remove-template

---


# Remove Template from Templates Repository

This skill removes a template from the SalesforceMobileSDK-Templates repository.

## Prerequisites

- Template name to remove (e.g., `iOSNativeSwiftTemplate`)
- Template's `appType` from `templates.json` (e.g., `native_swift`, `hybrid_local`)
- Know if this is the **last template** with that `appType`

## Steps

### 1. Remove Template Directory

```bash
cd SalesforceMobileSDK-Templates
git rm -r <TemplateName>
```

### 2. Update templates.json

**File**: `templates.json`

Remove the template entry completely:
```json
{
    "path": "TemplateName",
    "description": "...",
    "appType": "...",
    "platforms": ["..."]
}
```

### 3. Update setversion.sh

**File**: `setversion.sh`

Remove references in **two sections**:

**Section 1: build.gradle.kts (Android templates only)**
```bash
# Remove line like:
update_build_gradle_dependencies "./TemplateName/app/build.gradle.kts"  "${OPT_VERSION}"
```

**Section 2: package.json (all templates)**
```bash
# Remove line like:
update_package_json "./TemplateName/package.json"  "${SDK_TAG}"
# or for SPM templates:
update_package_json "./TemplateName/package.json"  "${SDK_TAG_SPM}"
```

### 4. Check test_template.sh

**File**: `test_template.sh`

**Usually no changes needed** - script reads `templates.json` dynamically.

**Check for**: Special handling or explicit exclusions of this template.

### 5. Update TESTING.md

**File**: `TESTING.md`

**Search for**: Template name in examples.

**Remove**: Any documentation specifically mentioning this template.

### 6. Update CLAUDE.md

**File**: `CLAUDE.md`

Remove template from:
- **Available Templates** section
- Template tables (Native iOS, Native Android, React Native, Hybrid)
- Any examples referencing this template

### 7. Update README.md

**File**: `README.md`

Remove template from:
- **Available Templates** section  
- Template tables organized by platform
- Usage examples featuring this template

### 8. Verify No References Remain

```bash
grep -r "TemplateName" --exclude-dir=node_modules .
```

## Validation

### Checklist

- [ ] Template directory removed with `git rm -r`
- [ ] templates.json updated
- [ ] setversion.sh updated (both sections if applicable)
- [ ] test_template.sh checked (updated if needed)
- [ ] TESTING.md checked (updated if needed)
- [ ] CLAUDE.md updated
- [ ] README.md updated
- [ ] No references remain: `grep -r "TemplateName" --exclude-dir=node_modules .`

### Test Remaining Templates

Run the test script to ensure remaining templates still work:

```bash
./test_template.sh
```

Or test specific templates:
```bash
./test_template.sh --template <OtherTemplateName>
```

## Commit and Push

```bash
git add -A
git commit -m "Remove <TemplateName> template

Removed template directory and all references from:
- templates.json
- setversion.sh
- TESTING.md
- CLAUDE.md
- README.md"

git push origin <branch-name>
```

## Next Steps

After pushing to a branch, proceed to the Package repository to update references there.

See: `SalesforceMobileSDK-Package/.claude/skills/remove-template.md`

