macroclaw 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -46
- package/package.json +1 -1
- package/src/cli.ts +2 -1
package/README.md
CHANGED
|
@@ -5,52 +5,6 @@ Telegram-to-Claude-Code bridge. Bun + Grammy.
|
|
|
5
5
|
Uses the Claude Code CLI (`claude -p`) rather than the Agent SDK to avoid any possible
|
|
6
6
|
ToS issues with using a Claude subscription programmatically.
|
|
7
7
|
|
|
8
|
-
## Vision
|
|
9
|
-
|
|
10
|
-
Macroclaw is a minimal bridge between Telegram and Claude Code. It handles the parts
|
|
11
|
-
that a Claude session can't: receiving messages, managing processes, scheduling tasks,
|
|
12
|
-
and delivering responses.
|
|
13
|
-
|
|
14
|
-
Everything else — personality, memory, skills, behavior, conventions — lives in the
|
|
15
|
-
workspace. The platform stays small so the workspace can be infinitely customizable
|
|
16
|
-
without touching platform code.
|
|
17
|
-
|
|
18
|
-
## Architecture
|
|
19
|
-
|
|
20
|
-
Macroclaw follows a **thin platform, rich workspace** design:
|
|
21
|
-
|
|
22
|
-
**Platform** (this repo) — the runtime bridge:
|
|
23
|
-
- Telegram bot connection and message routing
|
|
24
|
-
- Claude Code process orchestration and session management
|
|
25
|
-
- Background agent spawning and lifecycle
|
|
26
|
-
- Cron scheduler (reads job definitions from workspace)
|
|
27
|
-
- Message queue (FIFO, serial processing)
|
|
28
|
-
- Timeout management and auto-retry
|
|
29
|
-
|
|
30
|
-
**Workspace** — the intelligence layer, initialized from [`workspace-template/`](workspace-template/):
|
|
31
|
-
- [`CLAUDE.md`](workspace-template/CLAUDE.md) — agent behavior, conventions, response style
|
|
32
|
-
- [`.claude/skills/`](workspace-template/.claude/skills/) — teachable capabilities
|
|
33
|
-
- [`.macroclaw/cron.json`](workspace-template/.macroclaw/cron.json) — scheduled job definitions
|
|
34
|
-
- [`MEMORY.md`](workspace-template/MEMORY.md) — persistent memory
|
|
35
|
-
|
|
36
|
-
### Where does a new feature belong?
|
|
37
|
-
|
|
38
|
-
**Platform** when it:
|
|
39
|
-
- Requires external API access (Telegram, future integrations)
|
|
40
|
-
- Manages processes (spawning Claude, background agents, timeouts)
|
|
41
|
-
- Operates outside Claude sessions (cron scheduling, message queuing)
|
|
42
|
-
- Is a security boundary (chat authorization, workspace isolation)
|
|
43
|
-
- Is bootstrap logic (workspace initialization)
|
|
44
|
-
|
|
45
|
-
**Workspace** when it:
|
|
46
|
-
- Defines agent behavior or personality
|
|
47
|
-
- Is a convention Claude can follow via instructions
|
|
48
|
-
- Can be implemented as a skill
|
|
49
|
-
- Is data that Claude reads/writes (memory, tasks, cron definitions)
|
|
50
|
-
- Is a formatting or response style rule
|
|
51
|
-
|
|
52
|
-
> **Litmus test:** Could this feature work if you just wrote instructions in CLAUDE.md and/or created a skill? If yes → workspace. If no → platform.
|
|
53
|
-
|
|
54
8
|
## Security Model
|
|
55
9
|
|
|
56
10
|
Macroclaw runs with `dangerouslySkipPermissions` enabled. This is intentional — the bot
|
|
@@ -138,6 +92,52 @@ bun test # run tests (100% coverage enforced)
|
|
|
138
92
|
bun run claude # open Claude Code CLI in current main session
|
|
139
93
|
```
|
|
140
94
|
|
|
95
|
+
## Vision
|
|
96
|
+
|
|
97
|
+
Macroclaw is a minimal bridge between Telegram and Claude Code. It handles the parts
|
|
98
|
+
that a Claude session can't: receiving messages, managing processes, scheduling tasks,
|
|
99
|
+
and delivering responses.
|
|
100
|
+
|
|
101
|
+
Everything else — personality, memory, skills, behavior, conventions — lives in the
|
|
102
|
+
workspace. The platform stays small so the workspace can be infinitely customizable
|
|
103
|
+
without touching platform code.
|
|
104
|
+
|
|
105
|
+
## Architecture
|
|
106
|
+
|
|
107
|
+
Macroclaw follows a **thin platform, rich workspace** design:
|
|
108
|
+
|
|
109
|
+
**Platform** (this repo) — the runtime bridge:
|
|
110
|
+
- Telegram bot connection and message routing
|
|
111
|
+
- Claude Code process orchestration and session management
|
|
112
|
+
- Background agent spawning and lifecycle
|
|
113
|
+
- Cron scheduler (reads job definitions from workspace)
|
|
114
|
+
- Message queue (FIFO, serial processing)
|
|
115
|
+
- Timeout management and auto-retry
|
|
116
|
+
|
|
117
|
+
**Workspace** — the intelligence layer, initialized from [`workspace-template/`](workspace-template/):
|
|
118
|
+
- [`CLAUDE.md`](workspace-template/CLAUDE.md) — agent behavior, conventions, response style
|
|
119
|
+
- [`.claude/skills/`](workspace-template/.claude/skills/) — teachable capabilities
|
|
120
|
+
- [`.macroclaw/cron.json`](workspace-template/.macroclaw/cron.json) — scheduled job definitions
|
|
121
|
+
- [`MEMORY.md`](workspace-template/MEMORY.md) — persistent memory
|
|
122
|
+
|
|
123
|
+
### Where does a new feature belong?
|
|
124
|
+
|
|
125
|
+
**Platform** when it:
|
|
126
|
+
- Requires external API access (Telegram, future integrations)
|
|
127
|
+
- Manages processes (spawning Claude, background agents, timeouts)
|
|
128
|
+
- Operates outside Claude sessions (cron scheduling, message queuing)
|
|
129
|
+
- Is a security boundary (chat authorization, workspace isolation)
|
|
130
|
+
- Is bootstrap logic (workspace initialization)
|
|
131
|
+
|
|
132
|
+
**Workspace** when it:
|
|
133
|
+
- Defines agent behavior or personality
|
|
134
|
+
- Is a convention Claude can follow via instructions
|
|
135
|
+
- Can be implemented as a skill
|
|
136
|
+
- Is data that Claude reads/writes (memory, tasks, cron definitions)
|
|
137
|
+
- Is a formatting or response style rule
|
|
138
|
+
|
|
139
|
+
> **Litmus test:** Could this feature work if you just wrote instructions in CLAUDE.md and/or created a skill? If yes → workspace. If no → platform.
|
|
140
|
+
|
|
141
141
|
## License
|
|
142
142
|
|
|
143
143
|
MIT
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {existsSync, readFileSync} from "node:fs";
|
|
|
3
3
|
import {join, resolve} from "node:path";
|
|
4
4
|
import {createInterface} from "node:readline";
|
|
5
5
|
import {defineCommand} from "citty";
|
|
6
|
+
import pkg from "../package.json" with { type: "json" };
|
|
6
7
|
import {initLogger} from "./logger";
|
|
7
8
|
import {ServiceManager, type SystemService} from "./service";
|
|
8
9
|
import {loadSessions} from "./sessions";
|
|
@@ -180,7 +181,7 @@ const serviceCommand = defineCommand({
|
|
|
180
181
|
});
|
|
181
182
|
|
|
182
183
|
export const main = defineCommand({
|
|
183
|
-
meta: { name:
|
|
184
|
+
meta: { name: pkg.name, description: pkg.description, version: pkg.version },
|
|
184
185
|
subCommands: { start: startCommand, setup: setupCommand, claude: claudeCommand, service: serviceCommand },
|
|
185
186
|
});
|
|
186
187
|
|