coollabsio / renaming-services
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/renaming-services && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/3989" && unzip -o skill.zip -d .claude/skills/renaming-services && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/renaming-services/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Renames a service documentation file and updates all references across docs/services/, List.vue, and nginx/redirects.conf. Use when renaming services, changing service slugs, fixing camelCase to kebab-case, or when service names change in the Coolify repository templates/compose/.
0 views
0 installs
Skill Content
---
name: renaming-services
description: Renames a service documentation file and updates all references across docs/services/, List.vue, and nginx/redirects.conf. Use when renaming services, changing service slugs, fixing camelCase to kebab-case, or when service names change in the Coolify repository templates/compose/.
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
---
# Rename Service Documentation
This skill guides you through renaming a service in the Coolify documentation, ensuring all references are updated correctly.
## When to Use This Skill
- Service name changed in the Coolify repository
- Fixing incorrect service naming (e.g., camelCase to kebab-case)
- Consolidating duplicate service documentation
- Correcting typos in service slugs
## Critical: Four Locations Must Be Updated
When renaming a service, you **MUST** update all four locations:
1. **Documentation file** (`docs/services/`)
2. **Services list** (`docs/.vitepress/theme/components/Services/List.vue`)
3. **All services directory** (`docs/services/all.md`)
4. **Nginx redirects** (`nginx/redirects.conf`)
Failing to update all four will cause broken links or 404 errors.
## Step-by-Step Process
### 1. Rename the Documentation File
```bash
# Rename the markdown file
git mv docs/services/old-name.md docs/services/new-name.md
```
**Naming rules:**
- Use lowercase only
- Use hyphens for spaces (kebab-case)
- Match the service name from `service-templates-latest.json`
- Don't use camelCase even if the JSON does (e.g., `denoKV` → `denokv.md`)
### 2. Update the Services List
Edit `docs/.vitepress/theme/components/Services/List.vue`:
```javascript
// Find the service entry and update the slug
{
name: 'Service Name',
slug: 'new-name', // ← Change from 'old-name'
icon: '/docs/images/services/service-logo.svg',
description: 'Service description',
category: 'Category'
},
```
### 3. Add Nginx Redirects
Add redirect rules to `nginx/redirects.conf`:
```nginx
# Redirect old service URL to new URL
location = /docs/services/old-name { return 301 /docs/services/new-name; }
# Also redirect legacy knowledge-base path if it existed
location = /knowledge-base/services/old-name { return 301 /docs/services/new-name; }
```
**Important:** Keep redirects even for deleted pages to prevent 404 errors from search engines and bookmarks.
### 4. Update All Services Directory
Edit `docs/services/all.md` and update the service entry under its category:
```markdown
- [New Service Name](/services/new-name) - Service description
```
### 5. Update Internal Links
Search for any internal links referencing the old name:
```bash
# Search for references to the old service name
grep -r "old-name" docs/
```
Update any found references in other documentation files.
### 6. Rename Logo File (If Needed)
If the logo filename also needs updating:
```bash
# Rename the logo
git mv docs/public/images/services/old-name-logo.svg docs/public/images/services/new-name-logo.svg
```
Then update the `icon` path in List.vue.
## Verification Checklist
After renaming, verify:
- [ ] New file exists: `docs/services/new-name.md`
- [ ] Old file removed or redirected
- [ ] List.vue `slug` matches new filename
- [ ] List.vue `icon` path is correct
- [ ] Entry updated in `docs/services/all.md`
- [ ] Redirect added to `nginx/redirects.conf`
- [ ] No broken internal links (run `grep -r "old-name" docs/`)
- [ ] Service appears correctly at http://localhost:5173/docs/services/new-name
- [ ] Old URL redirects to new URL
## Common Scenarios
### Fixing camelCase to kebab-case
When the Coolify JSON uses camelCase but docs should use lowercase:
- `denoKV` → `denokv.md`
- `homeAssistant` → `home-assistant.md`
### Adding Version Numbers
When Coolify adds version-specific services:
- `mautic.md` → `mautic5.md` (if JSON specifies `mautic5`)
### Consolidating Names
When compound names are required:
- `ente.md` → `ente-photos.md` (if JSON specifies `ente-photos`)
## Troubleshooting
### Service shows 404
- Check if redirect is in `nginx/redirects.conf`
- Verify slug in List.vue matches filename
- Ensure markdown file exists
### Old URL still works without redirect
- Nginx config may need reload
- Check redirect syntax in `redirects.conf`
### Search engines still show old URL
- Redirects are working correctly (301 tells search engines to update)
- Takes time for search engines to re-crawl
## Related Skills
- `adding-service-documentation` - For creating new service docs
- `disabling-services` - For hiding deprecated services