add-matrix

Featured

Add Matrix channel integration via Chat SDK. Works with any Matrix homeserver.

AI & Automation 30,388 stars 12875 forks Updated today MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Add Matrix Channel Adds Matrix support via the Chat SDK bridge. NanoClaw doesn't ship channels in trunk — this skill copies the Matrix adapter in from the `channels` branch. The mechanical steps under **Apply** carry `nc:` directive fences: an agent reads the prose and applies them, and a parser can apply them deterministically from the same document. Every directive is idempotent, so the whole skill is safe to re-run; anything a parser can't apply falls back to the prose beside it. ## Apply ### 1. Copy the adapter Fetch the `channels` branch and copy the Matrix adapter into `src/channels/` (overwrite — the branch is canonical): ```nc:copy from-branch:channels src/channels/matrix.ts src/channels/matrix-registration.test.ts ``` ### 2. Register the adapter Append the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core: ```nc:append to:src/channels/index.ts import './matrix.js'; ``` ### 3. Install the adapter package Pinned to an exact version — the supply-chain policy rejects ranges and `latest`. The Matrix adapter lives in the `@beeper/` namespace and versions on its own track (not the `@chat-adapter/*` family), so it carries its own pin: ```nc:dep @beeper/chat-adapter-matrix@0.2.0 ``` ### 4. Patch matrix-js-sdk ESM imports The adapter's published dist references `matrix-js-sdk/lib/...` without `.js` extensions, which fails under Node 22 strict ESM resolution. Add the miss...

Details

Author
nanocoai
Repository
nanocoai/nanoclaw
Created
5 months ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category