MIP 2.1.0 — Quality of Life Update
Overview
This release focuses on improving the developer experience with new commands, better performance, and enhanced configuration management.
New Commands
mip registry — Manage Package Registries
Add, remove, list, and set default registries. Supports npm, GitHub Packages, GitLab Registry, and custom registries like Verdaccio or Artifactory.
mip registry add github https://npm.pkg.github.com/ --token ghp_xxx
mip registry set-default github
mip registry listmip config — Manage Configuration via CLI
View, set, delete, reset, and edit MIP configuration directly from the command line. No need to open mip.yml manually.
mip config set defaultRegistry github
mip config get version
mip config listmip server — Web Dashboard
A real-time web dashboard with 6 tabs: Overview, Packages, Store, Registries, Scripts, and System. Auto-refreshes every 3 seconds.
mip server start
mip server stop
mip server statusmip publish — Publish Packages
Publish packages to npm, GitHub Packages, GitLab, or custom registries. Supports authentication, build before publish, and dry runs.
mip publish --registry github
mip publish --build --tag beta
mip publish --dry-runmip alias — Command Aliases
Create shortcuts for frequently used commands. Aliases are stored globally in ~/.mip/aliases.yml and work across all projects.
mip alias set i install
mip alias set up update
mip alias listmip feel — Project Vibe
An experimental command that analyzes your project and gives it a "vibe" — productive, lazy, chaotic, zen, or inspired. Shows quotes and tips to keep you motivated.
mip feelmip bundle — Bundle Project
Bundle your project into a single file using esbuild. Supports minification, sourcemaps, and bundle analysis.
mip bundle index.js -o dist/bundle.js --minifymip clone — Clone Project Configuration
Create a snapshot of your project configuration and share it with others. Includes dependencies, scripts, workspaces, features, registries, and aliases.
mip clone create # Create snapshot
mip clone view # View snapshot
mip clone apply my-app # Create project from snapshotmip debug — CLI Debugger
A development tool that shows execution trace, loaded modules, timing information, and command output. Helps developers understand what MIP is doing under the hood.
node debug-mip.jsFeatures System
MIP now has a built-in features system with 57 configurable options. All features have default values and can be enabled or disabled individually.
mip --genconfig # Generate mip.config.yml with all features
mip --list-features # Show all available features
mip config set features.install.parallel true
mip config set features.config.enabled false # Disable ALL featuresKey Feature Categories
| Category | Examples |
|---|---|
| Install & Update | parallel, forceReinstall, saveExact, dryRun |
| Security & Audit | enabled, ignoreDev, ignoreLow, ignoreCritical |
| Caching | enabled, maxSize, ttl, path |
| Performance | parallelDownloads, useHardlinks, useMemoryCache |
| Logging & Debug | level, color, timestamp, showStack |
| Interactivity | promptOnInstall, promptOnDelete, autoConfirm |
| Registries | default, fallbackToNpm, strictSSL |
| Dependency Resolution | resolutionStrategy, dedupeOnInstall, hoist |
Security Improvements
Token Storage
Tokens are now stored securely in ~/.mip/registry.yml and are not stored in project config files (mip.yml, mip.json).
# ~/.mip/registry.yml — SAFE PLACE FOR TOKENS
github:
url: https://npm.pkg.github.com/
token: ghp_xxxGitHub Token Validation
mip doctor now validates GitHub tokens and warns if they are missing or invalid.
Performance Optimizations
MIP 2.1.0 is significantly faster. Here's what we improved:
Startup Time
| Before | After | Improvement |
|---|---|---|
| ~1072ms | ~133ms | 8x faster |
What Was Optimized
| Component | Before | After | Savings |
|---|---|---|---|
api-methods.js |
237ms | 10ms | 227ms |
bin/mip.js |
495ms | 80ms | 415ms |
registry.js |
200ms | 30ms | 170ms |
config.js |
15ms | 2ms | 13ms |
loader.js |
15ms | 1ms | 14ms |
store.js |
60ms | 5ms | 55ms |
peer-resolver.js |
50ms | 5ms | 45ms |
Techniques Used
- Lazy loading — modules load only when needed
- Caching — data cached with TTL
- Native HTTP — replaced axios with native
https.get - i18n optimization — load only the needed language
- Update check — cached once per day
Internationalization
MIP now supports 10 languages out of the box:
| Language | Code |
|---|---|
| English | en |
| Russian | ru |
| Spanish | es |
| German | de |
| French | fr |
| Japanese | ja |
| Korean | ko |
| Chinese | zh |
| Italian | it |
| Portuguese | pt |
Color tags are now supported in translations for better visual feedback.
Code Refactoring
What Was Refactored
| Before | After |
|---|---|
cli.js (monolithic) |
Split into modules: colors, helpers, progress, format |
bin/mip.js (500+ lines) |
Split into mip.js + mip-commands.js |
install.js (450 lines) |
Structured into logical functions |
api-methods.js |
Lazy loading with caching |
config.js |
Added caching support |
loader.js |
Added manifest caching |
store.js |
Added path and size caching |
registry.js |
Replaced axios with native HTTP |
peer-resolver.js |
Added caching support |
Breaking Changes
None.
Migration Notes
If you have tokens stored in mip.yml, move them to ~/.mip/registry.yml:
# Remove token from mip.yml (edit manually)
# Add token to ~/.mip/registry.yml
mip registry add github https://npm.pkg.github.com/ --token ghp_xxxContributors
- kiwinatra — development and maintenance 🥝
- YTG — help with developement🦟
- AI Assistance for ideas🐳
Links
- Website: https://mip.fwh.is
- Documentation: https://mipdocs.fwh.is
- GitHub: https://github.com/kiwinatra/mip
- Issues: https://github.com/kiwinatra/mip/issues
Full Changelog
Added
mip registry— manage package registriesmip config— manage configuration via CLImip server— web dashboardmip publish— publish packagesmip alias— command aliasesmip feel— project vibe analysismip bundle— bundle project into single filemip clone— clone project configurationmip debug— CLI debugger- Features system with 57 configurable options
mip --genconfig— generate feature configmip --list-features— list all features- 10 language support with color tags
- Token security with
~/.mip/registry.yml
Changed
- Full code refactoring for better maintainability
- Performance optimizations (8x faster startup)
- Replaced axios with native HTTP client
- Lazy loading for API methods
- Caching for config, manifest, store, and peer dependencies
- i18n optimization — load only needed language
- Update check cached once per day
Fixed
- Tokens no longer stored in
mip.yml - Better GitHub token validation
- Improved error handling
Removed
- axios dependency (replaced with native HTTP)
Made with ❤️ by the MIP team
(P.S thats better to just clone the repo and npm i, npm run build and that will work better)