@prmichaelsen/remember-mcp 0.1.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/.env.example +65 -0
- package/AGENT.md +840 -0
- package/README.md +72 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/access-control-result-pattern.md +458 -0
- package/agent/design/action-audit-memory-types.md +637 -0
- package/agent/design/common-template-fields.md +282 -0
- package/agent/design/complete-tool-set.md +407 -0
- package/agent/design/content-types-expansion.md +521 -0
- package/agent/design/cross-database-id-strategy.md +358 -0
- package/agent/design/default-template-library.md +423 -0
- package/agent/design/firestore-wrapper-analysis.md +606 -0
- package/agent/design/llm-provider-abstraction.md +691 -0
- package/agent/design/location-handling-architecture.md +523 -0
- package/agent/design/memory-templates-design.md +364 -0
- package/agent/design/permissions-storage-architecture.md +680 -0
- package/agent/design/relationship-storage-strategy.md +361 -0
- package/agent/design/remember-mcp-implementation-tasks.md +417 -0
- package/agent/design/remember-mcp-progress.yaml +141 -0
- package/agent/design/requirements-enhancements.md +468 -0
- package/agent/design/requirements.md +56 -0
- package/agent/design/template-storage-strategy.md +412 -0
- package/agent/design/template-suggestion-system.md +853 -0
- package/agent/design/trust-escalation-prevention.md +343 -0
- package/agent/design/trust-system-implementation.md +592 -0
- package/agent/design/user-preferences.md +683 -0
- package/agent/design/weaviate-collection-strategy.md +461 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-project-foundation.md +121 -0
- package/agent/milestones/milestone-2-core-memory-system.md +150 -0
- package/agent/milestones/milestone-3-relationships-graph.md +116 -0
- package/agent/milestones/milestone-4-user-preferences.md +103 -0
- package/agent/milestones/milestone-5-template-system.md +126 -0
- package/agent/milestones/milestone-6-auth-multi-tenancy.md +124 -0
- package/agent/milestones/milestone-7-trust-permissions.md +133 -0
- package/agent/milestones/milestone-8-testing-quality.md +137 -0
- package/agent/milestones/milestone-9-deployment-documentation.md +147 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.md +1271 -0
- package/agent/patterns/firebase-admin-sdk-v8-usage.md +950 -0
- package/agent/patterns/firestore-users-pattern-best-practices.md +347 -0
- package/agent/patterns/library-services.md +454 -0
- package/agent/patterns/testing-colocated.md +316 -0
- package/agent/progress.yaml +395 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/task-1-initialize-project-structure.md +266 -0
- package/agent/tasks/task-2-install-dependencies.md +199 -0
- package/agent/tasks/task-3-setup-weaviate-client.md +330 -0
- package/agent/tasks/task-4-setup-firestore-client.md +362 -0
- package/agent/tasks/task-5-create-basic-mcp-server.md +114 -0
- package/agent/tasks/task-6-create-integration-tests.md +195 -0
- package/agent/tasks/task-7-finalize-milestone-1.md +363 -0
- package/agent/tasks/task-8-setup-utility-scripts.md +382 -0
- package/agent/tasks/task-9-create-server-factory.md +404 -0
- package/dist/config.d.ts +26 -0
- package/dist/constants/content-types.d.ts +60 -0
- package/dist/firestore/init.d.ts +14 -0
- package/dist/firestore/paths.d.ts +53 -0
- package/dist/firestore/paths.spec.d.ts +2 -0
- package/dist/server-factory.d.ts +40 -0
- package/dist/server-factory.js +1741 -0
- package/dist/server-factory.spec.d.ts +2 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.js +1690 -0
- package/dist/tools/create-memory.d.ts +94 -0
- package/dist/tools/delete-memory.d.ts +47 -0
- package/dist/tools/search-memory.d.ts +88 -0
- package/dist/types/memory.d.ts +183 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/weaviate/client.d.ts +39 -0
- package/dist/weaviate/client.spec.d.ts +2 -0
- package/dist/weaviate/schema.d.ts +29 -0
- package/esbuild.build.js +60 -0
- package/esbuild.watch.js +25 -0
- package/jest.config.js +31 -0
- package/jest.e2e.config.js +17 -0
- package/package.json +68 -0
- package/src/.gitkeep +0 -0
- package/src/config.ts +56 -0
- package/src/constants/content-types.ts +454 -0
- package/src/firestore/init.ts +68 -0
- package/src/firestore/paths.spec.ts +75 -0
- package/src/firestore/paths.ts +124 -0
- package/src/server-factory.spec.ts +60 -0
- package/src/server-factory.ts +215 -0
- package/src/server.ts +243 -0
- package/src/tools/create-memory.ts +198 -0
- package/src/tools/delete-memory.ts +126 -0
- package/src/tools/search-memory.ts +216 -0
- package/src/types/memory.ts +276 -0
- package/src/utils/logger.ts +42 -0
- package/src/weaviate/client.spec.ts +58 -0
- package/src/weaviate/client.ts +114 -0
- package/src/weaviate/schema.ts +288 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
# Content Type Expansion Analysis
|
|
2
|
+
|
|
3
|
+
**Current File**: [`src/types/content-types.ts`](../src/types/content-types.ts)
|
|
4
|
+
**Last Updated**: 2026-02-11
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Current Content Types (13 types)
|
|
9
|
+
|
|
10
|
+
### Existing Types
|
|
11
|
+
1. `code` - Source code files
|
|
12
|
+
2. `note` - Personal notes and documentation
|
|
13
|
+
3. `screenplay` - Screenplay and script content
|
|
14
|
+
4. `todo` - Task lists and todos
|
|
15
|
+
5. `documentation` - Technical documentation
|
|
16
|
+
6. `conversation` - Chat logs and conversations
|
|
17
|
+
7. `image` - Image files and visual content
|
|
18
|
+
8. `contact` - Contact information
|
|
19
|
+
9. `video` - Video files and recordings
|
|
20
|
+
10. `event` - Calendar events and activities
|
|
21
|
+
11. `audio` - Audio files and recordings
|
|
22
|
+
12. `transcript` - Transcriptions of audio or video content
|
|
23
|
+
13. `system` - Agent instructions (reserved for internal use only)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Proposed Additional Content Types
|
|
28
|
+
|
|
29
|
+
### 🎯 High Priority Additions
|
|
30
|
+
|
|
31
|
+
#### 1. `checklist` ✅
|
|
32
|
+
**Use Cases**:
|
|
33
|
+
- Grocery shopping lists
|
|
34
|
+
- Camping preparation
|
|
35
|
+
- Luggage packing
|
|
36
|
+
- Travel checklists
|
|
37
|
+
- Project setup checklists
|
|
38
|
+
- Onboarding checklists
|
|
39
|
+
- Pre-flight checklists
|
|
40
|
+
|
|
41
|
+
**Difference from `todo`**:
|
|
42
|
+
- `todo`: Individual tasks with due dates, priorities, assignments
|
|
43
|
+
- `checklist`: Reusable templates, sequential steps, completion tracking
|
|
44
|
+
|
|
45
|
+
**Schema Extension**:
|
|
46
|
+
```typescript
|
|
47
|
+
ChecklistMetadata extends DocumentMetadata {
|
|
48
|
+
items: Array<{
|
|
49
|
+
text: string;
|
|
50
|
+
checked: boolean;
|
|
51
|
+
order: number;
|
|
52
|
+
optional?: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
template: boolean; // Is this a reusable template?
|
|
55
|
+
category: 'shopping' | 'travel' | 'preparation' | 'process' | 'other';
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### 2. `recipe`
|
|
60
|
+
**Use Cases**:
|
|
61
|
+
- Cooking recipes
|
|
62
|
+
- Cocktail recipes
|
|
63
|
+
- DIY project instructions
|
|
64
|
+
- Chemical formulas
|
|
65
|
+
- Manufacturing processes
|
|
66
|
+
|
|
67
|
+
**Why Separate from `documentation`**:
|
|
68
|
+
- Structured ingredients list
|
|
69
|
+
- Step-by-step instructions
|
|
70
|
+
- Timing and measurements
|
|
71
|
+
- Serving sizes and scaling
|
|
72
|
+
|
|
73
|
+
#### 3. `bookmark` / `link`
|
|
74
|
+
**Use Cases**:
|
|
75
|
+
- Web bookmarks
|
|
76
|
+
- Resource collections
|
|
77
|
+
- Reference links
|
|
78
|
+
- Reading lists
|
|
79
|
+
|
|
80
|
+
**Schema Extension**:
|
|
81
|
+
```typescript
|
|
82
|
+
BookmarkMetadata extends DocumentMetadata {
|
|
83
|
+
url: string;
|
|
84
|
+
domain: string;
|
|
85
|
+
favicon?: string;
|
|
86
|
+
preview?: string;
|
|
87
|
+
archived: boolean;
|
|
88
|
+
readLater: boolean;
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### 4. `journal` / `diary`
|
|
93
|
+
**Use Cases**:
|
|
94
|
+
- Daily journal entries
|
|
95
|
+
- Mood tracking
|
|
96
|
+
- Gratitude journals
|
|
97
|
+
- Dream logs
|
|
98
|
+
- Reflections
|
|
99
|
+
|
|
100
|
+
**Why Separate from `note`**:
|
|
101
|
+
- Temporal/chronological nature
|
|
102
|
+
- Personal reflection focus
|
|
103
|
+
- Privacy considerations
|
|
104
|
+
- Mood/emotion tracking
|
|
105
|
+
|
|
106
|
+
#### 5. `reference`
|
|
107
|
+
**Use Cases**:
|
|
108
|
+
- Quick reference guides
|
|
109
|
+
- Cheat sheets
|
|
110
|
+
- Command references
|
|
111
|
+
- API documentation snippets
|
|
112
|
+
- Keyboard shortcuts
|
|
113
|
+
|
|
114
|
+
**Why Separate from `documentation`**:
|
|
115
|
+
- Concise, lookup-focused
|
|
116
|
+
- Often tabular or list format
|
|
117
|
+
- Frequently accessed
|
|
118
|
+
|
|
119
|
+
### 🔄 Medium Priority Additions
|
|
120
|
+
|
|
121
|
+
#### 6. `template`
|
|
122
|
+
**Use Cases**:
|
|
123
|
+
- Email templates
|
|
124
|
+
- Document templates
|
|
125
|
+
- Code templates/snippets
|
|
126
|
+
- Message templates
|
|
127
|
+
|
|
128
|
+
#### 7. `form` / `survey`
|
|
129
|
+
**Use Cases**:
|
|
130
|
+
- Questionnaires
|
|
131
|
+
- Feedback forms
|
|
132
|
+
- Data collection forms
|
|
133
|
+
- Surveys
|
|
134
|
+
|
|
135
|
+
#### 8. `invoice` / `receipt`
|
|
136
|
+
**Use Cases**:
|
|
137
|
+
- Financial documents
|
|
138
|
+
- Purchase receipts
|
|
139
|
+
- Invoices
|
|
140
|
+
- Expense tracking
|
|
141
|
+
|
|
142
|
+
#### 9. `contract` / `agreement`
|
|
143
|
+
**Use Cases**:
|
|
144
|
+
- Legal documents
|
|
145
|
+
- Terms of service
|
|
146
|
+
- Agreements
|
|
147
|
+
- Policies
|
|
148
|
+
|
|
149
|
+
#### 10. `presentation` / `slide`
|
|
150
|
+
**Use Cases**:
|
|
151
|
+
- Presentation slides
|
|
152
|
+
- Pitch decks
|
|
153
|
+
- Slide notes
|
|
154
|
+
|
|
155
|
+
**Note**: Currently missing from the list but mentioned in original IMPLEMENTATION_PLAN.md
|
|
156
|
+
|
|
157
|
+
#### 11. `spreadsheet` / `table`
|
|
158
|
+
**Use Cases**:
|
|
159
|
+
- Data tables
|
|
160
|
+
- Spreadsheet data
|
|
161
|
+
- CSV content
|
|
162
|
+
- Structured data
|
|
163
|
+
|
|
164
|
+
**Note**: Also mentioned in original docs but missing from implementation
|
|
165
|
+
|
|
166
|
+
#### 12. `email`
|
|
167
|
+
**Use Cases**:
|
|
168
|
+
- Email messages
|
|
169
|
+
- Email threads
|
|
170
|
+
- Drafts
|
|
171
|
+
|
|
172
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
173
|
+
|
|
174
|
+
#### 13. `article` / `blog`
|
|
175
|
+
**Use Cases**:
|
|
176
|
+
- Blog posts
|
|
177
|
+
- Articles
|
|
178
|
+
- Long-form content
|
|
179
|
+
- Published writing
|
|
180
|
+
|
|
181
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
182
|
+
|
|
183
|
+
#### 14. `webpage`
|
|
184
|
+
**Use Cases**:
|
|
185
|
+
- Saved web pages
|
|
186
|
+
- Web content
|
|
187
|
+
- HTML documents
|
|
188
|
+
|
|
189
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
190
|
+
|
|
191
|
+
#### 15. `social`
|
|
192
|
+
**Use Cases**:
|
|
193
|
+
- Social media posts
|
|
194
|
+
- Tweets
|
|
195
|
+
- Status updates
|
|
196
|
+
|
|
197
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
198
|
+
|
|
199
|
+
### 🌟 Specialized Additions
|
|
200
|
+
|
|
201
|
+
#### 16. `pdf`
|
|
202
|
+
**Use Cases**:
|
|
203
|
+
- PDF documents
|
|
204
|
+
- Scanned documents
|
|
205
|
+
- Reports
|
|
206
|
+
|
|
207
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
208
|
+
|
|
209
|
+
#### 17. `meeting`
|
|
210
|
+
**Use Cases**:
|
|
211
|
+
- Meeting notes
|
|
212
|
+
- Action items
|
|
213
|
+
- Attendees
|
|
214
|
+
- Decisions
|
|
215
|
+
|
|
216
|
+
**Note**: Mentioned in original docs but missing from implementation
|
|
217
|
+
|
|
218
|
+
#### 18. `project`
|
|
219
|
+
**Use Cases**:
|
|
220
|
+
- Project overviews
|
|
221
|
+
- Project plans
|
|
222
|
+
- Milestones
|
|
223
|
+
- Deliverables
|
|
224
|
+
|
|
225
|
+
#### 19. `idea` / `brainstorm`
|
|
226
|
+
**Use Cases**:
|
|
227
|
+
- Random ideas
|
|
228
|
+
- Brainstorming sessions
|
|
229
|
+
- Concepts
|
|
230
|
+
- Inspiration
|
|
231
|
+
|
|
232
|
+
#### 20. `quote` / `excerpt`
|
|
233
|
+
**Use Cases**:
|
|
234
|
+
- Memorable quotes
|
|
235
|
+
- Book excerpts
|
|
236
|
+
- Highlights
|
|
237
|
+
- Citations
|
|
238
|
+
|
|
239
|
+
#### 21. `location` / `place`
|
|
240
|
+
**Use Cases**:
|
|
241
|
+
- Place recommendations
|
|
242
|
+
- Location notes
|
|
243
|
+
- Venue information
|
|
244
|
+
- Travel destinations
|
|
245
|
+
|
|
246
|
+
#### 22. `person` / `profile`
|
|
247
|
+
**Use Cases**:
|
|
248
|
+
- People notes
|
|
249
|
+
- Professional profiles
|
|
250
|
+
- Relationship context
|
|
251
|
+
- Contact details (more detailed than `contact`)
|
|
252
|
+
|
|
253
|
+
#### 23. `habit` / `routine`
|
|
254
|
+
**Use Cases**:
|
|
255
|
+
- Daily routines
|
|
256
|
+
- Habit tracking
|
|
257
|
+
- Recurring activities
|
|
258
|
+
- Schedules
|
|
259
|
+
|
|
260
|
+
#### 24. `goal` / `objective`
|
|
261
|
+
**Use Cases**:
|
|
262
|
+
- Personal goals
|
|
263
|
+
- Professional objectives
|
|
264
|
+
- Milestones
|
|
265
|
+
- KPIs
|
|
266
|
+
|
|
267
|
+
#### 25. `memory` / `reflection`
|
|
268
|
+
**Use Cases**:
|
|
269
|
+
- Personal memories
|
|
270
|
+
- Significant moments
|
|
271
|
+
- Life events
|
|
272
|
+
- Reflections
|
|
273
|
+
|
|
274
|
+
**Note**: Particularly relevant for remember-mcp project!
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Recommended Implementation Strategy
|
|
279
|
+
|
|
280
|
+
### Phase 1: Add Missing Core Types (Immediate)
|
|
281
|
+
Add types that were documented but not implemented:
|
|
282
|
+
```typescript
|
|
283
|
+
export type ContentType =
|
|
284
|
+
// Existing
|
|
285
|
+
| 'code' | 'note' | 'screenplay' | 'todo' | 'documentation'
|
|
286
|
+
| 'conversation' | 'image' | 'contact' | 'video' | 'event'
|
|
287
|
+
| 'audio' | 'transcript' | 'system'
|
|
288
|
+
// Add these (from original docs)
|
|
289
|
+
| 'email' | 'article' | 'webpage' | 'social' | 'pdf'
|
|
290
|
+
| 'spreadsheet' | 'presentation' | 'meeting';
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Phase 2: Add High-Value Types
|
|
294
|
+
```typescript
|
|
295
|
+
export type ContentType =
|
|
296
|
+
// ... existing types ...
|
|
297
|
+
// High priority additions
|
|
298
|
+
| 'checklist' | 'recipe' | 'bookmark' | 'journal' | 'reference';
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Phase 3: Add Specialized Types (As Needed)
|
|
302
|
+
```typescript
|
|
303
|
+
export type ContentType =
|
|
304
|
+
// ... existing types ...
|
|
305
|
+
// Specialized additions
|
|
306
|
+
| 'template' | 'form' | 'invoice' | 'contract' | 'project'
|
|
307
|
+
| 'idea' | 'quote' | 'location' | 'person' | 'habit'
|
|
308
|
+
| 'goal' | 'memory';
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Updated Content Types with Descriptions
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
export const CONTENT_TYPES_DESCRIPTION = `Type of content:
|
|
317
|
+
Core Types:
|
|
318
|
+
- 'code': Source code files and programming content
|
|
319
|
+
- 'note': Personal notes and quick documentation
|
|
320
|
+
- 'documentation': Technical documentation and guides
|
|
321
|
+
- 'reference': Quick reference guides and cheat sheets
|
|
322
|
+
|
|
323
|
+
Task & Planning:
|
|
324
|
+
- 'todo': Individual tasks with due dates and priorities
|
|
325
|
+
- 'checklist': Reusable checklists and sequential steps
|
|
326
|
+
- 'project': Project plans and overviews
|
|
327
|
+
- 'goal': Goals, objectives, and milestones
|
|
328
|
+
- 'habit': Routines and habit tracking
|
|
329
|
+
|
|
330
|
+
Communication:
|
|
331
|
+
- 'email': Email messages and threads
|
|
332
|
+
- 'conversation': Chat logs and conversations
|
|
333
|
+
- 'meeting': Meeting notes and action items
|
|
334
|
+
- 'contact': Contact information
|
|
335
|
+
- 'person': Detailed person profiles and relationship context
|
|
336
|
+
|
|
337
|
+
Content & Media:
|
|
338
|
+
- 'article': Articles and blog posts
|
|
339
|
+
- 'webpage': Saved web pages and HTML content
|
|
340
|
+
- 'social': Social media posts and updates
|
|
341
|
+
- 'image': Image files and visual content
|
|
342
|
+
- 'video': Video files and recordings
|
|
343
|
+
- 'audio': Audio files and recordings
|
|
344
|
+
- 'transcript': Transcriptions of audio or video
|
|
345
|
+
- 'presentation': Presentation slides and decks
|
|
346
|
+
- 'spreadsheet': Data tables and spreadsheet content
|
|
347
|
+
- 'pdf': PDF documents and scanned files
|
|
348
|
+
|
|
349
|
+
Creative:
|
|
350
|
+
- 'screenplay': Screenplay and script content
|
|
351
|
+
- 'recipe': Cooking recipes and instructions
|
|
352
|
+
- 'idea': Brainstorming and concepts
|
|
353
|
+
- 'quote': Memorable quotes and excerpts
|
|
354
|
+
|
|
355
|
+
Personal:
|
|
356
|
+
- 'journal': Daily journal entries and reflections
|
|
357
|
+
- 'memory': Personal memories and significant moments
|
|
358
|
+
- 'event': Calendar events and activities
|
|
359
|
+
|
|
360
|
+
Organizational:
|
|
361
|
+
- 'bookmark': Web bookmarks and resource collections
|
|
362
|
+
- 'template': Reusable templates
|
|
363
|
+
- 'form': Forms and surveys
|
|
364
|
+
- 'location': Place information and recommendations
|
|
365
|
+
|
|
366
|
+
Business:
|
|
367
|
+
- 'invoice': Invoices and receipts
|
|
368
|
+
- 'contract': Contracts and agreements
|
|
369
|
+
|
|
370
|
+
System:
|
|
371
|
+
- 'system': Agent instructions (reserved for internal use only)`;
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## Checklist-Specific Implementation
|
|
377
|
+
|
|
378
|
+
### Enhanced Schema for Checklist Type
|
|
379
|
+
|
|
380
|
+
```typescript
|
|
381
|
+
// Add to content-types.ts
|
|
382
|
+
export interface ChecklistItem {
|
|
383
|
+
id: string;
|
|
384
|
+
text: string;
|
|
385
|
+
checked: boolean;
|
|
386
|
+
order: number;
|
|
387
|
+
optional?: boolean;
|
|
388
|
+
notes?: string;
|
|
389
|
+
dueDate?: string;
|
|
390
|
+
assignee?: string;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
export interface ChecklistMetadata extends DocumentMetadata {
|
|
394
|
+
contentType: 'checklist';
|
|
395
|
+
items: ChecklistItem[];
|
|
396
|
+
isTemplate: boolean;
|
|
397
|
+
category: 'shopping' | 'travel' | 'packing' | 'preparation' | 'process' | 'maintenance' | 'other';
|
|
398
|
+
completionPercentage: number;
|
|
399
|
+
totalItems: number;
|
|
400
|
+
completedItems: number;
|
|
401
|
+
lastUsed?: string;
|
|
402
|
+
useCount?: number;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// Example checklist categories
|
|
406
|
+
export const CHECKLIST_CATEGORIES = {
|
|
407
|
+
shopping: 'Shopping lists (groceries, supplies, etc.)',
|
|
408
|
+
travel: 'Travel preparation and itineraries',
|
|
409
|
+
packing: 'Packing lists for trips or moves',
|
|
410
|
+
preparation: 'Event or activity preparation',
|
|
411
|
+
process: 'Step-by-step processes and procedures',
|
|
412
|
+
maintenance: 'Maintenance and inspection checklists',
|
|
413
|
+
other: 'Other checklist types'
|
|
414
|
+
} as const;
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
### Example Checklist Documents
|
|
418
|
+
|
|
419
|
+
```typescript
|
|
420
|
+
// Grocery Shopping Checklist
|
|
421
|
+
{
|
|
422
|
+
content: "Weekly grocery shopping",
|
|
423
|
+
contentType: "checklist",
|
|
424
|
+
title: "Weekly Groceries",
|
|
425
|
+
metadata: {
|
|
426
|
+
isTemplate: true,
|
|
427
|
+
category: "shopping",
|
|
428
|
+
items: [
|
|
429
|
+
{ id: "1", text: "Milk", checked: false, order: 1 },
|
|
430
|
+
{ id: "2", text: "Eggs", checked: false, order: 2 },
|
|
431
|
+
{ id: "3", text: "Bread", checked: false, order: 3 },
|
|
432
|
+
{ id: "4", text: "Vegetables", checked: false, order: 4 },
|
|
433
|
+
{ id: "5", text: "Fruits", checked: false, order: 5 }
|
|
434
|
+
],
|
|
435
|
+
completionPercentage: 0,
|
|
436
|
+
totalItems: 5,
|
|
437
|
+
completedItems: 0
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
// Camping Preparation Checklist
|
|
442
|
+
{
|
|
443
|
+
content: "Camping trip preparation",
|
|
444
|
+
contentType: "checklist",
|
|
445
|
+
title: "Camping Prep - Summer 2026",
|
|
446
|
+
metadata: {
|
|
447
|
+
isTemplate: false,
|
|
448
|
+
category: "preparation",
|
|
449
|
+
items: [
|
|
450
|
+
{ id: "1", text: "Reserve campsite", checked: true, order: 1 },
|
|
451
|
+
{ id: "2", text: "Check tent condition", checked: true, order: 2 },
|
|
452
|
+
{ id: "3", text: "Buy firewood", checked: false, order: 3 },
|
|
453
|
+
{ id: "4", text: "Pack sleeping bags", checked: false, order: 4 },
|
|
454
|
+
{ id: "5", text: "Prepare food supplies", checked: false, order: 5 },
|
|
455
|
+
{ id: "6", text: "Check weather forecast", checked: false, order: 6, optional: true }
|
|
456
|
+
],
|
|
457
|
+
completionPercentage: 33,
|
|
458
|
+
totalItems: 6,
|
|
459
|
+
completedItems: 2
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
---
|
|
465
|
+
|
|
466
|
+
## Migration Path
|
|
467
|
+
|
|
468
|
+
### Step 1: Update Type Definition
|
|
469
|
+
```typescript
|
|
470
|
+
// src/types/content-types.ts
|
|
471
|
+
export type ContentType =
|
|
472
|
+
| 'code' | 'note' | 'screenplay' | 'todo' | 'documentation'
|
|
473
|
+
| 'conversation' | 'image' | 'contact' | 'video' | 'event'
|
|
474
|
+
| 'audio' | 'transcript' | 'system'
|
|
475
|
+
// Phase 1: Missing core types
|
|
476
|
+
| 'email' | 'article' | 'webpage' | 'social' | 'pdf'
|
|
477
|
+
| 'spreadsheet' | 'presentation' | 'meeting'
|
|
478
|
+
// Phase 2: High-value additions
|
|
479
|
+
| 'checklist' | 'recipe' | 'bookmark' | 'journal' | 'reference';
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Step 2: Update Constants Array
|
|
483
|
+
```typescript
|
|
484
|
+
export const CONTENT_TYPES = [
|
|
485
|
+
// ... existing types ...
|
|
486
|
+
'checklist', 'recipe', 'bookmark', 'journal', 'reference'
|
|
487
|
+
] as const;
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Step 3: Update Description
|
|
491
|
+
Add descriptions for new types to `CONTENT_TYPES_DESCRIPTION`
|
|
492
|
+
|
|
493
|
+
### Step 4: Add Type-Specific Interfaces
|
|
494
|
+
Create specialized interfaces for types that need them (like `ChecklistMetadata`)
|
|
495
|
+
|
|
496
|
+
### Step 5: Update Tools
|
|
497
|
+
Ensure all tools (search, index, etc.) work with new content types
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
## Benefits of Content Type Expansion
|
|
502
|
+
|
|
503
|
+
1. **Better Organization**: More specific types enable better categorization
|
|
504
|
+
2. **Improved Search**: Filter by specific content types for more relevant results
|
|
505
|
+
3. **Type-Specific Features**: Enable specialized functionality per type
|
|
506
|
+
4. **User Experience**: Users can think in terms of what they're storing
|
|
507
|
+
5. **Analytics**: Better insights into what users store and search for
|
|
508
|
+
6. **Future Extensibility**: Foundation for type-specific tools and features
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## Recommendation
|
|
513
|
+
|
|
514
|
+
**Immediate Action**: Add `checklist` type along with other missing core types from the original documentation (email, article, webpage, social, pdf, spreadsheet, presentation, meeting).
|
|
515
|
+
|
|
516
|
+
This gives users 21 content types total, covering most common use cases while maintaining a clean, understandable taxonomy.
|
|
517
|
+
|
|
518
|
+
---
|
|
519
|
+
|
|
520
|
+
**Status**: Proposal for Review
|
|
521
|
+
**Next Step**: Update [`src/types/content-types.ts`](../src/types/content-types.ts) with approved additions
|