# claudetools was restructured 2026-06-18 — RE-CLONE if you have an old clone

History was rewritten: every project split into its own Gitea repo (now git **submodules**),
and large data/history purged. `.git` went 3.2 GB → ~80 MB. An OLD clone (multi-GB `.git`,
no submodules) is **incompatible** — do NOT `/sync`, `/save`, or `git push` from it.

Automated (preferred) — compliance-gated; leaves a compliant clone untouched, otherwise
re-clones AND recovers the gitignored per-machine state a clone never carries (identity.json,
settings.local.json, .mcp.json, grepai, per-project .env/.venv/.attachments) and flags large
purged data for manual preservation:
```
bash .claude/scripts/migrate-to-submodules.sh --check     # report compliance only (read-only)
bash .claude/scripts/migrate-to-submodules.sh             # dry-run the plan
bash .claude/scripts/migrate-to-submodules.sh --confirm   # execute
```
An OLD clone can't pull this script — grab it by raw URL:
`https://git.azcomputerguru.com/azcomputerguru/claudetools/raw/branch/main/.claude/scripts/migrate-to-submodules.sh`

Manual equivalent:
```
cd <parent>;  mv ClaudeTools ClaudeTools.old
git clone https://git.azcomputerguru.com/azcomputerguru/claudetools.git ClaudeTools
cp ClaudeTools.old/.claude/identity.json ClaudeTools/.claude/      # gitignored, per-machine — keep it
cd ClaudeTools && git submodule update --init --recursive
# recover gitignored per-machine state (.env/.venv/.attachments/settings.local.json/.mcp.json) from .old, then delete it
```
Project history now lives in the submodules under `projects/`. Full pre-split backup bundle:
`\172.16.3.20\Backups\Gitea-Storage\claudetools-pre-split-2026-06-18.bundle`
