Matterbridge eve room with history

September 20, 2026 · View on GitHub

npm version npm downloads Docker Version Docker Pulls Node.js CI CodeQL codecov tested with Vitest styled with Oxc linted with Oxc TypeScript Native ESM matterbridge.io

powered by powered by powered by powered by


This plugin shows how to use the Matter history and how to create a passive device in Matterbridge.

It creates a virtual air quality sensor device (Matter 1.2 so not all controllers show it) with air quality, TVOC, temperature and humidity that continuously changes state.

If you like this project and find it useful, please consider giving it a star on GitHub and sponsoring it.

Buy me a coffee

Prerequisites

Matterbridge

See the guidelines on Matterbridge for more information.

Style guide

See also the Style Guide for JSDoc, naming, and logging conventions used in this repository.

Repository toolchain

Note: This repository uses a new toolchain. It replaces the traditional TypeScript / ESLint / Prettier / Jest stack with a faster and lighter setup.

  • No typescript 6.x package — replaced by TypeScript Native 7.x.
  • No ESLint, no Prettier — replaced by the oxc stack: oxlint for linting and oxfmt for formatting.
  • No Jest — replaced by Vitest, which is much faster and natively supports ESM without extra configuration.
  • Far fewer development dependencies — the number of installed packages drops from ~600 to ~75. A clean install is much faster.
  • Much faster linting and formatting — oxlint and oxfmt run in a fraction of the time required by the ESLint / Prettier pipeline.
  • Much faster builds — tsgo compiles the project in a fraction of the time required by the standard tsc build.
  • Editor support — use the VS Code extensions for tsgo and oxc to get the same experience in the editor.

Shared agent instructions

All coding agents read the same guidance. AGENTS.md and .agents/ are the single source of truth; everything under .github/, .claude/, .codex/ and .antigravity/ are pointers and mirrors. Edit .agents/ (or AGENTS.md), never the copies. See .agents/README.md for the full layout.

FileNotes
AGENTS.mdMain project instructions — shared by every agent
.agents/README.mdLayout and versioning of the shared instructions
.agents/rules/testing.instructions.mdTesting standards for unit tests
.agents/rules/matterbridge.instructions.mdCreating endpoints and using the single-class devices
.agents/rules/plugin-frontend.instructions.mdServing a plugin's own frontend SPA and REST API
.agents/rules/chip-tests.instructions.mdThe CHIP conformance test harness
.agents/skills/verify-agent-context/SKILL.mdVerify the agent loaded this context — $verify-agent-context (Codex), /verify-agent-context (all others)

Content lives only in .agents/. The per-agent folders exist because each tool discovers rules and skills from its own hardcoded location, so they hold stubs that point back here — except where the tool reads .agents/ natively.

ToolInstructionsRulesSkills
CodexAGENTS.md — read natively.agents/rules/ — linked from AGENTS.md, on demand.agents/skills/ — native, $verify-agent-context
Copilot (VS Code and coding agent).github/copilot-instructions.md → AGENTS.mdstubs in .github/instructions/ — applyTo globsstub in .github/skills/ — /verify-agent-context
Claude CodeCLAUDE.md imports AGENTS.mdstubs in .claude/rules/ — paths globsstub in .claude/skills/ — /verify-agent-context
Gemini / AntigravityGEMINI.md imports AGENTS.md.agents/rules/ — on demand.agents/skills/ — native, /verify-agent-context

Copilot instructions

FileNotes
.github/copilot-instructions.mdPointer to AGENTS.md — always loaded
.github/instructions/chip-tests/chip-tests.instructions.mdCHIP conformance test harness — scoped to CHIP test files
.github/instructions/matterbridge/matterbridge.instructions.mdMatterbridge endpoint guide — dedicated Copilot instruction file
.github/instructions/plugin-frontend/plugin-frontend.instructions.mdPlugin frontend SPA and custom REST API guide — scoped to frontend and plugin code
.github/instructions/testing/testing.instructions.mdTesting standards — scoped to **/*.test.ts
.github/skills/verify-agent-context/SKILL.mdSkill invocable as /verify-agent-context

Claude instructions

FileNotes
CLAUDE.mdPointer to AGENTS.md — always loaded
.claude/settings.jsonClaude permissions: allow, ask and deny rules
.claude/rules/chip-tests/chip-tests.instructions.mdCHIP conformance test harness — scoped to CHIP test files
.claude/rules/matterbridge/matterbridge.instructions.mdMatterbridge endpoint guide — loaded for all contexts
.claude/rules/plugin-frontend/plugin-frontend.instructions.mdPlugin frontend SPA and custom REST API guide — scoped to frontend and plugin code
.claude/rules/testing/testing.instructions.mdTesting standards — scoped to **/*.test.ts
.claude/skills/verify-agent-context/SKILL.mdSkill invocable as /verify-agent-context

Codex instructions

FileNotes
AGENTS.mdMain project instructions — read directly, no pointer file needed
.codex/config.tomlCodex project permissions, approvals, and profile
.codex/rules/default.rulesCodex command allow, prompt, and deny rules

Codex reads the shared rules and skills from .agents/ directly; the skill is invoked as $verify-agent-context.

Gemini / Antigravity instructions

FileNotes
GEMINI.mdPointer to AGENTS.md — always loaded
.antigravity/settings.jsonSandboxing and permissions: allow, ask and deny rules

The shared rules under .agents/rules/ apply on demand for the relevant tasks, and .agents/skills/ is discovered automatically as /verify-agent-context.

Development guide

Refer to the Matterbridge Development guide for other guidelines.