
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
term-clean is a terminal TUI (Text User Interface) cleanup tool designed specifically for macOS users. It helps you easily manage, analyze, and clean up packages installed by various package managers (brew, npm, pnpm, yarn, pip).

Term-Clean is built for you if you've ever faced these scenarios:
"I have low disk space, but I don't know what's taking up space..."
📊 Term-Clean visualizes disk usage, helping you instantly spot large, unused packages.
"I'm afraid uninstalling ffmpeg will break my other tools..."
🛡️ With recursive dependency analysis and safe uninstall preview, you'll always know the impact before you act.
"I followed a tutorial, installed 20 packages, and now I'm afraid to touch them..."
🔍 Say goodbye to "dependency anxiety". Term-Clean clarifies what each package does and who needs it.

Note: term-clean is not yet published to npm. Please follow these steps to run locally:
Clone the repository
git clone https://github.com/daijinhai/TermClean.git
cd TermClean
Install dependencies
npm install
Run Options
Option A: Development Mode (Recommended for dev)
npm run dev # Start watch mode in one terminal
node dist/cli.js # Run the CLI in another terminal
Option B: Production Build (Recommended for testing)
npm run build
npm start
Option C: Global Link (Recommended for daily use)
npm link # Link package globally
term-clean # Run command directly
Future: Once published, you can install via
npm install -g term-clean.
Run the command directly to enter the interactive interface:
term-clean
Once in the interface, you can use the following shortcuts:
↑/↓: Move up and down in the package list.Tab / Shift+Tab: Switch between different package manager tabs (brew, npm, pip, etc.).Space: Check/uncheck packages.Enter: View detailed information for the highlighted package.p: Preview mode - View detailed information about selected packages and uninstall impact analysis.u: Quick uninstall - Uninstall selected packages with confirmation (skips preview).g: Upgrade selected packages to their latest versions.w: Toggle watch status for the highlighted package (monitor for updates).W: Batch watch - Add all selected packages to the watch list.v: Toggle update check for the highlighted package.a: Select/deselect all packages in the current view.i: Invert selection.s: Cycle through sort options (name → size → date)./: Enter search mode to filter packages by name.Esc (in search mode): Exit search and clear filter.r: Refresh scanning results.q: Exit the application.c (in preview mode): Confirm and execute uninstallation.
The interface uses intuitive icons to help you understand package status at a glance:
Automatic Update Detection: Term-Clean silently checks for package updates in the background. When updates are available, packages are marked with 🆙 and show the version upgrade path (e.g., 1.0.0 → 1.0.1).
Package Monitoring: Add frequently-used packages to your watch list with w. Watched packages are highlighted and their update status is tracked across sessions.
Intelligent Sorting: Press s to cycle through different sorting methods:
Search & Filter: Press / to enter search mode and type to filter packages in real-time. The search is case-insensitive and matches package names.
You can also use traditional command-line arguments:
# Filter only specific package managers
term-clean -m brew
# Start in debug mode (view detailed logs)
term-clean --debug
The project uses vitest for unit testing:
# Run all tests
npm test
# Run unit tests
npm run test:unit
The project adopts a layered architecture, ensuring good extensibility and maintainability:
BrewPackageManager, NpmPackageManager).PackageScannerService) and cleaning processes (PackageCleanerService).zustand to manage global reactive state (e.g., selected packages, list data).ink, responsible for TUI rendering.This project is open-sourced under the MIT License.
Issues and Pull Requests are welcome! If you find this tool useful, please give it a ⭐️.
FAQs
A TUI tool for managing and cleaning command-line packages on Mac
We found that term-clean demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.