chahinebrini 722388cb00 feat(server): emit SSE for CLI/file writes via filesystem watcher (TSK-0006)
Closes the documented /events limitation: mutations made through the
local CLI (direct file + SQLite writes, no --server) bypassed the
in-process event bus and were invisible to SSE subscribers. A watcher
(e.g. a Windows client) was therefore NOT triggered when another agent
created a task via plain `agenthub task create`.

- src/server/fsWatch.ts: watch the entity dirs (tasks/handoffs/
  decisions/memory); on any .md change, parse the entity and emit the
  matching AgentHubEvent. Debounced per-file; self-creates dirs so it
  attaches even before the first write.
- src/server/events.ts: shared dedup cache (signature = type🆔stamp)
  + emitChange() so the REST path and the watcher deliver each change
  exactly once (no echo when REST writes the file the watcher sees).
- src/server/routes.ts: route emits go through emitChange(); update the
  stale limitation comment.
- src/server/index.ts: start/stop the watcher with the server lifecycle.
- tests/sse.test.ts: CLI-write -> SSE, CLI-update -> SSE, and REST
  dedup (exactly-once). 102/102 green.

Effect: a watcher is auto-triggered the instant any agent creates a
task, with or without --server. Bump 0.1.0 -> 0.1.1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 15:43:33 +02:00
2026-06-24 23:24:57 +02:00
2026-06-24 23:24:57 +02:00

AgentHub

Local coordination layer for AI coding agents.

Install

AgentHub is not yet published to npm. Clone the repository, build it, and link it globally:

git clone https://git.rebreak.org/chahine/agenthub.git
cd agenthub
pnpm install
pnpm build
npm link

After npm link, the agenthub command is available everywhere.

Quick Start

agenthub init
agenthub task create --title "Implement DNS cache" --role implementer
agenthub handoff create --fromRole architect --toRole implementer
agenthub status --update

Supported Agents

  • Claude Code
  • Codex CLI
  • Kimi Code CLI

Network Mode

AgentHub can expose a project to other machines on the same network. Discovery is automatic: as soon as the host broadcasts, a client can find it without knowing the IP address.

On the host machine (e.g. Mac):

cd my-project
agenthub init
agenthub server start --host 0.0.0.0 --port 3377

On another machine (e.g. Windows) run init and accept the discovered server:

cd my-project
agenthub init          # asks to connect to the LAN server it found
agenthub task create --title "Windows task" --role implementer
agenthub status

For non-interactive setup, let init discover the server automatically:

agenthub init --server auto

After init, every command automatically talks to the configured server. You can still override it per command with --server http://<ip>:3377 or via the AGENTHUB_SERVER environment variable.

The init --server step only stores the server URL locally; it does not create a second project. The host machine keeps the single source of truth.

License

MIT

Description
No description provided
Readme 1.7 MiB
Languages
TypeScript 99%
PowerShell 1%