PackSync — Auto-Install and Enable VSCode Extensions Per Workspace From a Config File
Your team has a 47-step onboarding doc just to install VSCode extensions. PackSync reads a single .vscode/team-extensions.json and installs, enables, and configures every extension automatically on workspace open. Onboarding drops from 45 minutes to zero.
Difficulty
intermediate
Category
Developer Tools
Market Demand
High
Revenue Score
7/10
Platform
VS Code Extension
Vibe Code Friendly
No
Hackathon Score
6/10
Validated by Real Pain
— sourced from real community discussions
Developers must manually enable or disable extensions per workspace through the UI instead of via a committed config file, causing friction and inconsistency during team onboarding.
What is it?
Every engineering team has the same dirty secret: half the team is missing ESLint, Prettier, or the GraphQL plugin because someone forgot to mention it in the wiki. VSCode's built-in extensions.json only recommends — it never installs. PackSync is a VSCode extension that reads a declarative config file, auto-installs missing extensions, enables workspace-scoped ones, and disables conflicting global ones on open. Team leads commit one file, and every developer's environment is identical from day one. Buildable right now using VSCode Extension API vscode.extensions and the built-in workspaceContains activation event — no new APIs needed, stable since VSCode 1.70.
Why now?
Remote-first teams exploded post-2023 and DevEx tooling is the hottest engineering investment right now — VSCode has 73% IDE market share and still has no native auto-install for team configs.
- ▸Auto-install missing extensions listed in .vscode/team-extensions.json on workspace open (Implementation note: spawn code --install-extension via child_process)
- ▸Workspace-scoped enable/disable without touching global profile
- ▸Conflict detection that warns when a global extension shadows a team one
- ▸One-command CLI to generate team-extensions.json from current workspace state
Target Audience
Engineering team leads and DevEx engineers at 5-50 person startups — roughly 200k teams actively managing VSCode environments.
Example Use Case
Sarah leads a 12-person frontend team. She commits team-extensions.json with ESLint, Prettier, Tailwind IntelliSense, and GitLens. Every new hire clones the repo, opens VSCode, and is fully configured in under 60 seconds without reading a single doc.
User Stories
- ▸As an engineering team lead, I want to commit a single config file so that every new hire has an identical VSCode environment without any manual steps.
- ▸As a new hire, I want my VSCode to auto-configure on first open so that I can write code on day one instead of reading setup docs.
- ▸As a DevEx engineer, I want to detect extension conflicts across the team so that linting and formatting rules are consistent.
Done When
- ✓Auto-install: done when opening a workspace with team-extensions.json installs all listed extensions without any user clicks.
- ✓Conflict detection: done when a warning toast appears listing global extensions that conflict with workspace-required ones.
- ✓Config generation: done when running the CLI command outputs a valid team-extensions.json from the current workspace state.
- ✓License gate: done when teams over 10 seats see an upgrade prompt and are blocked from adding more members until payment completes.
Is it worth building?
$12/month per team x 100 teams = $1,200 MRR at month 3. $12/month x 500 teams = $6,000 MRR at month 8. Math: 5% conversion from 2,000 GitHub stars via targeted dev Twitter outreach.
Unit Economics
CAC: $8 via dev.to content + Reddit. LTV: $144 (12 months at $12/month). Payback: 1 month. Gross margin: 88%.
Business Model
SaaS subscription per team
Monetization Path
Free for solo devs, $12/month per team (up to 10 seats), $49/month for unlimited seats. License key injected via VSCode settings sync.
Revenue Timeline
First dollar: week 3 via first team upgrade. $1k MRR: month 3 at 85 paying teams. $5k MRR: month 9.
Estimated Monthly Cost
Vercel for license API: $20, Supabase for team billing: $25, Stripe fees: $15, Paddle or LemonSqueezy for VSCode-compatible licensing: $10. Total: ~$70/month.
Profit Potential
Part-time viable at $2k–$5k MRR, full-time at $10k MRR with team plan upsells.
Scalability
High — team seat expansion, org-level config inheritance, Cursor and Windsurf support as additional targets.
Success Metrics
50 installs week 1, 5 paying teams month 1, 85% 30-day retention measured by workspace open events.
Launch & Validation Plan
Post in r/vscode and r/webdev asking if teams have extension onboarding pain, DM 10 DevEx engineers on LinkedIn offering free beta.
Customer Acquisition Strategy
First customer: DM 20 engineering leads on LinkedIn who post about developer experience, offer 6 months free for a case study. Then: submit to VSCode Marketplace, post on r/vscode, tweet at popular dev YouTubers, write a dev.to article titled 'Stop writing VSCode setup docs'.
What's the competition?
Competition Level
Low
Similar Products
VSCode built-in extensions.json (only recommends, never installs), Workspace Config Plus (outdated, no team billing), Settings Sync (syncs personal not team config). Gap: none auto-install with team billing.
Competitive Advantage
VSCode's native extensions.json only recommends — never installs. No other extension auto-installs AND enables workspace-scoped extensions from a config file.
Regulatory Risks
Low regulatory risk. License key storage requires basic encryption at rest.
What's the roadmap?
Feature Roadmap
V1 (launch): auto-install, workspace enable/disable, conflict detection, CLI generator. V2 (month 2-3): org-level config inheritance, install analytics dashboard. V3 (month 4+): Cursor and Windsurf support, SSO via GitHub.
Milestone Plan
Phase 1 (Week 1-2): JSON schema, install logic, activation event ship. Phase 2 (Week 3-4): billing, license check, Marketplace publish. Phase 3 (Month 2): 50 installs, 5 paying teams, iterate on conflict UX.
How do you build it?
Tech Stack
VSCode Extension API, TypeScript, Node.js child_process for CLI installs, Mocha for tests — build with Cursor for extension logic, v0 for settings UI webview
Suggested Frameworks
VSCode Extension API, TypeScript, Yeoman vscode-generator
Time to Ship
2 weeks
Required Skills
TypeScript, VSCode Extension API, basic Node.js CLI invocation.
Resources
VSCode Extension API docs, code.visualstudio.com/api, vsce publish docs.
MVP Scope
src/extension.ts (activation + install logic), src/configReader.ts (parse team-extensions.json), src/installer.ts (CLI spawn wrapper), src/ui/statusBar.ts (progress indicator), package.json (manifest + activation events), .vscode/team-extensions.schema.json (JSON schema for config), test/installer.test.ts (unit tests), README.md (install + usage docs), .env.example (license key env var)
Core User Journey
Install extension -> commit team-extensions.json -> new hire clones repo -> opens VSCode -> all extensions installed automatically.
Architecture Pattern
Workspace open event -> extension activates -> reads .vscode/team-extensions.json -> diffs against installed extensions -> queues installs via CLI -> updates status bar -> pings license API for team seat check.
Data Model
Team has many Members. Team has one Config (team-extensions.json hash). Member has many InstallLogs. InstallLog records extension ID, timestamp, success/fail.
Integration Points
VSCode Extension API for install and enable, LemonSqueezy for team billing, Supabase for license validation, Resend for team invite emails.
V1 Scope Boundaries
V1 excludes: settings sync, snippet sync, mobile/web UI, Cursor/Windsurf support, SSO, org-level hierarchy.
Success Definition
A paying team of 8 onboards a new hire who is fully configured in under 90 seconds without any manual steps.
Challenges
VSCode Marketplace rate limits on bulk installs can throttle onboarding — must queue installs with backoff. Distribution is the hard part: getting teams to adopt yet another VSCode extension requires a viral GitHub README hook.
Avoid These Pitfalls
Do not try to replace VSCode Settings Sync — scope strictly to extension management only. Do not build a webview dashboard before validating CLI-only install works reliably. Finding first 10 paying teams takes longer than building — budget 3x dev time on distribution.
Security Requirements
License keys hashed in Supabase with RLS. Rate limit license validation API to 60 req/min per key. No user code or file contents transmitted.
Infrastructure Plan
License API on Vercel Edge Functions, Supabase for team and license data, LemonSqueezy for billing, GitHub Actions for vsce publish CI.
Performance Targets
Extension activation under 300ms. Install queue processes one extension per 2s to avoid Marketplace rate limits. License check under 200ms.
Go-Live Checklist
- ☐Security audit complete.
- ☐Payment flow tested end-to-end.
- ☐Error tracking (Sentry) live.
- ☐Monitoring dashboard configured.
- ☐Custom domain set up with SSL.
- ☐Privacy policy and terms published.
- ☐5+ beta teams signed off.
- ☐Rollback plan documented.
- ☐Launch post drafted for r/vscode and ProductHunt.
First Run Experience
On first run: extension activates and shows a status bar item. User can immediately: run the CLI command to generate a team-extensions.json from their current workspace. No manual config required: schema validation works out of the box with zero settings.
How to build it, step by step
1. Define team-extensions.json schema with required fields: extensionId, enabledInWorkspace, disableGlobally. 2. Run yo code to scaffold a TypeScript VSCode extension. 3. Implement configReader.ts to parse and validate the JSON schema. 4. Implement installer.ts using child_process.spawn to run code --install-extension. 5. Add workspaceContains activation event in package.json pointing to team-extensions.json. 6. Build status bar item showing install progress. 7. Add conflict detector comparing installed global vs workspace extensions. 8. Wire LemonSqueezy license key check on team-size-gated features. 9. Write Mocha unit tests for installer and configReader. 10. Verify: open a fresh VSCode workspace with team-extensions.json and confirm all extensions install and enable without any manual steps.
Generated
May 14, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.