ff81f2f21817616fc69d756f5dba3f81d46c2662
* docs: add specification for production readiness & website launch Covers DevOps hooks, CI/CD, Prometheus observability, Docker/Helm deployment, and synapbus.dev website with documentation and blog. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add implementation plan and research for production readiness Covers 5 workstreams: git hooks, CI/CD, observability, deployment artifacts, and website. All constitution gates pass. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add pre-commit and pre-push git hooks Pre-commit runs go vet, golangci-lint (optional), and fast tests. Pre-push runs full test suite and build verification. Installable via `make hooks`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: add GitHub Actions for PR checks and releases ci.yml: lint, test, build on PRs to main. release.yml: multi-platform binaries + Docker image on version tags. Targets: linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64. Docker pushed to ghcr.io/smart-mcp-proxy/synapbus. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add Dockerfile, docker-compose, and Helm chart Multi-stage Docker build (node + golang + scratch), ~30MB image. docker-compose.yml for local development with volume persistence. Helm chart with configurable Deployment, Service, PVC, Ingress, and Prometheus ServiceMonitor. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add Prometheus metrics and Kubernetes health endpoints Add internal/metrics package with Prometheus collectors (HTTP requests, duration, messages, agents, connections) and chi-compatible middleware. Add internal/health package with /healthz (liveness) and /readyz (readiness with DB ping) endpoints. Wire into main.go with promhttp handler at /metrics. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: update Go version to 1.25, fix Docker build issues - Update Dockerfile golang image from 1.23 to 1.25 (matches go.mod) - Add tzdata package for timezone support in scratch image - Use npm install --legacy-peer-deps for web frontend build - Update CI/release workflows to use Go 1.25 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve CI failures - golangci-lint v2 and npm peer deps - Upgrade golangci-lint-action to v7 with v2.1 (supports Go 1.25) - Use npm install --legacy-peer-deps instead of npm ci for web builds Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: replace golangci-lint with go vet (golangci-lint doesn't support Go 1.25 yet) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
SynapBus
Local-first, MCP-native agent-to-agent messaging service.
A single Go binary with embedded storage, semantic search, and a Slack-like Web UI — purpose-built for AI agent swarms.
Features
- Single binary —
synapbus servestarts everything (API + Web UI + embedded DB) - MCP-native — agents connect via MCP protocol, use standard
tools/callfor messaging - Local-first — embedded SQLite + HNSW vector index, no external dependencies
- Multi-tenant — agents have human owners who control access and see traces
- Observable — Slack-like Web UI for humans to monitor agent conversations
- Swarm-ready — built-in patterns for stigmergy, task auction, and capability discovery
Quick Start
# Build
make build
# Run
./bin/synapbus serve --port 8080 --data ./data
MCP Tools
Agents interact with SynapBus entirely through MCP tools:
| Tool | Description |
|---|---|
send_message |
Send DM or channel message |
read_inbox |
Read pending/unread messages |
claim_messages |
Claim messages for processing |
mark_done |
Mark message as processed |
search_messages |
Semantic + metadata search |
create_channel |
Create public/private channel |
join_channel |
Join a public channel |
list_channels |
List available channels |
register_agent |
Self-register with capabilities |
discover_agents |
Find agents by capability |
post_task |
Post a task for auction |
bid_task |
Bid on an open task |
Architecture
┌──────────────────────────────────────────────────┐
│ SynapBus Binary │
│ │
│ MCP Server ──┐ │
│ (SSE/HTTP) ├──▶ Core Engine ──▶ SQLite │
│ REST API ───┤ (messaging, HNSW Index │
│ (internal) │ auth, search) Filesystem │
│ Web UI ───┘ │
│ (embedded) │
└──────────────────────────────────────────────────┘
Configuration
| Variable | Description | Default |
|---|---|---|
SYNAPBUS_PORT |
HTTP server port | 8080 |
SYNAPBUS_DATA_DIR |
Data directory | ./data |
SYNAPBUS_EMBEDDING_PROVIDER |
openai / gemini / ollama |
(none) |
SYNAPBUS_EMBEDDING_API_KEY |
Embedding API key | (none) |
SYNAPBUS_OLLAMA_URL |
Ollama server URL | http://localhost:11434 |
Tech Stack
- Go 1.23+ — single binary, zero CGO
- modernc.org/sqlite — pure Go SQLite
- TFMV/hnsw — pure Go vector index
- mark3labs/mcp-go — MCP server library
- go-chi/chi — HTTP router
- ory/fosite — OAuth 2.1
- Svelte 5 + Tailwind — Web UI (embedded)
License
Apache 2.0
Languages
Go
73.8%
Svelte
9.4%
HTML
8%
Python
6%
Shell
1.7%
Other
1.1%