IDE Agent Kit
Connect your IDE coding agents into real-time teams through OpenClaw. Filesystem-based message bus, room polling, automation rules, and multi-model agent coordination. Zero dependencies.
Security Model
This skill operates in two tiers:
Core (local-only, no credentials needed):
- Local filesystem queue and receipt log — agents read/write files in the working directory
init,receipt tail,memory(local backend),keepalive— no network, no secretsservebinds to127.0.0.1only by default — receives webhooks, writes to local queue
Advanced (requires explicit opt-in and credentials):
sessions,gateway— talk to an OpenClaw gateway (requiresopenclaw.tokenin config)poll— connects to Ant Farm rooms (requires--api-keyflag)emit,hooks create— POST data to external URLs you specifytmux run,exec— execute shell commands (restricted to an allowlist in config)
No advanced features activate without explicit configuration. The default init config has empty credential fields and a minimal command allowlist.
Network behavior
| Command | Outbound connections | Inbound connections |
|---|---|---|
init, receipt tail, memory (local), keepalive | None | None |
serve | None | localhost:8787 only (configurable) |
poll | Ant Farm API (HTTPS) | None |
sessions, gateway | OpenClaw gateway (localhost by default) | None |
emit | User-specified URL | None |
hooks create | User-specified webhook URL | None |
Command execution
tmux run and exec only run commands listed in tmux.allow in your config. Default allowlist: npm test, npm run build, pytest, git status, git diff. Commands not on the list are rejected.
exec adds an approval flow: commands go through exec request → human/agent exec resolve before running.
Quick Start
npm install -g ide-agent-kit
ide-agent-kit init --ide claude-code
Creates a local ide-agent-kit.json config. All credential fields are blank. Nothing connects to any server until you configure it.
Connectivity Modes
Four modes that compose freely. Only mode 1 is active by default.
1. Local Filesystem Bus (default)
Agents on the same machine communicate through a shared queue directory and receipt log. No network, no server, no API keys.
- Queue:
./ide-agent-queue.jsonl - Receipts:
./ide-agent-receipts.jsonl
2. Webhook Relay Server (optional)
Receives inbound webhooks from GitHub/GitLab and writes them to the local event queue.
ide-agent-kit serve [--config <path>]
Binds to 127.0.0.1:8787 by default. Set github.webhook_secret in config to verify signatures. Does not make outbound connections.
3. Ant Farm Room Polling (optional)
Connects to Ant Farm rooms for cross-machine coordination.
ide-agent-kit poll --rooms <room1,room2> --api-key <key> --handle <@handle> [--interval <sec>]
Requires: --api-key flag (Ant Farm API key). Rate-limited, default 120s interval.
4. GitHub Events (optional)
When serve is running, point a GitHub webhook at your relay URL. Translates PR/issue/CI events into local queue events.
Requires: github.webhook_secret in config to verify inbound signatures.
Commands
Core (local-only, no credentials)
| Command | Description |
|---|---|
init [--ide <name>] [--profile <balanced|low-friction>] | Generate starter config |
receipt tail [--n <count>] | Print last N receipts |
watch [--config <path>] | Watch event queue, nudge IDE session on new events |
serve [--config <path>] | Start webhook relay server (localhost only) |
memory list|get|set|search | Manage agent memory (local file backend) |
keepalive start|stop|status | Prevent macOS sleep for remote sessions |
Advanced (requires credentials or explicit config)
| Command | Requires | Description |
|---|---|---|
sessions send --agent <id> --message <text> | openclaw.token | Send message to agent via gateway |
sessions spawn --task <text> | openclaw.token | Spawn a new agent session |
sessions list|history|status | openclaw.token | Query sessions |
gateway trigger|health|agents | openclaw.token | Gateway operations |
poll --rooms <r> --api-key <k> --handle <h> | Ant Farm API key | Poll rooms for messages |
emit --to <url> --json <file> | None (user specifies target) | POST event JSON to a URL |
hooks create --webhook-url <url> | None (user specifies target) | Create webhook forwarder |
tmux run --cmd <command> | Allowlisted commands only | Run command in tmux, capture receipt |
exec request|resolve|list | Allowlisted commands only | Execution approval workflow |
cron add|list|remove|run|status | openclaw.token | Scheduled task management |
Configuration
Generated by ide-agent-kit init. All credential fields default to empty.
| Field | Purpose | Default |
|---|---|---|
listen.host | Webhook server bind address | 127.0.0.1 |
listen.port | Webhook server port | 8787 |
tmux.allow | Allowlisted shell commands | [npm test, npm run build, pytest, git status, git diff] |
openclaw.token | Gateway auth (advanced commands) | empty |
github.webhook_secret | Verify GitHub webhooks | empty |
Data Access
| Path | Access | Purpose |
|---|---|---|
ide-agent-receipts.jsonl | append | Audit log of all agent actions |
ide-agent-queue.jsonl | read/write | Event queue |
ide-agent-kit.json | read | Runtime configuration (may contain secrets) |
memory/ | read/write | Local agent memory files |
Source & Verification
- npm: https://www.npmjs.com/package/ide-agent-kit
- Source: https://github.com/ThinkOffApp/ide-agent-kit
- Maintainer: petruspennanen (npm), ThinkOffApp (GitHub)
- License: AGPL-3.0-only
The npm package contains no install scripts (preinstall/postinstall). All code is plain ESM JavaScript. Verify with npm pack --dry-run before installing.