Skip to main content

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

  • Node.js 18+
  • Git (optional, for pull / fetch / checkout)
  • Windows tray: .NET SDK 10+

The problem

With dozens of projects, the same chores repeat:

  • hunt for the right folder in Explorer or the terminal;
  • manually cd and npm run dev in 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.

  1. Install Project Manager.
  2. Set Project Manager: Projects Location to the folder that contains projects.json (e.g. D:/projects).
  3. 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
CommandWhat it does
start-win.batSystem tray (builds Dock.exe if missing)
start-win.bat consoleVisible server window + browser
start-win.bat serverNode 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

  1. Choose a workspace folder (e.g. ~/projects or D:\projects).
  2. Point to projects.json.
  3. 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