claude-mem-lite 2.32.1 → 2.32.2
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/commands/bug.md +57 -0
- package/commands/lesson.md +53 -0
- package/hook-optimize.mjs +724 -0
- package/lib/activity.mjs +114 -0
- package/lib/doctor-benchmark.mjs +153 -0
- package/lib/git-state.mjs +38 -0
- package/lib/plan-reader.mjs +43 -0
- package/lib/startup-dashboard.mjs +113 -0
- package/lib/task-reader.mjs +149 -0
- package/package.json +11 -1
- package/plugin-cache-guard.mjs +77 -0
package/commands/bug.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bug
|
|
3
|
+
description: "Use when: logging a known bug + repro steps you can't fix right now. Writes to the mem events table (NOT memdir). Skip for bugs you're actively fixing in the current turn — just fix them."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /bug
|
|
7
|
+
|
|
8
|
+
Record a known bug + reproduction steps. Writes to the mem `events` table
|
|
9
|
+
with `event_type='bug'`. Does NOT touch memdir. Useful for bugs you can't
|
|
10
|
+
fix immediately but want future sessions (or yourself after `/clear`) to
|
|
11
|
+
know about and avoid re-investigating.
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- Bug is known but fix is blocked (waiting on upstream, needs discussion).
|
|
16
|
+
- Bug is intermittent / race condition; you want a repro recipe recorded.
|
|
17
|
+
- Edge case affecting only part of users; not priority now but must not
|
|
18
|
+
be silently re-discovered.
|
|
19
|
+
|
|
20
|
+
Don't use for bugs you're actively fixing in the current turn — just fix
|
|
21
|
+
them. Use `/lesson` afterward if there's a non-obvious root cause worth
|
|
22
|
+
recording.
|
|
23
|
+
|
|
24
|
+
## Arguments
|
|
25
|
+
|
|
26
|
+
- Positional text: short bug description.
|
|
27
|
+
- `--file <path>` or `--files f1,f2,...`: affected files. Triggers
|
|
28
|
+
pre-tool-recall warning when these files are edited later.
|
|
29
|
+
- `--repro "step1; step2; step3"`: reproduction steps, semicolon-separated.
|
|
30
|
+
- `--severity low|med|high`: maps to importance `1|2|3`. Default `med`.
|
|
31
|
+
|
|
32
|
+
## Execution
|
|
33
|
+
|
|
34
|
+
Map severity to importance:
|
|
35
|
+
|
|
36
|
+
- `low` → importance 1
|
|
37
|
+
- `med` → importance 2 (default)
|
|
38
|
+
- `high` → importance 3
|
|
39
|
+
|
|
40
|
+
Build the body as `<description>\n\nRepro:\n<repro-steps>` (or just
|
|
41
|
+
`<description>` if `--repro` is absent).
|
|
42
|
+
|
|
43
|
+
Run via Bash:
|
|
44
|
+
|
|
45
|
+
claude-mem-lite activity save \
|
|
46
|
+
--type bug \
|
|
47
|
+
--title "<first 60 chars of description>" \
|
|
48
|
+
--body "<body>" \
|
|
49
|
+
[--file <path> | --files f1,f2,...] \
|
|
50
|
+
--importance <1|2|3>
|
|
51
|
+
|
|
52
|
+
Confirm to user with: `Bug logged: activity #<id>`.
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
- `/bug intermittent test flake when DB is under load --repro "run pnpm test -- --retry=0; fails ~1 in 20 runs when CPU is busy"`.
|
|
57
|
+
- `/bug --file src/auth.mjs --severity high "session refresh drops the X-Forwarded-For header"` — no repro steps, just a high-severity note.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lesson
|
|
3
|
+
description: "Use when: capturing a non-obvious lesson/gotcha/workaround after a tricky fix or surprising behavior. Writes to the mem events table (NOT memdir). Skip for typos, renames, or user-preference rules."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /lesson
|
|
7
|
+
|
|
8
|
+
Record a lesson / gotcha / workaround. Writes to the mem `events` table
|
|
9
|
+
with `event_type='lesson'`. Does NOT touch memdir — so lessons never end up
|
|
10
|
+
in the L1 system-prompt memory section and do not conflict with the
|
|
11
|
+
`WHAT_NOT_TO_SAVE` semantics sdscc enforces.
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
After you (or the user) solve a tricky bug or discover a non-obvious behavior:
|
|
16
|
+
|
|
17
|
+
- "you need to call X before Y or the test hangs"
|
|
18
|
+
- "don't use this import path — it shadows the real module"
|
|
19
|
+
- "the API returns null when you pass empty string, even though docs say it throws"
|
|
20
|
+
|
|
21
|
+
Don't use for trivial fixes (typos, renames), for rules that belong in memdir
|
|
22
|
+
(user preferences, project-wide conventions), or for general project notes
|
|
23
|
+
(use `/mem:memory` or `mem_save` instead).
|
|
24
|
+
|
|
25
|
+
## Arguments
|
|
26
|
+
|
|
27
|
+
- Positional text: the lesson description (what went wrong + root cause + fix).
|
|
28
|
+
- `--file <path>`: scope to a specific file. The lesson will surface via
|
|
29
|
+
pre-tool-recall the next time the file is opened via Edit/Write.
|
|
30
|
+
- `--files f1,f2,f3`: comma-separated list for multiple files.
|
|
31
|
+
- `--importance <1|2|3>`: default `2`. Use `3` for critical lessons you always
|
|
32
|
+
want surfaced; `1` for minor gotchas.
|
|
33
|
+
|
|
34
|
+
## Execution
|
|
35
|
+
|
|
36
|
+
Run via Bash — the CLI takes the lesson text as positional args and stores
|
|
37
|
+
the full text as the title (the `activity save` command uses title-as-body
|
|
38
|
+
when `--body` is absent):
|
|
39
|
+
|
|
40
|
+
claude-mem-lite activity save \
|
|
41
|
+
--type lesson \
|
|
42
|
+
--title "<first 60 chars of text>" \
|
|
43
|
+
--body "<full text>" \
|
|
44
|
+
[--file <path> | --files f1,f2,...] \
|
|
45
|
+
--importance <1|2|3>
|
|
46
|
+
|
|
47
|
+
Confirm to user with: `Lesson saved: activity #<id>`.
|
|
48
|
+
|
|
49
|
+
## Examples
|
|
50
|
+
|
|
51
|
+
- `/lesson fix a bug now` — stores a short lesson for the current project; no file scope.
|
|
52
|
+
- `/lesson --file src/auth.mjs "session cookies must be httpOnly or the e2e tests bleed across browsers"` — file-scoped.
|
|
53
|
+
- `/lesson --files src/a.mjs,src/b.mjs --importance 3 "both modules share a cache via WeakMap; clearing one invalidates the other"` — multi-file, high importance.
|