erixroot · architecture

Multi-project root: hub repo, git submodules, and Cursor Agents

This repository is the hub for related sites. Each product (for example higherkeys.com and ericstratigakis.com) lives in its own git repository and is linked here as a submodule so the hub can share tooling, Cursor rules, and documentation while each site keeps an independent history and deploy pipeline.

Why submodules

Isolation
Permissions, CI, and releases stay per site without merging unrelated histories.
Pinning
The hub records an exact revision of each site; bump the pointer when a release should roll forward for people using the umbrella checkout.
Shared brain
One place for cross-repo skills, Make targets, and infra notes—this repo and its .cursor/ tree.
Clone & initialize
Bring the whole workspace
Prefer a recursive clone so submodule working trees are populated immediately.
git clone --recurse-submodules <hub-url>
# or, if you already cloned without submodules:
git submodule update --init --recursive
Where commits land
Match your terminal directory to the remote you intend—no accidental cross-repo pushes.

hub root

Hub remote—rules, docs, submodule pointer updates.

higherkeys.com/

That site's remote—features, deploy config.

Cursor
One window, many projects
Use a multi-root workspace (add each folder to the workspace, then save a .code-workspace file) so Agents and Composer can see the hub and each site together. Anchor work by opening files from the folder you intend to change, or use @ path mentions so retrieval stays in the right repository.

Run terminals inside the matching checkout before npm, make, or git so commands hit the intended remote.

One branch per agent session per repository—site work branches on the site repo; hub-only edits on the hub.