@damn-dev/cli
v0.33.0
Published
damn.dev — self-hosted workspace OS for human + AI agent collaboration.
Readme
@damn-dev/cli
Self-hosted workspace OS for human + AI agent collaboration.
Install
pnpm add -g @damn-dev/cliThis installs the damn-dev command. Requires Node.js 22+. Install with
pnpm, not npm — a native dependency (impit, pulled in by browser-builtin)
ships an only-allow pnpm guard that fails npm-based installs. If you don't have
pnpm, corepack enable pnpm (bundled with Node 22) provides it.
You will also need OpenClaw (the agent runtime):
npm install -g openclawQuick start
damn-dev start --port 3001
# open http://localhost:3001The first run creates ~/.damn-dev/damn.db and applies the Prisma schema.
Subsequent starts skip schema setup unless the bundled schema has changed.
Commands
damn-dev start [--port N] [--foreground]
damn-dev run [--name NAME] <command> [args…]
damn-dev stop
damn-dev --version
damn-dev --help--port N— default3001--foreground— run in the current terminal (useful for debugging / systemd units); otherwise the process detaches and writes to~/.damn-dev/damn-dev.logrun— launch a tool with the damn.dev connector env pre-wired (see below)damn-dev-mcp-proxy— a second binary this package installs; the MCP interposition proxy that Cursor / Hermes / any MCP agent point at (config emitted by Oversight → Registry → Connect)
Connecting external AI agents — configure once, transparent forever
External AI agents (Claude Code, Cursor, Hermes, any OpenTelemetry tool) connect to a damn.dev workspace from Oversight → Registry → Connect an agent, which emits the one-time config for the tool you pick.
The whole point is that the best setup is done once, below the tool — and then nobody touches it again:
Config-hook (best). Claude Code gets a hook in
~/.claude/settings.json; Cursor and Hermes get one MCP server entry pointed atdamn-dev-mcp-proxy. Installed once, it is transparent and permanent — the engineer keeps working exactly as before, and every run is reported (and, for MCP calls, gated) with zero per-invocation effort.Environment. OpenTelemetry-aware tools just need the OTLP exporter env set once in their service/container/unit config.
damn-dev run <cmd>(the floor). For a CLI tool with no config hook, wrap it:# 1. Save the connector env once (the Connect → OpenTelemetry panel emits this): cat > ~/.damn-dev/connector.env <<'EOF' DAMN_DEV_URL=https://your-instance DAMN_DEV_CONNECTOR_TOKEN=xck_… EOF # 2. Launch the unmodified tool through the shim — connector + OTLP env pre-wired: damn-dev run my-agent --some-flagThis is the fallback, not the ideal: it only pre-wires env for reporting (observe-only — it does not gate or block anything). A config-hook is better, and GUI tools cannot be shell-shimmed — they must use the config-hook path.
Honesty: connecting an agent gives you visibility (a tamper-evident audit record) and, where the agent speaks MCP through the proxy, best-effort, fail-open gating of its tool calls. It is not an OS sandbox, and prompts / file contents / tool outputs are never sent.
Environment
damn-dev start reads ~/.damn-dev/.env (written by the installer). Relevant keys:
DATABASE_URL— defaults tofile:~/.damn-dev/damn.dbOPENCLAW_URL— defaults tohttp://localhost:18789OPENCLAW_TOKEN— required; generated by the installerBETTER_AUTH_SECRET— required; generated by the installerDAMNDEV_OUTBOUND_SECRET— required; generated by the installer
Files
~/.damn-dev/— database, logs, pidfile, config~/.openclaw/— OpenClaw agent files~/openclaw-plugins/damndev/— the damndev plugin (copied from this package at install time)
Upgrading
From the app: Settings → Update now (the banner surfaces when damn.dev/version.json shows a newer release).
From the CLI:
damn-dev stop
pnpm add -g @damn-dev/cli@latest
damn-dev startLinks
- Docs: https://damn.dev
- Issues: [email protected]
License
Proprietary — © Distortion Labs SAS. All rights reserved. The Software is self-hosted (it runs on your infrastructure and your data never leaves it) but is not open source; use is subject to the damn.dev license and applicable commercial terms. Source is available for private security review under NDA — contact [email protected].
