add-matrix

Featured

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

AI & Automation 30,743 stars 12840 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. Configure the ESM patch The published adapter references `matrix-js-sdk/lib/...` without `.js` extensions, which fails under Node 22 strict ESM resolution. Register the committed pnpm patch before installing the package. pnpm reapplies it after every install and fails if the pinned package drifts away from the patch: ```nc:copy patches/@beeper__chat-adapter-matrix@0.2.0.patch ``` ```nc:run effect:refresh pnpm pkg set 'pnpm.patchedDependencies[@beeper/chat-adapter-matrix@0.2.0]=patches/@beep...

Details

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

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category