ROIpad ← Back to Search
github.com › repository issue

ADR-006: Extension Modularization & Install Infrastructure

gsd-build/gsd-2
Status: Open
Opened: Mar 28, 2026
Comments: 6
# ADR-006: Extension Modularization & Install Infrastructure **Status:** Proposed **Date:** 2026-03-28 **Deciders:** Jeremy McSpadden ## Context GSD2 ships as a monolith: 177K LOC in the core `gsd` extension, 20 bundled extensions, 19 bundled skills, 842 MB `node_modules`. Every user gets everything — playwright, koffi, every AI provider SDK, every skill — whether they use it or not. The extension system infrastructure is mature (discovery, registry, manifests, enable/disable, rich ExtensionAPI), but everything ships bundled. There is no mechanism to install, update, or uninstall extensions after initial setup. ### Problems 1. **Bloated install size** — 842 MB node_modules; users who never use browser automation still download playwright (14 MB); macOS-only koffi costs 86 MB for everyone 2. **Slow startup** — 20 extensions loaded eagerly; barrel import in cli.ts pulls 57K LOC on every invocation 3. **Monolithic core** — 177K LOC gsd extension is a single unit with deep internal coupling; modifying one feature risks breaking others 4. **Architecture coupling** — shared → gsd reverse dependency, gsd ↔ cmux bidirectional coupling, 5+ extensions import gsd/preferences.js by file path 5. **Provider SDK waste** — 48 MB of AI provider SDKs loaded even though users typically use 1-2 providers ## Decision Modularize GSD2 across 7 milestones (v1.3–v1.9), each independently shippable: ### v1.3: Foundation & Install Infrastructure - Remove unused root dependencies, relocate misp...
TypeScript
View on GitHub ↗
Related Content