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 🙏

© 2026 – Pkg Stats / Ryan Hefner

multiprofilekit

v0.9.0

Published

Create isolated app profiles and Windows shortcuts for VS Code, Chrome, and Edge

Readme

MultiProfileKit (mpk)

Create isolated app profiles and shortcuts for VS Code, Chrome, and Edge on Windows.

MultiProfileKit helps you manage multiple isolated environments for your development tools and browsers. Perfect for separating work/personal profiles, dev/staging/production environments, or different project contexts.

Installation

npm install -g multiprofilekit

Quick Start

  1. Create a configuration file (e.g., profiles.json):
{
  "shortcutRoot": "%USERPROFILE%\\Desktop\\MyProfiles",
  "apps": {
    "vscode": {
      "exe": "%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\Code.exe",
      "profiles": [
        {
          "id": "work",
          "label": "VSCode - Work",
          "workspace": "C:\\Projects\\work-project"
        },
        {
          "id": "personal",
          "label": "VSCode - Personal",
          "workspace": "C:\\Projects\\personal-project"
        }
      ]
    },
    "chrome": {
      "exe": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
      "profiles": [
        {
          "id": "work",
          "label": "Chrome - Work",
          "startUrl": "https://mail.google.com"
        }
      ]
    }
  }
}
  1. Run the CLI:
mpk profiles.json
  1. Use your profiles: Find shortcuts in %USERPROFILE%\Desktop\MyProfiles\ and double-click to launch!

What It Does

  • Creates isolated profile directories under %LOCALAPPDATA%\SimpleMutliApp\
    • Each profile has its own settings, extensions (VS Code), cookies, and history (browsers)
  • Generates Windows shortcuts that automatically launch apps with the correct profile
  • Keeps your environments separate - no more accidentally using work extensions in personal projects!

Commands

Create Profiles and Shortcuts

mpk <config-file.json>

Creates profile directories and shortcuts based on your configuration.

View Agent Documentation

mpk generate-agent-docs

Displays comprehensive agent instructions on the console. Useful for AI assistants working with MultiProfileKit.

Save Agent Documentation

# Save to current directory (default: mpk-agent-instructions.md)
mpk generate-agent-docs -f

# Save to custom path
mpk generate-agent-docs -f <path>
mpk generate-agent-docs -f docs/agent-guide.md

Creates a markdown file with complete instructions for AI agents and developers. The -f flag accepts an optional path parameter.

Get Help

mpk --help

Check Version

mpk --version

Use Cases

Separate Work and Personal Environments

Keep your work and personal browsing completely isolated with separate Chrome/Edge profiles, each with its own bookmarks, cookies, and history.

Multiple Development Environments

Create VS Code profiles for different projects or environments (dev/staging/production), each with its own extensions, settings, and workspace.

Project-Based Profiles

Set up dedicated profiles for each client or project, with pre-configured workspaces and browser start URLs.

Team Standardization

Share configuration files with your team to ensure everyone has the same profile setup.

Advanced Features

Transparent Default Arguments (v0.9.0+)

NEW in v0.9.0: All command-line arguments (including --user-data-dir and --extensions-dir) are now fully transparent and configurable via JSON!

Previously, arguments like --user-data-dir were hardcoded. Now you can see and customize ALL arguments:

{
  "apps": {
    "vscode": {
      "exe": "%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\Code.exe",
      "defaultArgs": [
        "--user-data-dir=\"{userDataDir}\"",
        "--extensions-dir=\"{extensionsDir}\"",
        "{workspace}"
      ],
      "profiles": [
        {
          "id": "work",
          "label": "VSCode - Work",
          "workspace": "C:\\Projects\\work"
        }
      ]
    },
    "chrome": {
      "exe": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
      "defaultArgs": [
        "--user-data-dir=\"{userDataDir}\"",
        "{startUrl}"
      ],
      "profiles": [
        {
          "id": "work",
          "label": "Chrome - Work",
          "startUrl": "https://mail.google.com"
        }
      ]
    }
  }
}

