https://github.com/ljlm0402/packmate
♻️ Your friendly companion for smart dependency updates and cleanup.
https://github.com/ljlm0402/packmate
npm npm-package packmate
Last synced: about 2 months ago
JSON representation
♻️ Your friendly companion for smart dependency updates and cleanup.
- Host: GitHub
- URL: https://github.com/ljlm0402/packmate
- Owner: ljlm0402
- License: mit
- Created: 2025-05-29T23:40:34.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-06-28T06:49:13.000Z (3 months ago)
- Last Synced: 2025-08-09T12:54:20.587Z (about 2 months ago)
- Topics: npm, npm-package, packmate
- Language: JavaScript
- Homepage: http://npm.im/packmate
- Size: 1.79 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
PackMate
♻️ Your smart and friendly CLI assistant for dependency updates and cleanup
---
Packmate is a modern CLI tool for managing, updating, and cleaning up your Node.js project dependencies.
It supports **npm**, **pnpm**, and **yarn**. With an intuitive interactive UI, Packmate helps you keep your project healthy and up-to-date—faster and safer than ever.## 🤖 Why Packmate?
- Cleaner and more focused than most legacy dependency updaters.
- Safer: latest packages cannot be selected by mistake.
- Faster: only recommended version upgrades are suggested by default.
- Supports monorepos and modern workspaces (pnpm, yarn, npm).## 🚀 Features
- **Detects outdated dependencies** and suggests updates with recommended (major/minor) versions.
- **Finds and removes unused packages** from your project.
- **Detects declared but not installed packages** and helps install them easily.
- **Protects up-to-date packages:** disables selection for already latest packages.
- **Smart version suggestions**: Only shows the latest version for each major release.
- **Modern CLI interface:** powered by [@clack/prompts](https://github.com/natemoo-re/clack).
- **Works with npm, pnpm, and yarn** – auto-detects your package manager.## 💾 Installation
```sh
npm install -g packmate
# or
pnpm add -g packmate
# or
yarn global add packmate
```You can also run it instantly with:
```sh
npx packmate
```## 📝 Usage
From your project root, just run:
```sh
packmate
```**Typical Workflow Example:**
```sh
┌ 📦 Packmate: Dependency Updates & Cleanup
│
◆ Select the packages you want to update/remove/install:
│ ◻ globby 13.2.2 → 14.1.0 [Update Available]
│ ◻ precinct [Not Installed]
│ ◻ chalk 4.1.2 [Unused]
│ ◻ npm-check-updates 16.14.20 → 18.0.1 [Update Available]
│ ◼ @clack/prompts 0.11.0 [Latest]
│ ◼ fs-extra 11.1.1 [Latest]
└globby - choose a version to update (current: 13.2.2):
● 14.1.0 (major) [recommended]
○ 13.4.2 (minor) [recommended]
○ 13.2.3 (patch)
...precinct is not installed. Install now?
> pnpm add precinct@latestchalk is unused. Remove now?
> pnpm remove chalknpm-check-updates - choose a version to update (current: 16.14.20):
● 18.0.1 (major) [recommended]
○ 17.5.0 (minor)
...> pnpm add globby@14.1.0
> pnpm remove chalk
> pnpm add precinct@latest
> pnpm add npm-check-updates@18.0.1✔️ Package update completed: globby@14.1.0
✔️ Package removal completed: chalk
✔️ Package install completed: precinct@latest
✔️ Package update completed: npm-check-updates@18.0.1Packmate done! 🙌
```## ⚙️ Requirements
- Node.js v16 or later (recommended)
- Supports npm, yarn, and pnpm
- Works on Mac, Linux, and Windows## 🔑 CLI Options
No extra options needed—just run packmate in your project directory.
All selections (update, remove, install) are interactive.## 🧑💻 Contributing
PRs and issues are welcome!
- Fork the repo and submit pull requests.
- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages.
- File bugs or suggestions via [GitHub Issues.](https://github.com/ljlm0402/packmate/issues)## 📑 Recommended Commit Message
```
✨ Add user profile edit feature- Implement profile image update UI/UX
- Add API integration for profile updateBREAKING CHANGE: Restructure profile page layout
```| When | Commit Message |
| :--------------------- | :--------------------- |
| Add Feature | ✨ Add Feature |
| Fix Bug | 🐞 Fix Bug |
| Refactor Code | 🛠 Refactor Code |
| Install/Update Package | 📦 Install Package |
| Remove Package | 🗑️ Remove Package |
| Fix/Update README | 📚 Fix Readme |
| Update Documentation | 📝 Update Docs |
| Update Version | 🌼 Update Version |
| New Template | 🎉 New Template |
| Improve Performance | ⚡ Improve Performance |
| Add/Update Test | ✅ Add/Update Test |
| Fix Lint/Format | 🎨 Fix Lint/Format |
| Chore/Miscellaneous | 🔧 Chore |
| Initial Commit | 🎈 Initial Commit |## 📄 License
MIT © [AGUMON (ljlm0402)](mailto:ljlm0402@gmail.com)
## 🌎 Links
- [GitHub](https://github.com/ljlm0402/packmate)
- [npm](https://www.npmjs.com/package/packmate)