clawkit-ai 1.0.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/PRD.md +416 -0
- package/README.md +156 -0
- package/bin/clawkit.mjs +57 -0
- package/dashboard/app.js +287 -0
- package/dashboard/index.html +137 -0
- package/dashboard/style.css +121 -0
- package/package.json +14 -0
- package/skills/code-mentor/SKILL.md +85 -0
- package/skills/csv-pipeline/SKILL.md +82 -0
- package/skills/developer/SKILL.md +57 -0
- package/skills/image/SKILL.md +71 -0
- package/skills/json/SKILL.md +59 -0
- package/skills/productivity/SKILL.md +68 -0
- package/skills/quick-reminders/SKILL.md +70 -0
- package/skills/svg-draw/SKILL.md +75 -0
- package/skills/weather/SKILL.md +72 -0
- package/skills/workspace-manager/SKILL.md +69 -0
- package/src/cron.mjs +30 -0
- package/src/dashboard.mjs +69 -0
- package/src/doctor.mjs +69 -0
- package/src/init.mjs +137 -0
- package/src/scaffold.mjs +57 -0
- package/src/skills.mjs +52 -0
- package/src/status.mjs +43 -0
- package/src/update.mjs +100 -0
- package/src/upgrade.mjs +104 -0
- package/src/utils.mjs +67 -0
- package/src/validate.mjs +66 -0
- package/templates/AGENTS.md +77 -0
- package/templates/HEARTBEAT.md +11 -0
- package/templates/IDENTITY.md +7 -0
- package/templates/LEARNINGS.md +14 -0
- package/templates/MEMORY.md +14 -0
- package/templates/PROTOCOL_COST_EFFICIENCY.md +30 -0
- package/templates/SKILLS-INDEX.md +21 -0
- package/templates/SOUL.md +22 -0
- package/templates/TOOLS.md +14 -0
- package/templates/USER.md +5 -0
- package/templates/memory/knowledge/about-me.md +13 -0
- package/templates/scripts/nightly-consolidation.sh +54 -0
- package/templates/tasks/QUEUE.md +10 -0
package/PRD.md
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# ClawKit NPM Package — Phase 1 PRD
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
Build the `clawkit` npm package that scaffolds an OpenClaw workspace with memory, skills, personality, cost optimization, and agent training — all from `npx clawkit init`.
|
|
5
|
+
|
|
6
|
+
## Project Directory
|
|
7
|
+
`/home/semo/Desktop/clawkit-package/`
|
|
8
|
+
|
|
9
|
+
## Package Structure
|
|
10
|
+
```
|
|
11
|
+
clawkit-package/
|
|
12
|
+
├── package.json
|
|
13
|
+
├── bin/
|
|
14
|
+
│ └── clawkit.mjs ← CLI entry (#!/usr/bin/env node)
|
|
15
|
+
├── src/
|
|
16
|
+
│ ├── init.mjs ← Main init orchestrator
|
|
17
|
+
│ ├── validate.mjs ← API key validation
|
|
18
|
+
│ ├── scaffold.mjs ← File writing logic
|
|
19
|
+
│ ├── skills.mjs ← Skill installation
|
|
20
|
+
│ ├── cron.mjs ← Cron job registration helper
|
|
21
|
+
│ ├── status.mjs ← Status command
|
|
22
|
+
│ ├── doctor.mjs ← Diagnostics
|
|
23
|
+
│ └── utils.mjs ← Helpers (detect workspace, colors, etc.)
|
|
24
|
+
├── templates/ ← All workspace file templates
|
|
25
|
+
│ ├── AGENTS.md
|
|
26
|
+
│ ├── SOUL.md
|
|
27
|
+
│ ├── IDENTITY.md
|
|
28
|
+
│ ├── USER.md
|
|
29
|
+
│ ├── TOOLS.md
|
|
30
|
+
│ ├── HEARTBEAT.md
|
|
31
|
+
│ ├── MEMORY.md
|
|
32
|
+
│ ├── LEARNINGS.md
|
|
33
|
+
│ ├── PROTOCOL_COST_EFFICIENCY.md
|
|
34
|
+
│ ├── SKILLS-INDEX.md
|
|
35
|
+
│ ├── memory/
|
|
36
|
+
│ │ └── knowledge/
|
|
37
|
+
│ │ └── about-me.md
|
|
38
|
+
│ ├── tasks/
|
|
39
|
+
│ │ └── QUEUE.md
|
|
40
|
+
│ └── scripts/
|
|
41
|
+
│ └── nightly-consolidation.sh
|
|
42
|
+
├── skills/ ← Curated free-tier skills (SKILL.md only)
|
|
43
|
+
│ ├── weather/SKILL.md
|
|
44
|
+
│ ├── productivity/SKILL.md
|
|
45
|
+
│ ├── developer/SKILL.md
|
|
46
|
+
│ ├── csv-pipeline/SKILL.md
|
|
47
|
+
│ ├── quick-reminders/SKILL.md
|
|
48
|
+
│ ├── workspace-manager/SKILL.md
|
|
49
|
+
│ ├── svg-draw/SKILL.md
|
|
50
|
+
│ ├── code-mentor/SKILL.md
|
|
51
|
+
│ ├── json/SKILL.md
|
|
52
|
+
│ └── image/SKILL.md
|
|
53
|
+
└── README.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## package.json
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"name": "clawkit",
|
|
60
|
+
"version": "1.0.0",
|
|
61
|
+
"description": "Transform your OpenClaw agent into a production-ready AI assistant with memory, skills, and a dashboard",
|
|
62
|
+
"type": "module",
|
|
63
|
+
"bin": {
|
|
64
|
+
"clawkit": "./bin/clawkit.mjs"
|
|
65
|
+
},
|
|
66
|
+
"keywords": ["openclaw", "ai", "agent", "skills", "memory", "dashboard", "clawkit"],
|
|
67
|
+
"author": "ClawKit",
|
|
68
|
+
"license": "MIT",
|
|
69
|
+
"engines": { "node": ">=18" },
|
|
70
|
+
"dependencies": {}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**IMPORTANT: Zero dependencies.** Use only Node.js built-in modules (readline, fs, path, https, child_process). This keeps the package tiny and fast for `npx` usage. No chalk, no inquirer, no ora. Write simple ANSI color helpers instead.
|
|
75
|
+
|
|
76
|
+
## CLI Entry — bin/clawkit.mjs
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
#!/usr/bin/env node
|
|
80
|
+
// Parse args: clawkit <command> [options]
|
|
81
|
+
// Commands: init, status, doctor, upgrade, update, dashboard
|
|
82
|
+
// Flags: --yes (non-interactive), --force (overwrite existing)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Route to the appropriate src/ module.
|
|
86
|
+
|
|
87
|
+
## src/init.mjs — The Main Flow
|
|
88
|
+
|
|
89
|
+
### Step 1: Detect Workspace
|
|
90
|
+
```
|
|
91
|
+
Check in order:
|
|
92
|
+
1. CLAWKIT_WORKSPACE env var
|
|
93
|
+
2. ~/.openclaw/workspace (if exists)
|
|
94
|
+
3. Ask user to provide path
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Step 2: Check Existing Files
|
|
98
|
+
```
|
|
99
|
+
If AGENTS.md already exists:
|
|
100
|
+
- Warn: "Existing workspace detected"
|
|
101
|
+
- Offer: backup to .clawkit-backup/ then overwrite
|
|
102
|
+
- With --force: skip prompt, backup + overwrite
|
|
103
|
+
- Without --yes/--force: prompt user
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Step 3: Read API Key
|
|
107
|
+
```
|
|
108
|
+
Read CLAWKIT_API_KEY from:
|
|
109
|
+
1. Environment variable
|
|
110
|
+
2. ~/.clawkit/credentials file
|
|
111
|
+
3. Prompt user to enter it
|
|
112
|
+
|
|
113
|
+
Parse the key to extract tier:
|
|
114
|
+
clk_free_... → tier = "free"
|
|
115
|
+
clk_pro_... → tier = "pro"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 4: Validate API Key
|
|
119
|
+
```
|
|
120
|
+
POST https://clawkit-api.vercel.app/api/clawkit/validate
|
|
121
|
+
Body: { apiKey: "clk_..." }
|
|
122
|
+
|
|
123
|
+
If API unreachable → offline mode:
|
|
124
|
+
- Parse tier from key prefix
|
|
125
|
+
- Warn: "Running in offline mode, some features limited"
|
|
126
|
+
- Continue with scaffolding
|
|
127
|
+
|
|
128
|
+
If invalid → error + exit
|
|
129
|
+
|
|
130
|
+
If valid → store response in config
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Step 5: Interactive Prompts (skip with --yes)
|
|
134
|
+
```
|
|
135
|
+
Using built-in readline:
|
|
136
|
+
1. "What should your agent be called?" (default: "Atlas")
|
|
137
|
+
2. "What's your name?" (default: "Human")
|
|
138
|
+
3. "Your timezone?" (default: detect from system or "UTC")
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Step 6: Scaffold Files
|
|
142
|
+
```
|
|
143
|
+
For each template file:
|
|
144
|
+
1. Read from templates/
|
|
145
|
+
2. Replace placeholders:
|
|
146
|
+
{{AGENT_NAME}} → user's agent name
|
|
147
|
+
{{USER_NAME}} → user's name
|
|
148
|
+
{{TIMEZONE}} → user's timezone
|
|
149
|
+
{{TIER}} → free or pro
|
|
150
|
+
{{DATE}} → current date
|
|
151
|
+
3. Write to workspace path
|
|
152
|
+
4. Create directories as needed (memory/daily, memory/knowledge, etc.)
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Step 7: Install Skills
|
|
156
|
+
```
|
|
157
|
+
Free tier: Copy skills from package's skills/ directory
|
|
158
|
+
Pro tier: Copy free skills + run `clawhub install <slug>` for each pro skill (if clawhub available, else skip with warning)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Step 8: Write Config
|
|
162
|
+
```
|
|
163
|
+
Write skills/.clawkit/config.json:
|
|
164
|
+
{
|
|
165
|
+
"version": "1.0.0",
|
|
166
|
+
"tier": "free",
|
|
167
|
+
"apiKey": "clk_free_...", // stored for reference
|
|
168
|
+
"installedAt": "2026-02-26T...",
|
|
169
|
+
"agentName": "Atlas",
|
|
170
|
+
"userName": "Human",
|
|
171
|
+
"timezone": "EST",
|
|
172
|
+
"features": { ... from API response }
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Step 9: Print Success
|
|
177
|
+
```
|
|
178
|
+
╔══════════════════════════════════════════════╗
|
|
179
|
+
║ 🧰 ClawKit initialized successfully! ║
|
|
180
|
+
╠══════════════════════════════════════════════╣
|
|
181
|
+
║ ║
|
|
182
|
+
║ Agent: Atlas ║
|
|
183
|
+
║ Tier: Free ║
|
|
184
|
+
║ Skills: 10 installed ║
|
|
185
|
+
║ Memory: 3-layer system active ║
|
|
186
|
+
║ ║
|
|
187
|
+
║ Next steps: ║
|
|
188
|
+
║ 1. openclaw gateway restart ║
|
|
189
|
+
║ 2. Start chatting — your agent is ready! ║
|
|
190
|
+
║ ║
|
|
191
|
+
║ Run `clawkit status` to check health ║
|
|
192
|
+
║ Run `clawkit upgrade` to go Pro ║
|
|
193
|
+
╚══════════════════════════════════════════════╝
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Template Files — Content Guide
|
|
197
|
+
|
|
198
|
+
### AGENTS.md
|
|
199
|
+
Sanitized version of our AGENTS.md. Keep:
|
|
200
|
+
- Boot protocol (handover → learnings → daily → knowledge → memory → protocol)
|
|
201
|
+
- Three-layer memory system description
|
|
202
|
+
- Before EVERY Task checklist
|
|
203
|
+
- Ralph loop pattern (pro only — wrap in `{{#if pro}}...{{/if}}` or just include for all, it won't hurt free users)
|
|
204
|
+
- Write discipline (log decisions, capture mistakes)
|
|
205
|
+
- Session handover protocol
|
|
206
|
+
- Heartbeat guidance
|
|
207
|
+
- Safety rules
|
|
208
|
+
|
|
209
|
+
Remove:
|
|
210
|
+
- All personal references
|
|
211
|
+
- Dashboard-specific commands
|
|
212
|
+
- Specific tool references (cursor agent API key etc.)
|
|
213
|
+
|
|
214
|
+
Use `{{AGENT_NAME}}` and `{{USER_NAME}}` placeholders.
|
|
215
|
+
|
|
216
|
+
### SOUL.md
|
|
217
|
+
Generic but opinionated personality:
|
|
218
|
+
```markdown
|
|
219
|
+
# SOUL.md - Who You Are
|
|
220
|
+
|
|
221
|
+
## Core Truths
|
|
222
|
+
You are made to act. Always try to take initiative and action.
|
|
223
|
+
Be genuinely helpful — skip the "Great question!" filler. Just help.
|
|
224
|
+
Have opinions. You're allowed to disagree, prefer things, find stuff amusing.
|
|
225
|
+
Be resourceful before asking. Try to figure it out first.
|
|
226
|
+
Remember you're a guest in someone's life. Treat access with respect.
|
|
227
|
+
|
|
228
|
+
## Boundaries
|
|
229
|
+
- Private things stay private
|
|
230
|
+
- Never send half-baked replies
|
|
231
|
+
- You're not the user's voice in group chats
|
|
232
|
+
|
|
233
|
+
## Vibe
|
|
234
|
+
Be the assistant you'd actually want to talk to. Concise. Not a corporate drone.
|
|
235
|
+
|
|
236
|
+
## Continuity
|
|
237
|
+
Each session, you wake up fresh. Your workspace files ARE your memory.
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### IDENTITY.md
|
|
241
|
+
```markdown
|
|
242
|
+
# IDENTITY.md
|
|
243
|
+
- **Name:** {{AGENT_NAME}}
|
|
244
|
+
- **Creature:** Your personal AI assistant
|
|
245
|
+
- **Vibe:** Helpful, efficient, proactive
|
|
246
|
+
- **Emoji:** 🤖
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### USER.md
|
|
250
|
+
```markdown
|
|
251
|
+
# USER.md - About Your Human
|
|
252
|
+
- Name: {{USER_NAME}}
|
|
253
|
+
- Timezone: {{TIMEZONE}}
|
|
254
|
+
- Notes: (Add your preferences here — the more your agent knows, the better it helps)
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### TOOLS.md
|
|
258
|
+
```markdown
|
|
259
|
+
# TOOLS.md - Local Configuration
|
|
260
|
+
|
|
261
|
+
## ClawKit
|
|
262
|
+
- **Tier:** {{TIER}}
|
|
263
|
+
- **Version:** 1.0.0
|
|
264
|
+
- **API Key:** Set via CLAWKIT_API_KEY environment variable
|
|
265
|
+
|
|
266
|
+
## Your Tools
|
|
267
|
+
Add your local tool configurations here as you set them up.
|
|
268
|
+
(API keys, service URLs, CLI paths, etc.)
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### HEARTBEAT.md
|
|
272
|
+
Simplified version — no personal tasks, just the framework:
|
|
273
|
+
```markdown
|
|
274
|
+
# HEARTBEAT.md - Proactive Background Tasks
|
|
275
|
+
|
|
276
|
+
## Every Heartbeat
|
|
277
|
+
- Check tasks/QUEUE.md for pending work
|
|
278
|
+
- Check for any scheduled reminders
|
|
279
|
+
|
|
280
|
+
## Daily (rotate through)
|
|
281
|
+
- Memory maintenance (review daily notes → update MEMORY.md)
|
|
282
|
+
|
|
283
|
+
## Add Your Own
|
|
284
|
+
- (Add custom checks: email, calendar, weather, etc.)
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### MEMORY.md
|
|
288
|
+
```markdown
|
|
289
|
+
# MEMORY.md - Long-Term Memory
|
|
290
|
+
|
|
291
|
+
## About
|
|
292
|
+
This is your curated memory. Updated periodically from daily notes.
|
|
293
|
+
The nightly consolidation script processes daily/ → knowledge/ automatically.
|
|
294
|
+
|
|
295
|
+
## Core Preferences
|
|
296
|
+
- (Your agent will fill this in as it learns about you)
|
|
297
|
+
|
|
298
|
+
## Key Decisions
|
|
299
|
+
- (Important decisions get logged here)
|
|
300
|
+
|
|
301
|
+
## Lessons Learned
|
|
302
|
+
- (Patterns and mistakes to avoid)
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### LEARNINGS.md
|
|
306
|
+
```markdown
|
|
307
|
+
# LEARNINGS.md - Continuous Improvement
|
|
308
|
+
|
|
309
|
+
## Rules
|
|
310
|
+
- Before every task: check this file for relevant patterns
|
|
311
|
+
- After every mistake: add a rule here so it doesn't repeat
|
|
312
|
+
- Review periodically during heartbeats
|
|
313
|
+
|
|
314
|
+
## Patterns
|
|
315
|
+
(Your agent will populate this as it works)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### PROTOCOL_COST_EFFICIENCY.md
|
|
319
|
+
Sanitized version of ours — keep the token optimization advice, model selection guidance, Ralph loop description. Remove specific costs/numbers (they change), keep the principles.
|
|
320
|
+
|
|
321
|
+
### scripts/nightly-consolidation.sh
|
|
322
|
+
Sanitized version of our script. Replace hardcoded paths with:
|
|
323
|
+
```bash
|
|
324
|
+
WORKSPACE_DIR="${CLAWKIT_WORKSPACE:-$HOME/.openclaw/workspace}"
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### tasks/QUEUE.md
|
|
328
|
+
```markdown
|
|
329
|
+
# Task Queue
|
|
330
|
+
|
|
331
|
+
## Ready
|
|
332
|
+
(Tasks your agent should work on)
|
|
333
|
+
|
|
334
|
+
## In Progress
|
|
335
|
+
(Currently being executed)
|
|
336
|
+
|
|
337
|
+
## Done
|
|
338
|
+
(Completed tasks)
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Free-Tier Skills to Bundle
|
|
342
|
+
|
|
343
|
+
Create minimal SKILL.md files for these 10 skills. Each skill folder only needs SKILL.md with proper frontmatter:
|
|
344
|
+
|
|
345
|
+
1. **weather** — Get forecasts via wttr.in
|
|
346
|
+
2. **productivity** — Time management & focus
|
|
347
|
+
3. **developer** — Clean code practices
|
|
348
|
+
4. **csv-pipeline** — Data file processing
|
|
349
|
+
5. **quick-reminders** — One-shot reminders
|
|
350
|
+
6. **workspace-manager** — Workspace organization
|
|
351
|
+
7. **svg-draw** — Create SVG images
|
|
352
|
+
8. **code-mentor** — Programming tutor
|
|
353
|
+
9. **json** — JSON data handling
|
|
354
|
+
10. **image** — Image processing basics
|
|
355
|
+
|
|
356
|
+
For each, create a real SKILL.md with:
|
|
357
|
+
```yaml
|
|
358
|
+
---
|
|
359
|
+
name: <skill-name>
|
|
360
|
+
description: <one-line description>
|
|
361
|
+
---
|
|
362
|
+
```
|
|
363
|
+
Then practical instructions the agent can follow. These should be genuinely useful, not stubs. Reference the existing skills in `/home/semo/.openclaw/workspace/skills/` for content — read each one and create a condensed but functional version.
|
|
364
|
+
|
|
365
|
+
## src/validate.mjs
|
|
366
|
+
|
|
367
|
+
```javascript
|
|
368
|
+
// Validate API key against ClawKit API
|
|
369
|
+
// POST https://clawkit-api.vercel.app/api/clawkit/validate
|
|
370
|
+
// Fallback: parse tier from key prefix if API unreachable
|
|
371
|
+
// Return: { valid, tier, features, userId }
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
## src/status.mjs
|
|
375
|
+
|
|
376
|
+
```javascript
|
|
377
|
+
// Read skills/.clawkit/config.json
|
|
378
|
+
// Count installed skills
|
|
379
|
+
// Check if nightly-consolidation exists
|
|
380
|
+
// Check memory/ directory structure
|
|
381
|
+
// Print formatted status
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
## src/doctor.mjs
|
|
385
|
+
|
|
386
|
+
```javascript
|
|
387
|
+
// Diagnostic checks:
|
|
388
|
+
// 1. Is OpenClaw installed? (which openclaw)
|
|
389
|
+
// 2. Is workspace valid? (AGENTS.md exists)
|
|
390
|
+
// 3. Is API key set? (env var)
|
|
391
|
+
// 4. Is config valid? (config.json parseable)
|
|
392
|
+
// 5. Are skills installed? (skills/ has folders)
|
|
393
|
+
// 6. Is consolidation script present + executable?
|
|
394
|
+
// 7. Are memory directories created?
|
|
395
|
+
// Print pass/fail for each
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
## Important Notes
|
|
399
|
+
|
|
400
|
+
1. **Zero dependencies** — Node.js builtins only. No chalk, inquirer, ora.
|
|
401
|
+
2. **ESM only** — Use .mjs extension, import/export syntax
|
|
402
|
+
3. **Works offline** — API validation fails gracefully, key prefix parsing as fallback
|
|
403
|
+
4. **Non-destructive** — Always backup existing files before overwriting
|
|
404
|
+
5. **Cross-platform** — Work on Linux + macOS (Windows is nice-to-have)
|
|
405
|
+
6. **Fast** — `npx clawkit init` should complete in <10 seconds
|
|
406
|
+
7. **Read existing skills** from `/home/semo/.openclaw/workspace/skills/` to create the bundled free-tier skills. Each should be a real, useful SKILL.md.
|
|
407
|
+
|
|
408
|
+
## Testing
|
|
409
|
+
|
|
410
|
+
After building, test with:
|
|
411
|
+
```bash
|
|
412
|
+
cd /home/semo/Desktop/clawkit-package
|
|
413
|
+
node bin/clawkit.mjs init --yes
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
This should scaffold into a test workspace (use CLAWKIT_WORKSPACE=/tmp/clawkit-test).
|
package/README.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# ⚡ ClawKit
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
_____ _ _ ___ _
|
|
5
|
+
/ ____| | | |/ (_) |
|
|
6
|
+
| | | | __ ___ _| ' / _| |_
|
|
7
|
+
| | | |/ _` \ \ /\ / / < | | __|
|
|
8
|
+
| |____| | (_| |\ V V /| . \| | |_
|
|
9
|
+
\_____|_|\__,_| \_/\_/ |_|\_\_|\__|
|
|
10
|
+
|
|
11
|
+
AI Agent Toolkit for OpenClaw
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Transform your OpenClaw agent into a production-ready AI assistant** with structured memory, curated skills, a real-time dashboard, and workspace scaffolding — in 3 commands.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 🚀 Quick Start
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g clawkit
|
|
22
|
+
clawkit init
|
|
23
|
+
clawkit status
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
That's it. Your workspace is ready.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 📦 What You Get
|
|
31
|
+
|
|
32
|
+
- **🧠 Structured Memory** — Daily notes, knowledge graph, long-term memory (MEMORY.md)
|
|
33
|
+
- **📋 Soul File** — SOUL.md defines your agent's personality and behavior
|
|
34
|
+
- **📚 Skill Templates** — Pre-built skills for common tasks
|
|
35
|
+
- **📊 Web Dashboard** — Real-time agent monitoring with dark Bloomberg-terminal UI
|
|
36
|
+
- **💬 Live Chat** — Talk to your agent from the dashboard (Pro)
|
|
37
|
+
- **✅ Task Manager** — Read/write tasks/QUEUE.md from the browser
|
|
38
|
+
- **🔧 Doctor** — Diagnostics to verify your setup is healthy
|
|
39
|
+
- **🔄 Auto-Updates** — Check for new versions and template updates
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🆓 Free vs Pro
|
|
44
|
+
|
|
45
|
+
| Feature | Free | Pro |
|
|
46
|
+
|---------|------|-----|
|
|
47
|
+
| Workspace scaffolding | ✅ | ✅ |
|
|
48
|
+
| Memory structure | ✅ | ✅ |
|
|
49
|
+
| Skill templates | Basic | Premium |
|
|
50
|
+
| Dashboard (read-only) | ✅ | ✅ |
|
|
51
|
+
| Dashboard chat | ❌ | ✅ |
|
|
52
|
+
| Task editing | ❌ | ✅ |
|
|
53
|
+
| File management | ❌ | ✅ |
|
|
54
|
+
| Priority support | ❌ | ✅ |
|
|
55
|
+
|
|
56
|
+
**$10/month** → [Get Pro](https://clawkit.net/get-started)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 🛠 CLI Commands
|
|
61
|
+
|
|
62
|
+
### `clawkit init`
|
|
63
|
+
Scaffold a new workspace with memory structure, skills, and config files.
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
clawkit init # Interactive setup
|
|
67
|
+
clawkit init --yes # Accept all defaults
|
|
68
|
+
clawkit init --force # Overwrite existing files
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### `clawkit status`
|
|
72
|
+
Check workspace health — memory files, skills, config.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
clawkit status
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### `clawkit doctor`
|
|
79
|
+
Run full diagnostics — Node.js version, OpenClaw detection, file permissions.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
clawkit doctor
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### `clawkit dashboard`
|
|
86
|
+
Launch the web dashboard in your browser.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
clawkit dashboard # Default port 8080
|
|
90
|
+
clawkit dashboard --port=3000 # Custom port
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### `clawkit upgrade`
|
|
94
|
+
View Pro benefits or activate a Pro key.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
clawkit upgrade # See benefits & pricing
|
|
98
|
+
clawkit upgrade --key=clk_pro_... # Activate Pro
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### `clawkit update`
|
|
102
|
+
Check for new versions and update templates.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
clawkit update
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 📸 Screenshots
|
|
111
|
+
|
|
112
|
+
> _Dashboard screenshots coming soon_
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 🏗 Architecture
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
your-workspace/
|
|
120
|
+
├── AGENTS.md # Agent behavior config
|
|
121
|
+
├── SOUL.md # Personality definition
|
|
122
|
+
├── LEARNINGS.md # Rules & patterns
|
|
123
|
+
├── MEMORY.md # Long-term curated memory
|
|
124
|
+
├── memory/
|
|
125
|
+
│ ├── daily/ # Daily conversation logs
|
|
126
|
+
│ └── knowledge/ # Extracted facts & patterns
|
|
127
|
+
├── skills/
|
|
128
|
+
│ ├── .clawkit/ # ClawKit config
|
|
129
|
+
│ └── [skills...] # Installed skills
|
|
130
|
+
└── tasks/
|
|
131
|
+
└── QUEUE.md # Task queue
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 🔧 Requirements
|
|
137
|
+
|
|
138
|
+
- **Node.js** ≥ 18
|
|
139
|
+
- **OpenClaw** installed and running
|
|
140
|
+
- Zero npm dependencies — uses Node.js builtins only
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 🤝 Contributing
|
|
145
|
+
|
|
146
|
+
1. Fork the repo
|
|
147
|
+
2. Create a feature branch
|
|
148
|
+
3. Make your changes (ESM only, no dependencies)
|
|
149
|
+
4. Test with `clawkit doctor`
|
|
150
|
+
5. Submit a PR
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 📄 License
|
|
155
|
+
|
|
156
|
+
MIT © [ClawKit](https://clawkit.net)
|
package/bin/clawkit.mjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { parseArgs } from '../src/utils.mjs';
|
|
4
|
+
|
|
5
|
+
const { command, flags } = parseArgs(process.argv);
|
|
6
|
+
|
|
7
|
+
switch (command) {
|
|
8
|
+
case 'init':
|
|
9
|
+
const { runInit } = await import('../src/init.mjs');
|
|
10
|
+
await runInit(flags);
|
|
11
|
+
break;
|
|
12
|
+
case 'status':
|
|
13
|
+
const { runStatus } = await import('../src/status.mjs');
|
|
14
|
+
runStatus();
|
|
15
|
+
break;
|
|
16
|
+
case 'doctor':
|
|
17
|
+
const { runDoctor } = await import('../src/doctor.mjs');
|
|
18
|
+
runDoctor();
|
|
19
|
+
break;
|
|
20
|
+
case 'dashboard':
|
|
21
|
+
const { runDashboard } = await import('../src/dashboard.mjs');
|
|
22
|
+
runDashboard(flags);
|
|
23
|
+
break;
|
|
24
|
+
case 'upgrade':
|
|
25
|
+
const { runUpgrade } = await import('../src/upgrade.mjs');
|
|
26
|
+
await runUpgrade(flags);
|
|
27
|
+
break;
|
|
28
|
+
case 'update':
|
|
29
|
+
const { runUpdate } = await import('../src/update.mjs');
|
|
30
|
+
await runUpdate(flags);
|
|
31
|
+
break;
|
|
32
|
+
case 'help':
|
|
33
|
+
case '':
|
|
34
|
+
console.log(`
|
|
35
|
+
⚡ ClawKit — AI Agent Toolkit
|
|
36
|
+
|
|
37
|
+
Usage: clawkit <command> [options]
|
|
38
|
+
|
|
39
|
+
Commands:
|
|
40
|
+
init Scaffold a new workspace
|
|
41
|
+
status Check workspace health
|
|
42
|
+
doctor Run diagnostics
|
|
43
|
+
dashboard Launch web dashboard
|
|
44
|
+
upgrade Upgrade to Pro tier
|
|
45
|
+
update Check for updates
|
|
46
|
+
|
|
47
|
+
Options:
|
|
48
|
+
--yes Non-interactive mode (accept defaults)
|
|
49
|
+
--force Overwrite existing files
|
|
50
|
+
--port=N Dashboard port (default: 8080)
|
|
51
|
+
--key=KEY Pro key for upgrade
|
|
52
|
+
`);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
console.log(` Unknown command: ${command}\n Run: clawkit help`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|