mindkeeper-openclaw 0.2.8 → 0.2.10
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/dist/index.js +3111 -470
- package/package.json +5 -2
- package/skills/mindkeeper/SKILL.md +75 -23
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindkeeper-openclaw",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"description": "OpenClaw plugin for mindkeeper: auto-snapshot, diff, and rollback for agent context files",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openclaw",
|
|
@@ -44,8 +44,11 @@
|
|
|
44
44
|
"./dist/index.js"
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
|
-
"dependencies": {
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@sinclair/typebox": "^0.34.48"
|
|
49
|
+
},
|
|
48
50
|
"devDependencies": {
|
|
51
|
+
"@sinclair/typebox": "^0.34.0",
|
|
49
52
|
"@types/node": "^22.0.0",
|
|
50
53
|
"esbuild": "^0.27.3",
|
|
51
54
|
"typescript": "^5.7.0"
|
|
@@ -1,41 +1,93 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mindkeeper
|
|
3
3
|
description: Version control for agent context files — view history, compare versions, and rollback changes
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Mindkeeper — Version Control for Agent Context
|
|
8
8
|
|
|
9
|
-
Use
|
|
9
|
+
Use mindkeeper tools when the user asks about changes, history, or versions of their agent context files (AGENTS.md, SOUL.md, USER.md, IDENTITY.md, TOOLS.md, MEMORY.md, memory/, skills/).
|
|
10
10
|
|
|
11
11
|
## Available Tools
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
| Tool | Purpose |
|
|
14
|
+
|------|---------|
|
|
15
|
+
| `mind_status` | Show what files are tracked and whether there are unsaved changes |
|
|
16
|
+
| `mind_history` | Browse the change log for one file or all files |
|
|
17
|
+
| `mind_diff` | Compare any two versions of a file side-by-side |
|
|
18
|
+
| `mind_rollback` | Restore a file to a previous version (always preview first) |
|
|
19
|
+
| `mind_snapshot` | Save a named checkpoint before making significant changes |
|
|
18
20
|
|
|
19
21
|
## When to Use
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
| User says… | Action |
|
|
24
|
+
|-----------|--------|
|
|
25
|
+
| "What changed in SOUL.md?" | `mind_history` with `file: "SOUL.md"` |
|
|
26
|
+
| "Show me the diff from last week" | `mind_history` to find the commit, then `mind_diff` |
|
|
27
|
+
| "Undo that change" / "Roll back AGENTS.md" | Full rollback procedure (see below) |
|
|
28
|
+
| "Save a checkpoint before I experiment" | `mind_snapshot` with a descriptive name |
|
|
29
|
+
| "Is mindkeeper tracking my files?" | `mind_status` |
|
|
30
|
+
| "What does my history look like?" | `mind_history` without a file filter |
|
|
27
31
|
|
|
28
|
-
##
|
|
32
|
+
## Tool Usage Guide
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
### mind_status
|
|
35
|
+
Call this first if you're unsure whether mindkeeper is initialized or what files are being tracked.
|
|
36
|
+
```
|
|
37
|
+
mind_status → { initialized, workDir, pendingChanges, snapshots }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### mind_history
|
|
41
|
+
Returns a list of commits with short hash, date, and message.
|
|
42
|
+
- `file` (optional): filter to a specific file path, e.g. `"SOUL.md"`
|
|
43
|
+
- `limit` (optional): number of entries to return (default 10, increase for longer searches)
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
mind_history({ file: "SOUL.md", limit: 20 })
|
|
47
|
+
→ { count, entries: [{ oid, date, message }] }
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### mind_diff
|
|
51
|
+
Compares two versions of a file. `from` and `to` are short or full commit hashes from `mind_history`.
|
|
52
|
+
- Omit `to` to compare `from` against the current version (HEAD).
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
mind_diff({ file: "SOUL.md", from: "a1b2c3d4" })
|
|
56
|
+
→ { file, from, to, additions, deletions, unified }
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### mind_snapshot
|
|
60
|
+
Creates a named checkpoint of the current state of all tracked files. Use before risky changes.
|
|
61
|
+
- `name`: short identifier, e.g. `"stable-v2"` or `"before-experiment"`
|
|
62
|
+
- `message` (optional): longer description
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
mind_snapshot({ name: "stable-v2", message: "Personality tuned, rules finalized" })
|
|
66
|
+
→ { success, snapshot, commit: { oid, message } }
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### mind_rollback
|
|
70
|
+
**Always use the two-step procedure.** Never skip the preview.
|
|
71
|
+
|
|
72
|
+
**Step 1 — Preview:**
|
|
73
|
+
```
|
|
74
|
+
mind_rollback({ file: "SOUL.md", to: "a1b2c3d4", preview: true })
|
|
75
|
+
→ { preview: true, diff: { unified, additions, deletions }, instruction }
|
|
76
|
+
```
|
|
77
|
+
Show the diff to the user and ask for confirmation.
|
|
78
|
+
|
|
79
|
+
**Step 2 — Execute (only after user confirms):**
|
|
80
|
+
```
|
|
81
|
+
mind_rollback({ file: "SOUL.md", to: "a1b2c3d4", preview: false })
|
|
82
|
+
→ { preview: false, success: true, commit: { oid, message } }
|
|
83
|
+
```
|
|
84
|
+
After success, tell the user: **"Run `/new` to apply the changes to your current session."**
|
|
35
85
|
|
|
36
86
|
## Important Notes
|
|
37
87
|
|
|
38
|
-
- Rollback only
|
|
39
|
-
-
|
|
40
|
-
- Auto-snapshots
|
|
41
|
-
- Named snapshots
|
|
88
|
+
- **Rollback is per-file** — it only restores the specified file, not all files at once
|
|
89
|
+
- **Rollbacks are non-destructive** — every rollback creates a new commit, so it can itself be undone
|
|
90
|
+
- **Auto-snapshots run in the background** — the user doesn't need to manually save; mindkeeper captures every change automatically
|
|
91
|
+
- **Named snapshots are the safety net** — encourage users to snapshot before major personality or rule changes
|
|
92
|
+
- **If history is empty** — mindkeeper may not have initialized yet, or no changes have been made since install. Call `mind_status` to check.
|
|
93
|
+
- **Commit hashes** — always use the `oid` field from `mind_history` results. Short 8-character hashes are fine.
|