A comprehensive port management tool for developers with CLI and GUI interfaces
npm install portkeeperA comprehensive port management tool for developers that helps reserve, monitor, and manage local development ports through both CLI and GUI interfaces.
š Website: portkeeper.net | portkeeper.dev
š¦ npm: portkeeper
š GitHub: ahmadzein/portkeeper
If you encounter a NODE_MODULE_VERSION error after installation, please run:
``bash`
npm rebuild -g better-sqlite3
This rebuilds the native module for your specific Node.js version.
bash
CLI only (lightweight)
npm install -g portkeeperCLI + GUI (includes Electron)
npm install -g portkeeper --include=optionalVerify installation
portman --version
`$3
`bash
Clone the repository
git clone https://github.com/ahmadzein/portkeeper.git
cd portkeeper
npm install
npm run build
npm link
`$3
The GUI is included with Port Keeper:`bash
Launch the GUI (requires --include=optional during install)
portman guiIf GUI not found, install with:
npm install -g portkeeper --include=optional
`Note: The GUI requires Electron (~100MB). Install with
--include=optional to get GUI support.Quick Start
$3
`bash
Check if a port is available
portman check 3000Reserve a port for your project
portman reserve 3000 --name "my-app" --desc "React dev server" --tags frontend reactRequest multiple ports automatically
portman request 5 --name "microservices" --sequentialList all reserved ports
portman listScan for active ports with reservation info
portman scan --reservedRelease ports when done
portman release 3000 3001 3002Kill a process using a port
portman kill 8080Export your team's port configuration
portman export team-ports.json
`$3
`bash
Launch the GUI application
portman gui
`In the GUI:
- Dashboard: Manage all your reserved ports
- Scan View: See active ports with reservation details
- Quick Actions: Reserve, release, or kill processes with one click
- Keyboard Shortcuts: Press
? to see all shortcutsDocumentation
- š CLI Command Reference - Detailed CLI documentation with examples
- š„ļø GUI User Guide - Complete GUI walkthrough
- šļø Technical Architecture - System design and structure
- š Feature Parity Matrix - CLI/GUI feature comparison
Development
$3
- Node.js >= 18.0.0
- npm or yarn
- SQLite3$3
`bash
Clone the repository
git clone https://github.com/ahmadzein/portkeeper.git
cd portkeeperInstall dependencies
npm installBuild the project
npm run buildRun CLI in development
npm run dev:cliRun GUI in development
npm run dev:guiRun tests
npm testLink for global CLI usage
npm link
`Architecture
Port Keeper follows a layered architecture with shared core functionality between CLI and GUI:
- Core Layer: Business logic, models, and services
- Data Layer: SQLite database for persistence
- CLI Layer: Commander.js based command-line interface
- GUI Layer: Electron + React desktop application
Contributing
We welcome contributions! Please see our Contributing Guide for details.
$3
1. Fork the repository
2. Create your feature branch (git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add amazing feature')
4. Push to the branch (git push origin feature/amazing-feature`)This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ā¤ļø by developers, for developers
- Special thanks to all contributors
- Inspired by the need for better port management in modern development
- š Website: portkeeper.net
- š¦ npm: npmjs.com/package/portkeeper
- š Issues: GitHub Issues
---
Port Keeper - Never worry about port conflicts again! š