Try GitHub repo memory
statewave-connectors sync github \
--repo smaramwbc/statewave \
--subject repo:smaramwbc/statewave \
--dry-runFeed GitHub, Slack, Discord, docs, support tickets, email, and workflow events into Statewave as durable episodic memory — so your agents recall projects, customers, communities, and decisions, not just the last few chat turns.
Modular packages — install only what you need. The full connector lineup — including the new Jira and database source connectors — is published on npm.
Connectors & integrations
Every connector normalizes its source events into the same Statewave episode shape — so agents query memory by subject (repo:, customer:, community:, contact:) without caring which tool the data came from.
Modular architecture
Connectors live in their own monorepo and ship as separate packages. Install only what you need — using GitHub doesn’t pull in Slack, Notion, or Gmail dependencies, and credentials are scoped per connector.
The convenience meta-package @statewavedev/connectors re-exports the official connectors for the rare case where you want them all at once. It is not required for normal usage.
Track the rollout in the connectors roadmap. Source lives in the monorepo.
Quick start
Every connector supports --dry-run — mapped episodes are printed without being sent anywhere. The CLI refuses to ingest unless STATEWAVE_URL is set.
Try GitHub repo memory
statewave-connectors sync github \
--repo smaramwbc/statewave \
--subject repo:smaramwbc/statewave \
--dry-runSync local docs and ADRs
statewave-connectors sync markdown \
--path ./docs \
--subject repo:smaramwbc/statewave \
--dry-runStart the MCP server
statewave-connectors mcp startFAQ
It normalizes one source system’s events into the same Statewave episode shape, written under a stable subject prefix — repo:owner/name for code, customer: for support, community: for chat, contact: for mail. Because every connector emits the same contract, an agent queries memory by subject without knowing which tool a fact came from, and the compiler and the ranking model treat a Jira ticket and a Slack thread identically.
GitHub (issues, pull requests, comments, reviews, releases), Jira, Slack, Discord, Notion, Zendesk, Intercom, Freshdesk, Gmail, n8n, Zapier, SQL databases, and local Markdown docs, ADRs, and RFCs. The MCP server runs the other direction: it exposes Statewave itself to Copilot, Claude, Cursor, and any MCP-compatible client. All of them ship as separate packages under Apache-2.0.
No — that is why they are modular packages rather than one binary. Install only the connectors for the systems you actually run, and add more later without touching the runtime or migrating anything: a new source appends new episodes under its own subjects, and existing compiled memories are untouched. A repo-memory-only deployment is just the GitHub and Markdown packages.
Only what you allow. It authenticates with a bot token and requires an explicit --channels allowlist, then pulls channel and thread history and subscribes to the Events API for messages, reactions, and pins. Direct messages (dm:<user>) and group DMs (mpim:<channel>) are opt-in behind --include-dms and --include-mpim, and stay off unless you pass them. Per-memory sensitivity labels and the policy engine then govern who can read the result.
Answers last checked against the Statewave docs and repositories on .
The core stays clean. Connectors are optional, modular, independently versioned, and never required to use Statewave.
Building your own connector? Read the connector contract to understand the shared interface, episode model and dry-run workflow.