Project dashboard
Widgets of every extension for the chosen project: running scripts, branch and last commits, database connections, missing .env keys, HTTP requests, to-dos. Drag, resize, choose.
Open source ยท runs on your machine
Kelbo is a local web dashboard for the things you do every day: npm scripts, Git, databases, SSH tunnels, .env files, HTTP requests and mock servers โ for all your projects, side by side, in a single interface.
127.0.0.1: no cloud, no accountA working day jumps between terminals, a Git client, a database client, Postman, a notes app and a few SSH sessions kept open just for a tunnel. Kelbo puts them together around your projects: choose one and see its scripts, its branch, its database connections, its requests and its to-dos.
It is a small Node.js server with a plain HTML interface, started with npm start and opened in the browser. Your data stays in a config.json you can export and import; passwords and secrets are encrypted with a master password. Kelbo is also an MCP server, so AI agents such as Claude can read the state of your environment and run what you allow.
The built-in sections, each one an extension that can be turned off or moved to the header.
Widgets of every extension for the chosen project: running scripts, branch and last commits, database connections, missing .env keys, HTTP requests, to-dos. Drag, resize, choose.
One ๐ panel for all projects, grouped in folders and imported from a folder in one go. Traits (Git, Node.js, .env, scriptsโฆ) are detected, so every section shows only the projects it makes sense for.
Run package.json scripts as tracked processes with live output, listening ports, restart and stop of the whole process group; dependencies with installed version and npm outdated.
Status and selective commit, commit graph with branch legend, pull/push/merge/stash, branch panel. Diff of each changed file and a merge editor for conflicts: ours, theirs, both.
MySQL/MariaDB with query tabs, several statements at once, parametric queries, inline editing, table designer and migration files written to your repository. Every change is shown and confirmed first.
Port forwarding through the aliases of your ~/.ssh/config, grouped by environment, with automatic reconnection, header pills and notifications. Database connections can go through them.
Every .env* of a project compared with its template: missing, extra and empty keys. Values hidden by default, edits that keep comments and order.
Sections of requests per API with variables, user types with automatic tokens (OAuth/OIDC too), Express routes found in your code, files and multipart, the npm output of the project next to the response.
Local servers answering with predefined responses and logging every incoming call with its payload.
AI agents (Claude Code, Claude Desktop, any MCP client) can read tunnels, repositories, scripts and schemas, run read-only queries and start npm scripts โ with a token you control.
Database passwords, tokens, notes and script prescripts are encrypted with AES-256-GCM; the key lives only in memory while the vault is unlocked.
One JSON file for your whole setup, with checkboxes per section; encrypted secrets travel with it and need the same master password.
Installable from the ๐งฉ panel with one click, updated from the interface, rolled back to the previous version if needed. The official ones:
mongo-clientConnections by host, URI or SSH tunnel, mongosh editor with suggestions, documents as JSON or table with inline editing, indexes and collections designer, export as JSON, CSV or script.
notesTo-do lists and sticky notes per project, encrypted with the master password, placed and resized freely on a board.
scriptThe scripts in bin, scripts, toolsโฆ of your projects โ JavaScript, TypeScript, shell, PowerShell โ run as tracked processes, with encrypted prescripts in your own shell (bash, zsh, fish).
pm2PM2 processes: list, start, stop, restart, delete and streaming logs; npm scripts started under PM2 from the NPM section.
portsListening TCP ports with the process behind them, linked to what Kelbo started; stop the process that holds a port.
swaggerPreview of an OpenAPI .yaml/.json file loaded from disk.
From Kelbo: ๐งฉ Extensions โ Catalog โ Install, or from the command line:
npm run ext -- install mongo-client
An extension is a folder with a manifest, a backend module and a frontend module: you can write your own and install it from a Git URL. Extension contract โ
You need Node.js 18 or later. Clone the repository and start it:
git clone https://github.com/kelbodev/kelbo.git
cd kelbo
npm install
npm start
Then open http://127.0.0.1:3500. Add your projects from the ๐ panel (or import a whole folder) and you are ready.
git for the Git sectionssh for tunnels (autossh is used when available)pm2 for the PM2 extensionlsof or ss to show the ports of running scriptsConfiguration, environment variables, security notes and the MCP setup are in the README ยท CHANGELOG
Kelbo and its official extensions are free software released under the Apache License 2.0: use it, change it and share it, also in commercial settings.
Bugs and ideas are welcome as GitHub issues.
Kelbo is built in spare time and is free. If it saves you time every day, a donation helps keep it going.
Donate with PayPalOne-off or recurring, any amount. Thank you!