portman-tui
v1.0.2
Published
π Beautiful TUI for managing ports - kill processes, find free ports, and more
Maintainers
Readme
π PortMan TUI
A beautiful, modern Terminal User Interface (TUI) for managing ports on your system. Kill processes, find free ports, and monitor active connections - all with a stunning interface.
β¨ Features
- π¨ Beautiful TUI - Modern interface with gradients, animations, and smooth interactions
- π Real-time Search - Filter ports by number, process name, or PID
- β‘ Kill Processes - Interactive process termination with confirmation
- π Find Free Ports - Quickly locate available ports in a range
- π Auto-refresh - Live monitoring of active ports
- π Cross-platform - Works on macOS, Linux (Ubuntu, Debian, Fedora, Arch), and Windows
- β¨οΈ Keyboard Navigation - Full keyboard control for power users
π¦ Installation
Global Installation (Recommended)
npm install -g portman-tuiRun without Installing
npx portman-tuiLocal Installation
npm install portman-tuiπ Usage
Launch TUI
portmanQuick Commands
# List all active ports
portman list
# Kill process on specific port
portman kill 3000
# Find available port
portman find
# Find port in specific range
portman find --range 3000-4000β¨οΈ Keyboard Shortcuts
| Key | Action |
| ------- | ------------------------ |
| / | Enter search mode |
| β β | Navigate port list |
| β β | Toggle kill confirmation |
| Enter | Select/Confirm |
| ESC | Go back/Cancel |
| Q | Quit application |
π― Use Cases
Development
- Quickly find which process is using port 3000
- Free up ports when switching between projects
- Monitor multiple services running simultaneously
DevOps
- Check port conflicts on servers
- Identify rogue processes
- Quick port management in CI/CD pipelines
System Administration
- Monitor network services
- Troubleshoot port binding issues
- Clean up orphaned processes
π οΈ Requirements
- Node.js >= 18.0.0
- Operating System: macOS, Linux, or Windows
- Permissions: May require sudo/admin rights to kill certain processes
π Platform-Specific Notes
macOS
Uses lsof command (pre-installed). No additional setup required.
Linux (Ubuntu/Debian/Fedora/Arch)
Uses lsof, ss, or netstat (usually pre-installed). If not available:
# Ubuntu/Debian
sudo apt-get install lsof net-tools
# Fedora/RHEL
sudo dnf install lsof net-tools
# Arch
sudo pacman -S lsof net-toolsWindows
Uses built-in netstat and tasklist commands. No additional setup required.
ποΈ Development
Setup
# Clone repository
git clone https://github.com/sidgaikwad/portman.git
cd portman
# Install dependencies
npm install
# Run in development mode
npm run devScripts
npm run build # Build TypeScript
npm run dev # Run with tsx
npm run lint # Run ESLint
npm run lint:fix # Fix linting issues
npm run format # Format code with Prettier
npm run format:check # Check formatting
npm run type-check # TypeScript type checking
npm run clean # Clean build directoryProject Structure
portman/
βββ src/
β βββ cli.tsx # CLI entry point
β βββ components/
β β βββ App.tsx # Main application component
β β βββ Header.tsx # Header with branding
β β βββ PortList.tsx # Port listing component
β β βββ SearchBar.tsx # Search interface
β β βββ KillConfirmation.tsx # Kill dialog
β β βββ Footer.tsx # Keyboard shortcuts footer
β βββ utils/
β βββ portUtils.ts # Port management logic
βββ .github/
β βββ workflows/
β βββ ci.yml # CI pipeline
β βββ release.yml # Release automation
βββ package.json
βββ tsconfig.json
βββ README.mdContributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to:
- Follow the existing code style
- Run
npm run lintandnpm run formatbefore committing - Add tests for new features
- Update documentation as needed
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Built with Ink - React for CLIs
- Inspired by modern TUI design principles
- Thanks to all contributors!
π Issues
Found a bug? Have a feature request? Please open an issue.
π§ Contact
Your Name - @yourtwitter - [email protected]
Project Link: https://github.com/sidgaikwad/portman
Made with β€οΈ by Your Name
