A CLI tool for those small side projects that only run a few services. Harbor allows you to:
- 🛠️ Define your services in a configuration file
- 🚀 Launch your services in a tmux session
npm i -g @abyrd9/harbor-cli
Before using Harbor, make sure you have the following installed:
- Initialize your development environment:
harbor dock
- Add new services to your configuration:
harbor moor
- Launch your services:
harbor launch
Harbor uses a configuration file to manage your services:
Contains your service configurations that are used to launch the services:
{
"services": [
{
"name": "frontend",
"path": "./vite-frontend",
"command": "npm run dev"
},
{
"name": "api",
"path": "./go-api",
"command": "go run ."
},
{
"name": "dashboard",
"path": "./vite-frontend",
"command": "npx drizzle-kit studio"
}
]
}
-
harbor dock
: Generate a new harbor.json file -
harbor moor
: Add new services to your harbor.json file -
harbor launch
: Start all services defined in your harbor.json file in a tmux session
Harbor uses tmux for managing your services. Some useful shortcuts:
-
Ctrl+a d
: Detach from session -
Ctrl+a c
: Create new window -
Ctrl+a n
: Next window -
Ctrl+a p
: Previous window -
Ctrl+q
: Quit session
Contributions are welcome! Please feel free to submit a Pull Request.
MIT