Does every gem need its own Git repository?
No. Shared shards work in any directory, including non-Git folders and subfolders of a larger repository. A gem needs to be its own repository root only when you want isolated shards, because each isolated shard needs a Git branch and worktree rooted at that gem.