MAESTRO: Add OpenClaw plugin scaffold with configuration files

Create openclaw/ directory with plugin manifest (openclaw.plugin.json),
package.json, tsconfig.json, and .gitignore. Plugin manifest includes
full configSchema with observationFeed settings for live streaming
observations to messaging channels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Alex Newman
2026-02-07 18:36:20 -05:00
parent dac989c697
commit 8933343433
4 changed files with 89 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
node_modules/
dist/
+48
View File
@@ -0,0 +1,48 @@
{
"id": "claude-mem",
"name": "Claude-Mem (Persistent Memory)",
"description": "Official OpenClaw plugin for Claude-Mem. Persistent memory across sessions with live observation feed.",
"kind": "memory",
"version": "1.0.0",
"author": "thedotmack",
"homepage": "https://claude-mem.com",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"syncMemoryFile": {
"type": "boolean",
"default": true,
"description": "Automatically sync MEMORY.md on session start"
},
"workerPort": {
"type": "number",
"default": 37777,
"description": "Port for Claude-Mem worker service"
},
"workerPath": {
"type": "string",
"description": "Custom path to worker-service.cjs (auto-detected if not set)"
},
"observationFeed": {
"type": "object",
"description": "Live observation feed — streams observations to any OpenClaw channel in real-time",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable live observation feed to messaging channels"
},
"channel": {
"type": "string",
"description": "Channel type: telegram, discord, signal, slack, whatsapp, line"
},
"to": {
"type": "string",
"description": "Target chat/user ID to send observations to"
}
}
}
}
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"name": "@claude-mem/openclaw-plugin",
"version": "1.0.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc"
},
"devDependencies": {
"typescript": "^5.3.0"
}
}
+26
View File
@@ -0,0 +1,26 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "node",
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"allowSyntheticDefaultImports": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"dist"
]
}