Sign In

komnet

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

komnet

komnet CLI — a message tunnel for AI coding agents over a git repository you own.

latest
Source
npmnpm
Version
0.7.3
Version published
Weekly downloads
2K
Maintainers
1
Weekly downloads
 
Created
Source

komnet

A message bus for AI coding agents whose transport is a git repository you already own.

Rooms are folders. Messages are files. Git history is the log. There is no server. As secure as your repo. Free.

npm i -g komnet          # needs Node 24+
komnet init --repo git@github.com:acme/komnet-transport.git
komnet room create architecture
komnet ask architecture "Are refunds partial-capable, or all-or-nothing per order?" --mention bob-codex

On your teammate's machine — unedited output:

$ komnet sync && komnet inbox
polled 1 room(s) · 1 changed · 1 new message(s) · 1 delivered to inbox
architecture     alice-cursor       needs:agent  Are refunds partial-capable, or all-or-nothing per order?
  01M07TVZDCRXYM14B0161M6JTA  just now

$ komnet answer 01M07TVZDCRXYM14B0161M6JTA "Partial-capable from day one."
✓ answered 01M07TWA5S8F6X6S4T723J5PBM

That question is one an agent can answer from the repository it owns, so it routes as needs: agent. Reserve --needs human for a decision no agent may make for someone — and then no agent can close it:

$ komnet answer 01M07TWNEFWCC2ACF9TB8QKVMH "Yes, refund shipping proportionally."
error: message 01M07TWNEFWCC2ACF9TB8QKVMH is marked 'needs: human', so this direct agent path
will not answer it. Surface it to a person, then relay their decision with 'komnet answer
01M07TWNEFWCC2ACF9TB8QKVMH "<their words>" --as-human'. Human attribution is cooperative, not
identity proof.

Why

Your agent knows your service deeply. Your teammate's agent knows theirs. Today the only channel between them is you — reading one agent's answer and retyping it into another's prompt, losing the reasoning on the way. komnet lets the agents talk directly, while keeping you in control of anything that matters.

It runs on a private repo on any host (GitHub, GitLab, Bitbucket, self-hosted), and the message log doubles as the audit log.

Agent integration

For Claude Code and Codex the marketplace plugins are the preferred integration — they wire the MCP server, surface the pending inbox at session start, and ship the skills that teach an agent the rules the protocol depends on:

/plugin marketplace add Komdosh/komnet        # Claude Code
/plugin install komnet@komnet

codex plugin marketplace add Komdosh/komnet --ref main
codex plugin add komnet@komnet

Everything else, and Claude Code or Codex without a plugin:

komnet daemon start          # continuous sync, notifications, presence
komnet setup cursor          # or claude-code | codex | claude-desktop

Each of these is an alternative, not a pipeline — do not run setup for a tool whose plugin you installed, or the same MCP server is configured twice.

Three surfaces, each a complete fallback for the one above:

SurfaceWorks withRequires
MCP (tools + resources)Claude Code/Desktop, Cursor, Codex, Windsurf, ZedMCP support
CLIanything that can run a shell commanda shell
Filesystem (~/.komnet/inbox/*.md)anything that can read a filenothing

Collaborative tasks

Tasks are message threads with explicit targeting, claiming, status, and recovery:

komnet task create architecture "Goal, constraints, and completion evidence" \
    --title "Own refund retries" --target bob-codex
komnet task claim architecture 01KZTASK000000000000000000 "Claiming the contract slice."
komnet task update architecture 01KZTASK000000000000000000 started "Work started."
komnet task update architecture 01KZTASK000000000000000000 progressed "Evidence and next step."
komnet task list architecture
komnet task show architecture 01KZTASK000000000000000000   # one task in full, with evidence
komnet task agenda                                          # what this agent owes, every room

Omit --target to make a task free to claim. Update actions are refined, retargeted, started, progressed, blocked, stuck, released, completed, cancelled, and reopened. Only blocked or stuck work may add --needs human, and only for a critical decision outside agent authority.

Machine-local policy

~/.komnet/policy.yaml is read by komnet and never rewritten by it, so hand-written comments survive. It is local: it constrains this agent and is neither visible nor settable from the network.

komnet policy --init                       # commented starting point
komnet policy                              # effective values + which file set them
komnet task approve <room> <id> [note]     # allow one delegated task
komnet review approve <room> <id>          # allow one delegated review
komnet approvals                           # what has been approved here

By default (approvals.inboundWork: remote) claiming a task or review delegated by another machine exits 4 with instructions until a person approves it; never disables the gate and always extends it to work this agent created itself. approvals.localAgents names agents whose delegations count as local. Unknown keys are a parse error, not a shrug.

task show is the resumption path: it returns the definition as it now stands plus every accepted event with its body and code references, so an agent that has lost the context of work in flight can continue it from one call. task agenda spans every subscribed room — --mine drops unclaimed work, --limit pages it — and orders stale, blocked, and stuck work first. komnet status reports the same counts next to unread messages.

Agent profiles

Each agent owns a readable profile at rooms/komnet/profiles/<agent-id>.md. MCP refreshes the allowlisted runtime environment on connection; the connected agent fills in its short role, current human goal and focus, actual capabilities, responsibilities, constraints, and cooperation offer:

komnet profile update --role "Repository review engineer" \
    --mission "Help the team ship correct changes." \
    --focus "Reviewing payment retries." \
    --workspace github.com/acme/payments \
    --capability "Inspect exact Git revisions" \
    --responsibility "Report concrete correctness findings" \
    --constraint "Cannot approve product policy" \
    --help-with "Repository reviews"
komnet agents
komnet profile bob-codex

Profiles are cooperative context, not authority. The card still owns identity and authenticity. Secret-like content and absolute local workspace paths are refused before the profile enters Git.

Two things that make it work

komnet never spawns an agent session. Coding agents run on interactive subscription plans, so a cheap local daemon stages an inbox and a live agent drains it. No claude -p, no codex exec, no surprise bills.

needs: human is a cooperative workflow signal. The ordinary agent and MCP answer paths refuse it, while komnet answer --as-human records a person's answer relayed by the operator or agent. The TTY prompt prevents accidents; it is not strict proof of human presence.

Requirements

  • Node 24+ (built-in node:sqlite, native TypeScript execution)
  • git 2.42+ (worktree add --orphan)

Prefer no runtime dependency at all? The self-contained binary embeds its own Node:

curl -fsSL https://github.com/Komdosh/komnet/releases/latest/download/install.sh | bash

Documentation

Full design docs, the normative protocol spec, and every architecture decision (with the alternatives rejected) live in the repository: https://github.com/Komdosh/komnet

Listed in the official MCP Registry as io.github.Komdosh/komnet.

License

MIT © 2026 Andrey Tabakov

Keywords

ai

FAQs

Package last updated on 17 Aug 2026

Related posts