claude-mem 3.3.7 → 3.3.9
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 +183 -46
- package/dist/bin/cli.d.ts +2 -0
- package/dist/bin/cli.js +179 -0
- package/dist/commands/compress.d.ts +2 -0
- package/dist/commands/compress.js +27 -0
- package/dist/commands/hooks.d.ts +19 -0
- package/dist/commands/hooks.js +131 -0
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.js +836 -0
- package/dist/commands/load-context.d.ts +2 -0
- package/dist/commands/load-context.js +151 -0
- package/dist/commands/logs.d.ts +2 -0
- package/dist/commands/logs.js +76 -0
- package/dist/commands/migrate-to-jsonl.d.ts +5 -0
- package/dist/commands/migrate-to-jsonl.js +99 -0
- package/dist/commands/restore.d.ts +1 -0
- package/dist/commands/restore.js +20 -0
- package/dist/commands/status.d.ts +1 -0
- package/dist/commands/status.js +136 -0
- package/dist/commands/trash-empty.d.ts +3 -0
- package/dist/commands/trash-empty.js +56 -0
- package/dist/commands/trash-view.d.ts +1 -0
- package/dist/commands/trash-view.js +101 -0
- package/dist/commands/trash.d.ts +6 -0
- package/dist/commands/trash.js +49 -0
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.js +107 -0
- package/dist/constants.d.ts +271 -0
- package/dist/constants.js +199 -0
- package/dist/core/compression/TranscriptCompressor.d.ts +79 -0
- package/dist/core/compression/TranscriptCompressor.js +585 -0
- package/dist/core/orchestration/PromptOrchestrator.d.ts +165 -0
- package/dist/core/orchestration/PromptOrchestrator.js +182 -0
- package/dist/lib/time-utils.d.ts +5 -0
- package/dist/lib/time-utils.js +70 -0
- package/dist/prompts/constants.d.ts +126 -0
- package/dist/prompts/constants.js +161 -0
- package/dist/prompts/index.d.ts +10 -0
- package/dist/prompts/index.js +11 -0
- package/dist/prompts/templates/analysis/AnalysisTemplates.d.ts +13 -0
- package/dist/prompts/templates/analysis/AnalysisTemplates.js +94 -0
- package/dist/prompts/templates/context/ContextTemplates.d.ts +119 -0
- package/dist/prompts/templates/context/ContextTemplates.js +399 -0
- package/dist/prompts/templates/hooks/HookTemplates.d.ts +175 -0
- package/dist/prompts/templates/hooks/HookTemplates.js +394 -0
- package/dist/prompts/templates/hooks/HookTemplates.test.d.ts +7 -0
- package/dist/prompts/templates/hooks/HookTemplates.test.js +127 -0
- package/dist/shared/config.d.ts +4 -0
- package/dist/shared/config.js +41 -0
- package/dist/shared/error-handler.d.ts +22 -0
- package/dist/shared/error-handler.js +142 -0
- package/dist/shared/logger.d.ts +19 -0
- package/dist/shared/logger.js +51 -0
- package/dist/shared/paths.d.ts +28 -0
- package/dist/shared/paths.js +100 -0
- package/dist/shared/settings.d.ts +41 -0
- package/dist/shared/settings.js +81 -0
- package/dist/shared/types.d.ts +145 -0
- package/dist/shared/types.js +78 -0
- package/docs/STATUS.md +155 -0
- package/docs/chroma-backend-migration.md +161 -0
- package/docs/landing-page-outline.md +287 -0
- package/docs/multi-platform-builds.md +96 -0
- package/docs/plans/cloud-service-plan.md +274 -0
- package/docs/plans/fix-response-format-issue.md +61 -0
- package/docs/plans/restructure-session-hook-output.md +102 -0
- package/docs/plans/session-start-hook-investigation.md +45 -0
- package/docs/plans/src-reorganization-plan.md +181 -0
- package/docs/plans/terminal-effects-decision.md +22 -0
- package/docs/plans/terminal-effects-integration.md +82 -0
- package/docs/plans/trash-bin-feature-plan.md +240 -0
- package/docs/plans/trash-bin-minimal-plan.md +102 -0
- package/docs/reference/bun-single-executable.md +584 -0
- package/docs/reference/cc-output-styles.md +99 -0
- package/docs/reference/chroma-mcp-project-memory-example.md +80 -0
- package/docs/reference/chroma-mcp-team-example.md +92 -0
- package/docs/reference/claude-code/cc-hooks.md +787 -0
- package/docs/reference/claude-code/cc-status-line.md +202 -0
- package/docs/reference/claude-code/hook-configuration.md +173 -0
- package/docs/reference/claude-code/hook-responses.md +127 -0
- package/docs/reference/claude-code/hooks.md +175 -0
- package/docs/reference/claude-code/mcp-configuration.md +133 -0
- package/docs/reference/claude-code/session-start-hook.md +82 -0
- package/docs/reference/load-context-format-example.md +33 -0
- package/docs/reference/mcp-sdk/mcp-typescript-sdk-readme.md +1323 -0
- package/docs/reference/mcp-sdk/server-implementation.md +286 -0
- package/docs/reference/mcp-sdk/stdio-transport.md +345 -0
- package/docs/todos/fix-response-format-tasks.md +43 -0
- package/docs/todos/implementation-todos.md +280 -0
- package/docs/todos/restructure-hook-output-tasks.md +103 -0
- package/docs/todos/session-start-hook-fix.md +26 -0
- package/docs/todos/terminal-effects-tasks.md +42 -0
- package/docs/todos/trash-bin-implementation-todos.md +348 -0
- package/docs/todos/trash-bin-minimal-todos.md +27 -0
- package/package.json +56 -6
- package/claude-mem +0 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# Claude-Mem Trash Bin Implementation TODOs
|
|
2
|
+
|
|
3
|
+
## Phase 1: Core Infrastructure Setup
|
|
4
|
+
|
|
5
|
+
### 1.1 Extend PathResolver Utility
|
|
6
|
+
- [ ] Add `getTrashDir()` method to return `~/.claude-mem/trash`
|
|
7
|
+
- [ ] Add `getTrashFilesDir()` method for `~/.claude-mem/trash/files`
|
|
8
|
+
- [ ] Add `getTrashInfoDir()` method for `~/.claude-mem/trash/info`
|
|
9
|
+
- [ ] Add `getTrashIndexPath()` method for `~/.claude-mem/trash/index.jsonl`
|
|
10
|
+
- [ ] Update `src/shared/paths.ts` with new path methods
|
|
11
|
+
|
|
12
|
+
### 1.2 Extend Settings Interface
|
|
13
|
+
- [ ] Add `trashEnabled: boolean` field to Settings interface
|
|
14
|
+
- [ ] Add `trashMaxSize: number` field for size limit (default 1GB)
|
|
15
|
+
- [ ] Add `trashMaxAge: number` field for auto-cleanup (default 30 days)
|
|
16
|
+
- [ ] Add `trashAutoCleanup: boolean` field
|
|
17
|
+
- [ ] Update `src/shared/types.ts` with new settings fields
|
|
18
|
+
|
|
19
|
+
### 1.3 Create Trash Types
|
|
20
|
+
- [ ] Create `TrashItem` interface with fields:
|
|
21
|
+
- `id: string`
|
|
22
|
+
- `originalPath: string`
|
|
23
|
+
- `trashedPath: string`
|
|
24
|
+
- `deletionDate: Date`
|
|
25
|
+
- `size: number`
|
|
26
|
+
- `restorable: boolean`
|
|
27
|
+
- [ ] Create `TrashMetadata` interface for .trashinfo files
|
|
28
|
+
- [ ] Create `TrashStats` interface for statistics
|
|
29
|
+
- [ ] Add types to `src/shared/types.ts`
|
|
30
|
+
|
|
31
|
+
## Phase 2: Installation Integration
|
|
32
|
+
|
|
33
|
+
### 2.1 Modify install.ts Core Functions
|
|
34
|
+
- [ ] Create `installTrashCli()` function:
|
|
35
|
+
- [ ] Try npm install first
|
|
36
|
+
- [ ] Fallback to pip install
|
|
37
|
+
- [ ] Handle installation failures gracefully
|
|
38
|
+
- [ ] Return installation status
|
|
39
|
+
- [ ] Update `ensureDirectoryStructure()`:
|
|
40
|
+
- [ ] Add trash directory creation
|
|
41
|
+
- [ ] Create files/ subdirectory
|
|
42
|
+
- [ ] Create info/ subdirectory
|
|
43
|
+
- [ ] Initialize index.jsonl file
|
|
44
|
+
- [ ] Create `configureTrashSafety()` function:
|
|
45
|
+
- [ ] Read existing Claude Code settings
|
|
46
|
+
- [ ] Add rm command denials to permissions
|
|
47
|
+
- [ ] Add trash command to allowed tools
|
|
48
|
+
- [ ] Write updated settings
|
|
49
|
+
|
|
50
|
+
### 2.2 Update Installation Flow
|
|
51
|
+
- [ ] Add trash installation to `p.group()` in main install flow
|
|
52
|
+
- [ ] Add trash configuration step after hooks configuration
|
|
53
|
+
- [ ] Update progress messages to include trash setup
|
|
54
|
+
- [ ] Add trash status to installation summary
|
|
55
|
+
- [ ] Handle partial installation failures
|
|
56
|
+
|
|
57
|
+
### 2.3 Create Uninstall Support
|
|
58
|
+
- [ ] Add trash cleanup option to uninstall command
|
|
59
|
+
- [ ] Prompt user about keeping/removing trashed files
|
|
60
|
+
- [ ] Remove trash directories if requested
|
|
61
|
+
- [ ] Clean up Claude Code settings modifications
|
|
62
|
+
- [ ] Update `src/commands/uninstall.ts`
|
|
63
|
+
|
|
64
|
+
## Phase 3: CLI Commands Implementation
|
|
65
|
+
|
|
66
|
+
### 3.1 Create Main Trash Command
|
|
67
|
+
- [ ] Create `src/commands/trash.ts` file
|
|
68
|
+
- [ ] Implement main `trash()` function with options
|
|
69
|
+
- [ ] Add interactive menu using @clack/prompts:
|
|
70
|
+
- [ ] List trashed items
|
|
71
|
+
- [ ] Restore files
|
|
72
|
+
- [ ] Empty trash
|
|
73
|
+
- [ ] Show statistics
|
|
74
|
+
- [ ] Exit option
|
|
75
|
+
- [ ] Handle command-line arguments for direct operations
|
|
76
|
+
- [ ] Add error handling and logging
|
|
77
|
+
|
|
78
|
+
### 3.2 Implement List Functionality
|
|
79
|
+
- [ ] Create `listTrashedItems()` function
|
|
80
|
+
- [ ] Read and parse trash index.jsonl
|
|
81
|
+
- [ ] Format output with:
|
|
82
|
+
- [ ] File name
|
|
83
|
+
- [ ] Original path
|
|
84
|
+
- [ ] Deletion date (relative time)
|
|
85
|
+
- [ ] File size (human readable)
|
|
86
|
+
- [ ] Add sorting options (date, size, name)
|
|
87
|
+
- [ ] Implement pagination for large lists
|
|
88
|
+
|
|
89
|
+
### 3.3 Implement Restore Functionality
|
|
90
|
+
- [ ] Create `restoreFiles()` function
|
|
91
|
+
- [ ] Add interactive file selection (multi-select)
|
|
92
|
+
- [ ] Validate restoration paths
|
|
93
|
+
- [ ] Handle path conflicts:
|
|
94
|
+
- [ ] Prompt for new location
|
|
95
|
+
- [ ] Option to overwrite
|
|
96
|
+
- [ ] Option to rename
|
|
97
|
+
- [ ] Move files from trash to original location
|
|
98
|
+
- [ ] Update trash index
|
|
99
|
+
- [ ] Log restoration operations
|
|
100
|
+
|
|
101
|
+
### 3.4 Implement Empty Trash
|
|
102
|
+
- [ ] Create `emptyTrash()` function
|
|
103
|
+
- [ ] Show summary of what will be deleted
|
|
104
|
+
- [ ] Add progressive confirmation:
|
|
105
|
+
- [ ] First confirm action
|
|
106
|
+
- [ ] Show file count and total size
|
|
107
|
+
- [ ] Final confirmation with typing requirement
|
|
108
|
+
- [ ] Delete files from trash/files
|
|
109
|
+
- [ ] Clean up .trashinfo files
|
|
110
|
+
- [ ] Clear index.jsonl
|
|
111
|
+
- [ ] Log empty operation
|
|
112
|
+
|
|
113
|
+
### 3.5 Implement Statistics
|
|
114
|
+
- [ ] Create `showTrashStats()` function
|
|
115
|
+
- [ ] Calculate and display:
|
|
116
|
+
- [ ] Total items in trash
|
|
117
|
+
- [ ] Total size used
|
|
118
|
+
- [ ] Oldest item date
|
|
119
|
+
- [ ] Most recent deletion
|
|
120
|
+
- [ ] File type breakdown
|
|
121
|
+
- [ ] Add storage usage percentage
|
|
122
|
+
- [ ] Show auto-cleanup status if enabled
|
|
123
|
+
|
|
124
|
+
### 3.6 Add CLI Registration
|
|
125
|
+
- [ ] Update `src/bin/cli.ts`:
|
|
126
|
+
- [ ] Import trash command
|
|
127
|
+
- [ ] Add `.command('trash [action]')`
|
|
128
|
+
- [ ] Add `.description()` for trash command
|
|
129
|
+
- [ ] Add options for list, restore, empty, stats
|
|
130
|
+
- [ ] Register action handler
|
|
131
|
+
|
|
132
|
+
## Phase 4: Trash Operations Core
|
|
133
|
+
|
|
134
|
+
### 4.1 Create Trash Service
|
|
135
|
+
- [ ] Create `src/services/trash-service.ts`
|
|
136
|
+
- [ ] Implement `moveToTrash(filePath: string)` method
|
|
137
|
+
- [ ] Implement `restoreFromTrash(trashId: string)` method
|
|
138
|
+
- [ ] Implement `getTrashContents()` method
|
|
139
|
+
- [ ] Implement `emptyTrashCompletely()` method
|
|
140
|
+
- [ ] Add index management methods
|
|
141
|
+
|
|
142
|
+
### 4.2 Implement Metadata Management
|
|
143
|
+
- [ ] Create `.trashinfo` file generator
|
|
144
|
+
- [ ] Follow freedesktop.org trash specification:
|
|
145
|
+
```ini
|
|
146
|
+
[Trash Info]
|
|
147
|
+
Path=/original/file/path
|
|
148
|
+
DeletionDate=2024-01-15T10:30:00
|
|
149
|
+
```
|
|
150
|
+
- [ ] Create metadata parser
|
|
151
|
+
- [ ] Add metadata validation
|
|
152
|
+
- [ ] Handle corrupted metadata gracefully
|
|
153
|
+
|
|
154
|
+
### 4.3 Create Index Management
|
|
155
|
+
- [ ] Implement `addToTrashIndex()` method
|
|
156
|
+
- [ ] Implement `removeFromTrashIndex()` method
|
|
157
|
+
- [ ] Implement `searchTrashIndex()` method
|
|
158
|
+
- [ ] Add index compaction for performance
|
|
159
|
+
- [ ] Handle concurrent access safely
|
|
160
|
+
|
|
161
|
+
## Phase 5: Claude Code Integration
|
|
162
|
+
|
|
163
|
+
### 5.1 Settings Configuration
|
|
164
|
+
- [ ] Create `updateClaudeSettings()` function
|
|
165
|
+
- [ ] Read `~/.claude/settings.json`
|
|
166
|
+
- [ ] Add permissions.deny array:
|
|
167
|
+
```json
|
|
168
|
+
[
|
|
169
|
+
"Bash(rm *)",
|
|
170
|
+
"Bash(rm -rf *)",
|
|
171
|
+
"Bash(rm -r *)",
|
|
172
|
+
"Bash(sudo rm *)"
|
|
173
|
+
]
|
|
174
|
+
```
|
|
175
|
+
- [ ] Add to permissions.allowedTools:
|
|
176
|
+
```json
|
|
177
|
+
["Bash(trash *)"]
|
|
178
|
+
```
|
|
179
|
+
- [ ] Handle missing settings file
|
|
180
|
+
- [ ] Preserve existing user settings
|
|
181
|
+
|
|
182
|
+
### 5.2 Create Shell Configuration Helper
|
|
183
|
+
- [ ] Generate shell alias recommendations
|
|
184
|
+
- [ ] Detect user's shell (bash, zsh, fish)
|
|
185
|
+
- [ ] Provide copy-paste ready configurations
|
|
186
|
+
- [ ] Create `claude-mem configure-shell` subcommand
|
|
187
|
+
- [ ] Add to documentation
|
|
188
|
+
|
|
189
|
+
## Phase 6: Safety and Error Handling
|
|
190
|
+
|
|
191
|
+
### 6.1 Path Validation
|
|
192
|
+
- [ ] Implement `validatePath()` function
|
|
193
|
+
- [ ] Prevent directory traversal attacks
|
|
194
|
+
- [ ] Check for symbolic links
|
|
195
|
+
- [ ] Validate file permissions
|
|
196
|
+
- [ ] Handle special characters in filenames
|
|
197
|
+
|
|
198
|
+
### 6.2 Graceful Degradation
|
|
199
|
+
- [ ] Handle trash-cli not installed
|
|
200
|
+
- [ ] Fallback to system trash if custom fails
|
|
201
|
+
- [ ] Provide manual recovery instructions
|
|
202
|
+
- [ ] Log all failures for debugging
|
|
203
|
+
- [ ] Add retry mechanisms for transient failures
|
|
204
|
+
|
|
205
|
+
### 6.3 Conflict Resolution
|
|
206
|
+
- [ ] Implement `resolvePathConflict()` function
|
|
207
|
+
- [ ] Offer rename suggestions
|
|
208
|
+
- [ ] Allow custom path selection
|
|
209
|
+
- [ ] Create backup before overwrite
|
|
210
|
+
- [ ] Log all conflict resolutions
|
|
211
|
+
|
|
212
|
+
## Phase 7: Auto-Cleanup Features
|
|
213
|
+
|
|
214
|
+
### 7.1 Size-Based Cleanup
|
|
215
|
+
- [ ] Monitor trash directory size
|
|
216
|
+
- [ ] Implement `checkTrashSize()` function
|
|
217
|
+
- [ ] Warn when approaching limit
|
|
218
|
+
- [ ] Auto-delete oldest items if enabled
|
|
219
|
+
- [ ] Keep important files (marked/starred)
|
|
220
|
+
|
|
221
|
+
### 7.2 Age-Based Cleanup
|
|
222
|
+
- [ ] Implement `cleanOldTrashItems()` function
|
|
223
|
+
- [ ] Check file ages daily
|
|
224
|
+
- [ ] Delete items older than threshold
|
|
225
|
+
- [ ] Skip items marked as keep-forever
|
|
226
|
+
- [ ] Log cleanup operations
|
|
227
|
+
|
|
228
|
+
### 7.3 Cleanup Scheduler
|
|
229
|
+
- [ ] Create background cleanup check
|
|
230
|
+
- [ ] Run on claude-mem startup
|
|
231
|
+
- [ ] Add manual trigger option
|
|
232
|
+
- [ ] Show cleanup in progress
|
|
233
|
+
- [ ] Report cleanup results
|
|
234
|
+
|
|
235
|
+
## Phase 8: Testing
|
|
236
|
+
|
|
237
|
+
### 8.1 Unit Tests
|
|
238
|
+
- [ ] Test trash service methods
|
|
239
|
+
- [ ] Test path validation
|
|
240
|
+
- [ ] Test metadata management
|
|
241
|
+
- [ ] Test index operations
|
|
242
|
+
- [ ] Test conflict resolution
|
|
243
|
+
|
|
244
|
+
### 8.2 Integration Tests
|
|
245
|
+
- [ ] Test installation flow with trash
|
|
246
|
+
- [ ] Test Claude Code settings modification
|
|
247
|
+
- [ ] Test trash-cli integration
|
|
248
|
+
- [ ] Test full trash lifecycle
|
|
249
|
+
- [ ] Test error recovery
|
|
250
|
+
|
|
251
|
+
### 8.3 Cross-Platform Tests
|
|
252
|
+
- [ ] Test on macOS
|
|
253
|
+
- [ ] Test on Ubuntu Linux
|
|
254
|
+
- [ ] Test on Windows (WSL)
|
|
255
|
+
- [ ] Test with different shells
|
|
256
|
+
- [ ] Test permission edge cases
|
|
257
|
+
|
|
258
|
+
## Phase 9: Documentation
|
|
259
|
+
|
|
260
|
+
### 9.1 Update README
|
|
261
|
+
- [ ] Add trash feature description
|
|
262
|
+
- [ ] Include installation requirements
|
|
263
|
+
- [ ] Add usage examples
|
|
264
|
+
- [ ] Document configuration options
|
|
265
|
+
- [ ] Add troubleshooting section
|
|
266
|
+
|
|
267
|
+
### 9.2 Create Trash Guide
|
|
268
|
+
- [ ] Write comprehensive trash documentation
|
|
269
|
+
- [ ] Include command examples
|
|
270
|
+
- [ ] Add recovery scenarios
|
|
271
|
+
- [ ] Document best practices
|
|
272
|
+
- [ ] Create FAQ section
|
|
273
|
+
|
|
274
|
+
### 9.3 Update CLI Help
|
|
275
|
+
- [ ] Add trash command help text
|
|
276
|
+
- [ ] Include all subcommands
|
|
277
|
+
- [ ] Add usage examples
|
|
278
|
+
- [ ] Document options and flags
|
|
279
|
+
- [ ] Update man page if exists
|
|
280
|
+
|
|
281
|
+
## Phase 10: Performance Optimization
|
|
282
|
+
|
|
283
|
+
### 10.1 Index Optimization
|
|
284
|
+
- [ ] Implement lazy loading for trash index
|
|
285
|
+
- [ ] Add caching for frequent queries
|
|
286
|
+
- [ ] Use binary search for sorted data
|
|
287
|
+
- [ ] Implement index compaction
|
|
288
|
+
- [ ] Add performance metrics
|
|
289
|
+
|
|
290
|
+
### 10.2 File Operations
|
|
291
|
+
- [ ] Batch file operations when possible
|
|
292
|
+
- [ ] Use async I/O for large files
|
|
293
|
+
- [ ] Implement progress indicators
|
|
294
|
+
- [ ] Add operation cancellation
|
|
295
|
+
- [ ] Optimize directory scanning
|
|
296
|
+
|
|
297
|
+
## Phase 11: User Experience Polish
|
|
298
|
+
|
|
299
|
+
### 11.1 Interactive Improvements
|
|
300
|
+
- [ ] Add colorized output
|
|
301
|
+
- [ ] Implement fuzzy search for restore
|
|
302
|
+
- [ ] Add file preview option
|
|
303
|
+
- [ ] Show file type icons
|
|
304
|
+
- [ ] Add confirmation sounds (optional)
|
|
305
|
+
|
|
306
|
+
### 11.2 Status Reporting
|
|
307
|
+
- [ ] Create detailed progress bars
|
|
308
|
+
- [ ] Add operation time estimates
|
|
309
|
+
- [ ] Show transfer speeds
|
|
310
|
+
- [ ] Display space saved
|
|
311
|
+
- [ ] Add success animations
|
|
312
|
+
|
|
313
|
+
## Phase 12: Future Enhancements (Post-MVP)
|
|
314
|
+
|
|
315
|
+
### 12.1 Advanced Features
|
|
316
|
+
- [ ] Implement trash versioning
|
|
317
|
+
- [ ] Add trash compression
|
|
318
|
+
- [ ] Create trash export/import
|
|
319
|
+
- [ ] Add cloud backup integration
|
|
320
|
+
- [ ] Implement smart suggestions
|
|
321
|
+
|
|
322
|
+
### 12.2 Integration Extensions
|
|
323
|
+
- [ ] VSCode extension integration
|
|
324
|
+
- [ ] Git integration for tracked files
|
|
325
|
+
- [ ] Project-specific trash bins
|
|
326
|
+
- [ ] Team trash sharing (cloud service)
|
|
327
|
+
- [ ] Webhook notifications
|
|
328
|
+
|
|
329
|
+
## Completion Checklist
|
|
330
|
+
|
|
331
|
+
### Before Release
|
|
332
|
+
- [ ] All core features implemented
|
|
333
|
+
- [ ] Tests passing (>90% coverage)
|
|
334
|
+
- [ ] Documentation complete
|
|
335
|
+
- [ ] Cross-platform verified
|
|
336
|
+
- [ ] Performance benchmarked
|
|
337
|
+
- [ ] Security review completed
|
|
338
|
+
- [ ] User feedback incorporated
|
|
339
|
+
- [ ] Version bump prepared
|
|
340
|
+
- [ ] Release notes written
|
|
341
|
+
- [ ] npm package updated
|
|
342
|
+
|
|
343
|
+
### Post-Release
|
|
344
|
+
- [ ] Monitor error reports
|
|
345
|
+
- [ ] Gather user feedback
|
|
346
|
+
- [ ] Plan next iteration
|
|
347
|
+
- [ ] Update roadmap
|
|
348
|
+
- [ ] Celebrate! 🎉
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Claude-Mem Trash - Minimal TODOs
|
|
2
|
+
|
|
3
|
+
## Make It Work (Day 1)
|
|
4
|
+
|
|
5
|
+
### Create Basic Commands
|
|
6
|
+
- [ ] Create `src/commands/trash.ts` with 10-line implementation
|
|
7
|
+
- [ ] Create `src/commands/restore.ts` with 15-line implementation
|
|
8
|
+
- [ ] Add both commands to `src/bin/cli.ts`
|
|
9
|
+
- [ ] Test moving a file to trash and restoring it
|
|
10
|
+
- [ ] Ship it
|
|
11
|
+
|
|
12
|
+
## Fix What Actually Breaks (When It Breaks)
|
|
13
|
+
|
|
14
|
+
### Only If Users Report Issues
|
|
15
|
+
- [ ] IF files collide → Add timestamp to filename
|
|
16
|
+
- [ ] IF users need a list → Add `trash list` command
|
|
17
|
+
- [ ] IF restore location matters → Store original path in `${file}.json`
|
|
18
|
+
- [ ] IF trash fills disk → Add `trash empty` command
|
|
19
|
+
- [ ] IF users want rm protection → Document alias setup
|
|
20
|
+
|
|
21
|
+
## That's All
|
|
22
|
+
|
|
23
|
+
No more todos until real problems surface from real usage.
|
|
24
|
+
|
|
25
|
+
Total lines of code to write: ~30
|
|
26
|
+
Total time to implement: 2 hours
|
|
27
|
+
Total features that might never be needed: 0
|
package/package.json
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-mem",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.9",
|
|
4
4
|
"description": "Memory compression system for Claude Code - persist context across sessions",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "claude-mem",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"dev": "tsx src/bin/cli.ts",
|
|
9
|
+
"dev:install": "node dist/cli.js install --force",
|
|
10
|
+
"dev:status": "node dist/cli.js status",
|
|
11
|
+
"dev:compress": "node dist/cli.js compress",
|
|
12
|
+
"dev:load": "node dist/cli.js load-context",
|
|
13
|
+
"dev:uninstall": "node dist/cli.js uninstall",
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"test:watch": "npm test -- --watch",
|
|
16
|
+
"lint": "eslint 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'",
|
|
17
|
+
"lint:fix": "npm run lint -- --fix",
|
|
18
|
+
"format": "prettier --write 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'",
|
|
19
|
+
"build:multiplatform": "./scripts/build-multiplatform.sh",
|
|
20
|
+
"publish": "./scripts/npm-publish.sh && cd releases/npm-package && npm publish",
|
|
21
|
+
"publish:latest": "npm version patch && ./scripts/npm-publish.sh && cd releases/npm-package && npm publish"
|
|
22
|
+
},
|
|
5
23
|
"keywords": [
|
|
6
24
|
"claude",
|
|
7
25
|
"claude-code",
|
|
@@ -10,7 +28,9 @@
|
|
|
10
28
|
"compression",
|
|
11
29
|
"knowledge-graph",
|
|
12
30
|
"transcript",
|
|
13
|
-
"cli"
|
|
31
|
+
"cli",
|
|
32
|
+
"typescript",
|
|
33
|
+
"bun"
|
|
14
34
|
],
|
|
15
35
|
"author": "Alex Newman",
|
|
16
36
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -26,13 +46,43 @@
|
|
|
26
46
|
"access": "public",
|
|
27
47
|
"registry": "https://registry.npmjs.org/"
|
|
28
48
|
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"@anthropic-ai/claude-code": "^1.0.88",
|
|
51
|
+
"@clack/prompts": "^0.11.0",
|
|
52
|
+
"@modelcontextprotocol/sdk": "^0.5.0",
|
|
53
|
+
"boxen": "^8.0.1",
|
|
54
|
+
"chalk": "^5.6.0",
|
|
55
|
+
"commander": "^14.0.0",
|
|
56
|
+
"figlet": "^1.8.2",
|
|
57
|
+
"glob": "^11.0.3",
|
|
58
|
+
"gradient-string": "^3.0.0",
|
|
59
|
+
"handlebars": "^4.7.8",
|
|
60
|
+
"oh-my-logo": "^0.3.2"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@types/chai": "^4.3.0",
|
|
64
|
+
"@types/figlet": "^1.7.0",
|
|
65
|
+
"@types/handlebars": "^4.0.40",
|
|
66
|
+
"@types/node": "^20.0.0",
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
68
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
69
|
+
"chai": "^4.3.0",
|
|
70
|
+
"eslint": "^8.0.0",
|
|
71
|
+
"prettier": "^3.0.0",
|
|
72
|
+
"ts-node": "^10.0.0",
|
|
73
|
+
"tsx": "^4.20.5",
|
|
74
|
+
"typescript": "^5.0.0"
|
|
75
|
+
},
|
|
76
|
+
"engines": {
|
|
77
|
+
"node": ">=18.0.0",
|
|
78
|
+
"bun": ">=1.0.0"
|
|
79
|
+
},
|
|
29
80
|
"bin": {
|
|
30
|
-
"claude-mem": "
|
|
81
|
+
"claude-mem": "dist/bin/cli.js"
|
|
31
82
|
},
|
|
32
83
|
"files": [
|
|
33
|
-
"claude-mem",
|
|
34
|
-
"hooks",
|
|
35
84
|
"dist",
|
|
36
|
-
"
|
|
85
|
+
"hooks",
|
|
86
|
+
"docs"
|
|
37
87
|
]
|
|
38
88
|
}
|
package/claude-mem
DELETED
|
Binary file
|