any server.
one panel.
kern turns any folder on your computer into a managed server instance — with a live terminal, per-process telemetry, and graceful lifecycle. web servers, discord bots, local apis. teach it new types with plugins.
every status is a signal. kern renders instance state as arrays of light-emitting micro-nodes — a glowing core, concentric rings, a slow sweep. green is running, amber is transitional, crimson is fault. the panel never lies about what’s alive.
// live terminal
stream stdout. pipe stdin.
process stdout/stderr streamed live to the ui, appended to latest.log, with full ansi color parsing, dimmed timestamps, and command history. the input box is a command dispatcher.
// lifecycle
start. stop. restart. gracefully.
driven by each plugin’s lifecycle manifest. commands support {{userOverrides.*}} templating resolved at launch by rust.
// graceful shutdown
15-second timeout before hard-kill.
deliberately tuned so in-flight requests finish — active connections drain before teardown. no silent drops.
// file editor
edit in place. safe paths.
monaco editor with a file tree, tabbed multi-file editing, path-traversal protection, and drag-and-drop copy from the os.
explorer
- web_api
- app.js
- .env
- package.json
- src
- routes
- nodemon.json
# server config
PORT=3000
NODE_ENV=production
LOG_LEVEL=info
CORS_ORIGIN=https://myapp.com// plugins
teach it new server types.
the app is intentionally generic. plugins teach it how to run each type of server — a .kern file with a manifest, a config schema, lifecycle commands, and an isolated ui bundle.
// download
install kern
native desktop app. windows ships first; macos and linux as available. the app auto-updates itself — signed.
no release asset data right now — the build couldn’t reach github.
download from github