← knowledge.oriz.in

Each Chrome extension is its own GitHub repo, added as a submodule

decision extensionssubmodulesreposstructure

Each Chrome extension is its own GitHub repo, added as a submodule

Decision

Every extension is its own GitHub repository named chirag127/oriz-<slug>-ext, added to the master chirag127/oriz repo as a submodule under extensions/<slug>/. Extensions are not folders inside a monorepo.

Why

Each extension has its own release lifecycle (manifest version, store-review cadence, Chrome/Firefox/Edge submission timing) that shouldn't be coupled to the master repo's pointer bumps. Submodules preserve independent commit history and let each extension's CI publish to all 3 stores without master being involved. They also mirror the existing pattern used for sites under sites/, so the mental model stays consistent.

Implications

Cross-refs