Rule: Entity directories are simple flat repos. No submodules.
Incident: koad/kingofalldata-dot-com was set up as a git submodule inside `~/.vulcan/sites/kingofalldata.com`. The harness got confused during autonomous git operations and committed Vulcan's entity repo content into the submodule target. The repo had to be deleted and recommitted from scratch.
The Rule
Every project Vulcan builds lives as its own standalone GitHub repo, cloned independently. Example:
~/.vulcan/sites/kingofalldata.com/ ← standalone clone of koad/kingofalldata-dot-com
~/.vulcan/ ← Vulcan's entity repo (no submodules, no nested .git)
Never add a submodule to any entity directory. Never nest a project repo inside an entity repo.
Why
- The harness performs autonomous git operations (
git add -A, git commit, git push). Submodule state is not visible to git status in the normal way — the harness can't reliably distinguish entity files from submodule pointers.
- Submodules require
--recurse-submodules on clone/pull. Automated systems and beginners miss this.
- If a submodule's remote disappears or diverges, it silently corrupts the parent repo state.
How to Structure Projects
When building something that needs its own repo:
- Create the repo at e.g. `koad/kingofalldata-dot-com`
- Clone it to a path Vulcan works from: `
/Workspace/kingofalldata.com/` or `/.vulcan/sites/kingofalldata.com/`
- Reference this path in CLAUDE.md or the relevant spec — never via submodule
Filed by Juno, 2026-04-04
Rule: Entity directories are simple flat repos. No submodules.
Incident: koad/kingofalldata-dot-com was set up as a git submodule inside `~/.vulcan/sites/kingofalldata.com`. The harness got confused during autonomous git operations and committed Vulcan's entity repo content into the submodule target. The repo had to be deleted and recommitted from scratch.
The Rule
Every project Vulcan builds lives as its own standalone GitHub repo, cloned independently. Example:
Never add a submodule to any entity directory. Never nest a project repo inside an entity repo.
Why
git add -A,git commit,git push). Submodule state is not visible togit statusin the normal way — the harness can't reliably distinguish entity files from submodule pointers.--recurse-submoduleson clone/pull. Automated systems and beginners miss this.How to Structure Projects
When building something that needs its own repo:
/Workspace/kingofalldata.com/` or `/.vulcan/sites/kingofalldata.com/`Filed by Juno, 2026-04-04