Dock
Dock is a local hub for multiple projects — npm scripts, git, and a terminal in one window. No accounts or cloud; the project list stays in sync via projects.json and Project Manager in VS Code / Cursor.
A project is any folder on disk.
Requirements
The problem
With dozens of projects, the same chores repeat:
- hunt for the right folder in Explorer or the terminal;
- manually
cdandnpm run devin every repo; - check git status and branches one repo at a time.
The solution
Dock brings this into one place: categories, filters, one-click script runs, and a terminal with live logs. Nothing goes to the cloud; no accounts.
What it does:
- Project list with the Project Manager extension in the IDE via
projects.json— edits on either side are picked up automatically; - Categories in the sidebar with drag-and-drop and optional numeric prefixes (
01. Work,02. Personal); - One-click npm / pnpm / yarn scripts;
- Integrated terminal with session tabs and SSE logs;
- Create project folders or clone repositories;
- Windows tray — background server and quick UI open;
Polyglot Keeper is used inside Dock for locale sync.
Project Manager
The project list lives in projects.json, compatible with Project Manager for VS Code, Cursor, and other editors.
- Install Project Manager.
- Set Project Manager: Projects Location to the folder that contains
projects.json(e.g.D:/projects). - Edit the list in Dock or in the IDE — changes stay in sync.
Categories in Dock map to Project Manager groups.
Quick start
Windows
Clone the repository and run:
git clone https://github.com/davidaganov/dock.git
cd dock
start-win.bat
| Command | What it does |
|---|---|
start-win.bat | System tray (builds Dock.exe if missing) |
start-win.bat console | Visible server window + browser |
start-win.bat server | Node only (used by the tray) |
UI: http://127.0.0.1:3848
macOS / Linux
git clone https://github.com/davidaganov/dock.git
cd dock
chmod +x start.sh
./start.sh background
Or npm start after npm install.
First launch
- Choose a workspace folder (e.g.
~/projectsorD:\projects). - Point to projects.json.
- Add existing folders or create / clone projects into categories.
Configuration
Local dock-config.json stores paths and UI preferences. Example in the repository.
A project entry in projects.json:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "my-app",
"rootPath": "D:\\projects\\my-app",
"tags": ["personal"],
"enabled": true
}
Development
git clone https://github.com/davidaganov/dock.git
cd dock
npm install
npm start
npm run format
npm run tray:build # Windows tray
npm run translate # polyglot-keeper