Available Variables:

  • {appId} - Application identifier (e.g., "vscode", "chrome")
  • {profileId} - Profile identifier (e.g., "work", "dev")
  • {basePath} - SimpleMutliApp base directory
  • {profileDir} - Resolved profile directory
  • {userDataDir} - Resolved user-data directory
  • {extensionsDir} - Resolved extensions directory (VSCode only)
  • {workspace} - VSCode workspace path
  • {startUrl} - Browser start URL

Example: VSCode without isolated extensions

Share extensions across all profiles while keeping settings separate:

{
  "apps": {
    "vscode": {
      "exe": "%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\Code.exe",
      "defaultArgs": [
        "--user-data-dir=\"{userDataDir}\"",
        "{workspace}"
      ],
      "profiles": [...]
    }
  }
}

Example: Custom Firefox configuration

{
  "apps": {
    "firefox": {
      "exe": "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
      "defaultArgs": [
        "-profile",
        "\"{profileDir}\"",
        "{startUrl}"
      ],
      "profiles": [
        {
          "id": "work",
          "label": "Firefox - Work",
          "startUrl": "https://mozilla.org"
        }
      ]
    }
  }
}

Custom Arguments (v0.8.0+)

Add additional command-line arguments (appended after defaultArgs):

{
  "apps": {
    "chrome": {
      "defaultArgs": [
        "--user-data-dir=\"{userDataDir}\"",
        "{startUrl}"
      ],
      "args": [
        "--disable-sync",
        "--no-first-run"
      ],
      "profiles": [...]
    }
  }
}

Argument Order: defaultArgsargsargTemplates

Argument Templates (v0.8.0+)

Create reusable argument patterns with variables:

{
  "apps": {
    "chrome": {
      "argTemplates": {
        "debug": "--remote-debugging-port=9222 --log={profileDir}/debug.log"
      }
    }
  }
}

Environment Variables (v0.8.0+)

Set custom environment variables for each profile:

{
  "apps": {
    "vscode": {
      "envVars": {
        "PROJECT_NAME": "{profileId}",
        "PROJECT_ROOT": "{profileDir}"
      }
    }
  }
}

See resources/configs/args-feature-example.json for complete examples.

Custom Directory Templates (v0.7.0+)

Customize where profile directories are created:

{
  "apps": {
    "chrome": {
      "profileDirTemplate": "%LOCALAPPDATA%/MyApp/{appId}/{profileId}",
      "userDataTemplate": "{profileDir}/custom-data"
    }
  }
}

Configuration

MultiProfileKit uses JSON configuration files. Key features:

  • Transparent default arguments: Full control over all launch arguments (v0.9.0+)
  • Environment variables: Use %USERPROFILE%, %LOCALAPPDATA%, etc.
  • VS Code workspaces: Specify default workspace paths for each profile
  • Browser start URLs: Set default URLs that open when launching browser profiles
  • Flexible shortcuts: Choose where shortcuts are created
  • Custom arguments: Add command-line flags and options (v0.8.0+)
  • Environment variables: Set custom env vars per profile (v0.8.0+)
  • Directory templates: Customize profile directory structure (v0.7.0+)

See example configurations in resources/configs/profiles.sample.json and resources/configs/args-feature-example.json.

Requirements

  • Windows (uses PowerShell to create .lnk shortcuts)
  • Node.js 18.0.0 or higher

AI Assistant Integration

MultiProfileKit includes comprehensive documentation for AI assistants. To share with your AI coding assistant:

mpk generate-agent-docs -f agent-instructions.md

Then share the generated agent-instructions.md file with your AI assistant to help it understand how to use and configure MultiProfileKit.

Documentation

  • User Guide: This README
  • Agent Instructions: Run mpk generate-agent-docs for AI assistant documentation
  • Project Details: See project.md for development setup and architecture

Support

License

MIT


Tip: Pin the generated shortcuts to your Windows Taskbar or Start Menu for quick access to your profiles!