# 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 ; 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`