multiprofilekit
v0.9.0
Published
Create isolated app profiles and Windows shortcuts for VS Code, Chrome, and Edge
Maintainers
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 multiprofilekitQuick Start
- 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"
}
]
}
}
}- Run the CLI:
mpk profiles.json- 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-docsDisplays 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.mdCreates a markdown file with complete instructions for AI agents and developers. The -f flag accepts an optional path parameter.
Get Help
mpk --helpCheck Version
mpk --versionUse 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: defaultArgs → args → argTemplates
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
.lnkshortcuts) - 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.mdThen 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-docsfor AI assistant documentation - Project Details: See project.md for development setup and architecture
Support
- Issues: GitHub Issues
- Repository: github.com/vrocky/MultiProfileKit
License
MIT
Tip: Pin the generated shortcuts to your Windows Taskbar or Start Menu for quick access to your profiles!
