npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@saadeh/ext-sync

v1.1.1

Published

Extension sync tool for sharing editor setups

Downloads

201

Readme

@saadeh/ext-sync

🔄 A simple CLI tool for syncing and sharing VS Code/Cursor/Antigravity extensions across teams and projects.

npm version License: MIT

🚀 Why ext-sync?

Ever joined a new project and spent hours installing the "right" extensions? Or wanted your entire team to use the same development setup? ext-sync solves this by letting you:

  • 📦 Import your current extensions into a shareable config file
  • 🔄 Sync extensions from a config file (perfect for onboarding)
  • 🎯 Initialize projects with stack-specific extensions (React, Laravel, NestJS, JavaScript)
  • Smart filtering - only installs extensions you don't already have

📥 Installation

npm install -g @saadeh/ext-sync

📁 Configuration File

The ext-sync.json file is dead simple. It just contains a list of your extensions:

{
  "extensions": [
    "esbenp.prettier-vscode",
    "dbaeumer.vscode-eslint",
    "eamodio.gitlens"
  ]
}

1. Initialize new setup

If you are starting fresh, use the interactive menu to install recommended extensions for your stack (e.g., React, Laravel, Python).

ext-sync
# Select "Initialize new setup"
  • 📦 Installs recommended extensions for your chosen stack.
  • 💾 Creates ext-sync.json with these extensions.
  • Appends to the list if you run it again for another stack.

2. Import existing extensions

If you already have a perfect setup, save it!

ext-sync
# Select "Import extensions"
  • 📥 Reads all your currently installed extensions.
  • 💾 Saves them to ext-sync.json.
  • 🔄 Merges with existing list if the file already exists.

3. Sync extensions

Install everything in your config to your current editor.

ext-sync
# Select "Sync extensions"
  • 🚀 Installs all extensions listed in ext-sync.json.
  • Efficient: Only installs what is missing.
  • 🕵️ Smart: Automatically detects if you are using VS Code, Cursor, or Antigravity.

The ext-sync.json file supports multiple stacks:

{
  "editor": "antigravity",
  "stacks": ["react", "laravel"],
  "extensions": {
    "react": [
      "dsznajder.es7-react-js-snippets",
      "esbenp.prettier-vscode",
      "dbaeumer.vscode-eslint"
    ],
    "laravel": [
      "bmewburn.vscode-intelephense-client",
      "onecentlin.laravel-blade"
    ]
  }
}

Commit this file to your repo so your team can sync instantly!

🎯 Supported Editors

  • VS Code (including Snap installations)
  • Cursor
  • Antigravity

The tool automatically detects which editor you're using.

🛠️ Supported Stacks

Frontend:

  • ⚛️ React / React Native
  • 🟢 Vue.js
  • 🅰️ Angular
  • 🟠 Svelte
  • 💛 JavaScript / TypeScript

Backend:

  • 🐘 Laravel (PHP)
  • 🦁 NestJS
  • 🐍 Python
  • ☕ Java
  • 🐹 Go
  • 🦀 Rust
  • 🇨 C/C++
  • 🔷 C# (.NET)

Mobile:

  • 📱 Flutter
  • 🤖 Kotlin (Android)
  • ⚛️ React Native

💡 Curious about what's installed? Check out the full list of curated extensions in src/data/extensions.js. We include essential tools (Prettier, ESLint) plus productivity boosters (GitLens, snippets, etc.) for each stack.

🤝 Team Workflow

  1. Developer A (project lead):

    ext-sync
    # Select "Import extensions"
    git add ext-sync.json
    git commit -m "Add editor extensions config"
  2. Developer B (new team member):

    git clone your-repo
    cd your-repo
    ext-sync
    # Select "Sync extensions"

Done! Developer B now has the exact same extensions.

🔧 Requirements

  • Node.js >= 20.0.0
  • One of: VS Code, Cursor, or Antigravity

📝 License

MIT © Moemen

🐛 Issues & Contributions

Found a bug or want to contribute? Check out the GitHub repository.


Made with ❤️ by Moemen