# Rename Design: LLMHost.com → LLMHosts.com

## Date: 2026-02-16

## Problem

The project domain is LLMHosts.com (with 's') but the codebase, folder, and GitHub repo are all named LLMHost.com (without 's'). DNS for llmhosts.com now resolves to our server (172.93.54.223). Everything needs to be reconciled.

## Scope

### What Changes

| Thing | From | To |
|-------|------|----|
| Domain | LLMHost.com | LLMHosts.com |
| Brand name | LLMHost | LLMHosts |
| GitHub repo | LookNoHandsMom/LLMHost.com | LookNoHandsMom/LLMHosts.com |
| Email | brendon@llmhost.com | brendon@llmhosts.com |
| Docker image | ghcr.io/looknohandsmom/llmhost.com | ghcr.io/looknohandsmom/llmhosts.com |
| Project folder | /home/dev/projects/LLMHost.com | /home/dev/projects/LLMHosts.com |
| VS Code workspace | LLMHost.com.code-workspace | LLMHosts.com.code-workspace |

### What Does NOT Change

| Thing | Stays As |
|-------|----------|
| pip package name | llmhost |
| CLI command | llmhost |
| Python imports | import llmhost |
| PyPI name | llmhost |
| Python module dirs | llmhost/, hive/ |

## Approach: Rename-in-Place (Approach A)

Rename the existing GitHub repo (preserves issues, labels, milestones, git history). GitHub auto-redirects the old URL. All file content changes are done locally.

### Why Not Fresh Repo?

- Loses 29 GitHub issues, labels, milestones
- Requires re-seeding when account is unflagged
- More work for no benefit

## Execution Order

### Phase 1: GitHub Repo Rename (1 API call)

```bash
gh api -X PATCH repos/LookNoHandsMom/LLMHost.com -f name=LLMHosts.com
```

Preserves all issues, labels, milestones, history. Old URL auto-redirects.

### Phase 2: Update Git Remote

```bash
git remote set-url origin https://github.com/LookNoHandsMom/LLMHosts.com.git
```

### Phase 3: Mass File Content Rename (~104 files)

Three replacement passes (order matters):

1. **Domain/repo**: `LLMHost.com` → `LLMHosts.com`
2. **Brand name**: `LLMHost` → `LLMHosts` (case-sensitive, avoids lowercase `llmhosts`)
3. **Email**: `brendon@llmhost.com` → `brendon@llmhosts.com`

Exclusions:
- `.git/` directory
- Binary files
- `llmhosts` (lowercase) — this is the package name, not the brand
- `node_modules/`, `__pycache__/`, `.next/`

File categories affected:
- Markdown docs (~40 files): README, CLAUDE.md, AGENTS.md, CONTEXT.md, tracker files, plans, architecture, knowledge-base, backlog, roadmap
- YAML/config (~10 files): pyproject.toml, .github/, .hive/config.yaml, dependabot.yml
- Python metadata (~5 files): pyproject.toml URLs, tools/*.py REPO constants
- Frontend (~18 files): page titles, legal text, brand references, metadata
- Cursor rules (~9 files): .cursor/rules/*.mdc
- Hive state (~8 files): .hive/ identity, memory, backlog
- Deferred items (~6 files): deferred/*.md
- Docker (~3 files): Dockerfile, docker-compose.yml, .dockerignore references

### Phase 4: Rename Workspace File

```bash
mv LLMHost.com.code-workspace LLMHosts.com.code-workspace
```

### Phase 5: Commit, Push, Verify

```bash
git add -A
git commit -m "chore: rename LLMHost.com → LLMHosts.com (domain, brand, repo)"
git push origin main
# Sync develop
git checkout develop && git merge main && git push origin develop && git checkout main
# Verify
gh api repos/LookNoHandsMom/LLMHosts.com --jq .full_name
```

### After Session: Folder Rename (User Action)

```bash
mv /home/dev/projects/LLMHost.com /home/dev/projects/LLMHosts.com
```

Claude Code memory path auto-regenerates on next session from the new folder.

## Risk Mitigation

- **Reversible**: Single commit, `git revert` undoes everything
- **GitHub redirect**: Old URLs continue to work after rename
- **Rate limit**: Only 1 API call needed (60/hr available)
- **Package name safe**: Only case-sensitive "LLMHost" is replaced, not "llmhost"
- **Folder rename deferred**: Done by user after session, avoids breaking running tools

## What We're NOT Doing

- Renaming the pip package (llmhost stays)
- Renaming Python module directories
- Migrating issues to a new repo
- Setting up MX records for llmhosts.com email
- Touching any Python import statements
