sqlew 4.0.5 → 4.1.1
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/CHANGELOG.md +1817 -1782
- package/README.md +409 -468
- package/assets/claude-md-snippets/plan-mode-integration.md +17 -6
- package/assets/config.example.toml +282 -284
- package/assets/sample-agents/README.md +36 -40
- package/assets/sample-agents/sqlew-architect.md +321 -322
- package/assets/sample-agents/sqlew-researcher.md +292 -293
- package/assets/sample-agents/sqlew-scrum-master.md +286 -287
- package/assets/sample-commands/README.md +56 -57
- package/assets/sample-skills/sqlew-plan-guidance/SKILL.md +33 -26
- package/dist/cli/hooks/check-completion.d.ts +19 -0
- package/dist/cli/hooks/check-completion.d.ts.map +1 -0
- package/dist/cli/hooks/check-completion.js +104 -0
- package/dist/cli/hooks/check-completion.js.map +1 -0
- package/dist/cli/hooks/init-hooks.d.ts +35 -0
- package/dist/cli/hooks/init-hooks.d.ts.map +1 -0
- package/dist/cli/hooks/init-hooks.js +425 -0
- package/dist/cli/hooks/init-hooks.js.map +1 -0
- package/dist/cli/hooks/mark-done.d.ts +25 -0
- package/dist/cli/hooks/mark-done.d.ts.map +1 -0
- package/dist/cli/hooks/mark-done.js +128 -0
- package/dist/cli/hooks/mark-done.js.map +1 -0
- package/dist/cli/hooks/plan-id-utils.d.ts +83 -0
- package/dist/cli/hooks/plan-id-utils.d.ts.map +1 -0
- package/dist/cli/hooks/plan-id-utils.js +183 -0
- package/dist/cli/hooks/plan-id-utils.js.map +1 -0
- package/dist/cli/hooks/save.d.ts +23 -0
- package/dist/cli/hooks/save.d.ts.map +1 -0
- package/dist/cli/hooks/save.js +90 -0
- package/dist/cli/hooks/save.js.map +1 -0
- package/dist/cli/hooks/stdin-parser.d.ts +139 -0
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -0
- package/dist/cli/hooks/stdin-parser.js +127 -0
- package/dist/cli/hooks/stdin-parser.js.map +1 -0
- package/dist/cli/hooks/suggest.d.ts +19 -0
- package/dist/cli/hooks/suggest.d.ts.map +1 -0
- package/dist/cli/hooks/suggest.js +157 -0
- package/dist/cli/hooks/suggest.js.map +1 -0
- package/dist/cli/hooks/track-plan.d.ts +36 -0
- package/dist/cli/hooks/track-plan.d.ts.map +1 -0
- package/dist/cli/hooks/track-plan.js +152 -0
- package/dist/cli/hooks/track-plan.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +56 -16
- package/dist/cli.js.map +1 -1
- package/dist/config/global-config.d.ts +187 -0
- package/dist/config/global-config.d.ts.map +1 -0
- package/dist/config/global-config.js +206 -0
- package/dist/config/global-config.js.map +1 -0
- package/dist/config/loader.d.ts +42 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +96 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +59 -59
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +33 -33
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js.map +1 -1
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js +7 -7
- package/dist/database/migrations/v4/20251127000000_add_rejected_status.js.map +1 -1
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js +11 -11
- package/dist/database/migrations/v4/20251127000001_update_task_move_help.js.map +1 -1
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js +10 -10
- package/dist/database/migrations/v4/20251127000002_v4_seed_help_system.js.map +1 -1
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js +7 -7
- package/dist/database/migrations/v4/20251127000003_add_task_notes_column.js.map +1 -1
- package/dist/database/migrations/v4/20251128000000_drop_all_views.js +8 -8
- package/dist/database/migrations/v4/20251128000000_drop_all_views.js.map +1 -1
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +11 -2
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/init-agents.js +0 -1
- package/dist/init-agents.js.map +1 -1
- package/dist/init-skills.d.ts +4 -3
- package/dist/init-skills.d.ts.map +1 -1
- package/dist/init-skills.js +10 -3
- package/dist/init-skills.js.map +1 -1
- package/dist/server/setup.d.ts +8 -0
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +141 -21
- package/dist/server/setup.js.map +1 -1
- package/dist/sync-agents.d.ts.map +1 -1
- package/dist/sync-agents.js +48 -3
- package/dist/sync-agents.js.map +1 -1
- package/dist/sync-commands.d.ts.map +1 -1
- package/dist/sync-commands.js +43 -3
- package/dist/sync-commands.js.map +1 -1
- package/dist/tools/constraints/actions/get.d.ts.map +1 -1
- package/dist/tools/constraints/actions/get.js +5 -8
- package/dist/tools/constraints/actions/get.js.map +1 -1
- package/dist/tools/constraints/help/help.d.ts.map +1 -1
- package/dist/tools/constraints/help/help.js +1 -6
- package/dist/tools/constraints/help/help.js.map +1 -1
- package/dist/tools/context/actions/get.d.ts.map +1 -1
- package/dist/tools/context/actions/get.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +5 -3
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/set-from-policy.d.ts +2 -1
- package/dist/tools/context/actions/set-from-policy.d.ts.map +1 -1
- package/dist/tools/context/actions/set-from-policy.js.map +1 -1
- package/dist/tools/context/help/help.d.ts.map +1 -1
- package/dist/tools/context/help/help.js +1 -7
- package/dist/tools/context/help/help.js.map +1 -1
- package/dist/tools/context/internal/queries.d.ts.map +1 -1
- package/dist/tools/context/internal/queries.js +5 -2
- package/dist/tools/context/internal/queries.js.map +1 -1
- package/dist/tools/context/types.d.ts +1 -1
- package/dist/tools/context/types.d.ts.map +1 -1
- package/dist/tools/files/actions/get.d.ts.map +1 -1
- package/dist/tools/files/actions/get.js +4 -6
- package/dist/tools/files/actions/get.js.map +1 -1
- package/dist/tools/files/help/help.d.ts.map +1 -1
- package/dist/tools/files/help/help.js +1 -6
- package/dist/tools/files/help/help.js.map +1 -1
- package/dist/tools/suggest/help/constraint-help.d.ts.map +1 -1
- package/dist/tools/suggest/help/constraint-help.js +0 -2
- package/dist/tools/suggest/help/constraint-help.js.map +1 -1
- package/dist/tools/suggest/internal/constraint-queries.d.ts.map +1 -1
- package/dist/tools/suggest/internal/constraint-queries.js +12 -5
- package/dist/tools/suggest/internal/constraint-queries.js.map +1 -1
- package/dist/tools/suggest/internal/queries.js +2 -2
- package/dist/tools/suggest/internal/queries.js.map +1 -1
- package/dist/tools/tasks/help/help.d.ts.map +1 -1
- package/dist/tools/tasks/help/help.js +0 -6
- package/dist/tools/tasks/help/help.js.map +1 -1
- package/dist/tools/tasks/help/use-case.d.ts.map +1 -1
- package/dist/tools/tasks/help/use-case.js +0 -1
- package/dist/tools/tasks/help/use-case.js.map +1 -1
- package/dist/tools/tasks/watcher/status.d.ts.map +1 -1
- package/dist/tools/tasks/watcher/status.js +5 -1
- package/dist/tools/tasks/watcher/status.js.map +1 -1
- package/dist/types/decision/params.d.ts +7 -6
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/templates.d.ts +3 -2
- package/dist/types/decision/templates.d.ts.map +1 -1
- package/dist/types/view-entities.d.ts +2 -1
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types.d.ts +19 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/enum-converter.d.ts +72 -0
- package/dist/utils/enum-converter.d.ts.map +1 -0
- package/dist/utils/enum-converter.js +76 -0
- package/dist/utils/enum-converter.js.map +1 -0
- package/dist/utils/hook-queue.d.ts +81 -0
- package/dist/utils/hook-queue.d.ts.map +1 -0
- package/dist/utils/hook-queue.js +156 -0
- package/dist/utils/hook-queue.js.map +1 -0
- package/dist/utils/project-root.d.ts +9 -2
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +16 -2
- package/dist/utils/project-root.js.map +1 -1
- package/dist/utils/tag-parser.d.ts.map +1 -1
- package/dist/utils/tag-parser.js +6 -0
- package/dist/utils/tag-parser.js.map +1 -1
- package/dist/utils/universal-knex.js +3 -3
- package/dist/utils/universal-knex.js.map +1 -1
- package/dist/utils/validators.d.ts +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/vcs-adapter.d.ts +44 -0
- package/dist/utils/vcs-adapter.d.ts.map +1 -1
- package/dist/utils/vcs-adapter.js +88 -0
- package/dist/utils/vcs-adapter.js.map +1 -1
- package/dist/utils/view-queries.d.ts.map +1 -1
- package/dist/utils/view-queries.js +9 -19
- package/dist/utils/view-queries.js.map +1 -1
- package/dist/watcher/base-watcher.d.ts +69 -0
- package/dist/watcher/base-watcher.d.ts.map +1 -0
- package/dist/watcher/base-watcher.js +130 -0
- package/dist/watcher/base-watcher.js.map +1 -0
- package/dist/watcher/index.d.ts +3 -0
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js +2 -0
- package/dist/watcher/index.js.map +1 -1
- package/dist/watcher/queue-watcher.d.ts +64 -0
- package/dist/watcher/queue-watcher.d.ts.map +1 -0
- package/dist/watcher/queue-watcher.js +187 -0
- package/dist/watcher/queue-watcher.js.map +1 -0
- package/docs/ADR_CONCEPTS.md +140 -0
- package/docs/CONFIGURATION.md +922 -925
- package/docs/CROSS_DATABASE.md +153 -0
- package/docs/DATABASE_AUTH.md +70 -356
- package/docs/HOOKS_GUIDE.md +159 -0
- package/docs/SLASH_COMMANDS.md +329 -337
- package/docs/TASK_SYSTEM_DEPRECATED.md +88 -0
- package/docs/changelogs/CHANGELOG_ARCHIVE_v3.4_and_older.md +293 -296
- package/docs/cli/DATA_EXPORT_IMPORT.md +699 -700
- package/docs/cli/README.md +276 -277
- package/package.json +123 -124
- package/docs/ACCEPTANCE_CRITERIA.md +0 -625
- package/docs/AI_AGENT_GUIDE.md +0 -299
- package/docs/ARCHITECTURE.md +0 -167
- package/docs/AUTO_FILE_TRACKING.md +0 -841
- package/docs/BATCH_VALIDATION.md +0 -617
- package/docs/BEST_PRACTICES.md +0 -168
- package/docs/CONSTRAINT_INTELLIGENCE.md +0 -339
- package/docs/DECISION_CONTEXT.md +0 -697
- package/docs/DECISION_INTELLIGENCE.md +0 -605
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +0 -646
- package/docs/MIGRATION_GUIDE_V3.9.0.md +0 -371
- package/docs/SHARED_CONCEPTS.md +0 -225
- package/docs/SPECIALIZED_AGENTS.md +0 -126
- package/docs/TASK_ACTIONS.md +0 -1177
- package/docs/TASK_OVERVIEW.md +0 -452
- package/docs/TASK_PRUNING.md +0 -594
- package/docs/TOOL_REFERENCE.md +0 -1077
- package/docs/TOOL_SELECTION.md +0 -83
- package/docs/WORKFLOWS.md +0 -941
package/README.md
CHANGED
|
@@ -1,468 +1,409 @@
|
|
|
1
|
-
# sqlew
|
|
2
|
-

|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/sqlew)
|
|
5
|
-
[](https://opensource.org/licenses/Apache-2.0)
|
|
6
|
-
|
|
7
|
-
> **ADR (Architecture Decision Record) for AI Agents** – An MCP server that enables AI agents to create, query, and maintain architecture decision records in a structured SQL database
|
|
8
|
-
|
|
9
|
-
## 🚀 Quick Start
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
69
|
-
- **
|
|
70
|
-
- **
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- **
|
|
76
|
-
- **
|
|
77
|
-
|
|
78
|
-
**
|
|
79
|
-
- **
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
**
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
###
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
**
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
###
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
-
|
|
371
|
-
|
|
372
|
-
**
|
|
373
|
-
-
|
|
374
|
-
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
-
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
- [
|
|
389
|
-
|
|
390
|
-
##
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
-
|
|
394
|
-
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
/sqlew search why did we choose JWT authentication
|
|
411
|
-
|
|
412
|
-
# Create constraint to guide AI code generation
|
|
413
|
-
/sqlew add constraint all API endpoints must use /v2/ prefix for versioning
|
|
414
|
-
|
|
415
|
-
# Plan implementation of a decision
|
|
416
|
-
/sqlew plan implementing the PostgreSQL connection pool with pgBouncer
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
See [docs/WORKFLOWS.md](docs/WORKFLOWS.md) for detailed multi-step examples.
|
|
420
|
-
|
|
421
|
-
## Performance
|
|
422
|
-
|
|
423
|
-
- **Query speed**: 2-50ms
|
|
424
|
-
- **Concurrent agents**: 5+ simultaneous
|
|
425
|
-
- **Storage efficiency**: ~140 bytes per decision
|
|
426
|
-
- **Token savings**: 60-75% in typical projects
|
|
427
|
-
|
|
428
|
-
## Support
|
|
429
|
-
|
|
430
|
-
Support development via [GitHub Sponsors](https://github.com/sponsors/sin5ddd) - One-time or monthly options available.
|
|
431
|
-
|
|
432
|
-
## Version
|
|
433
|
-
|
|
434
|
-
Current version: **4.0.2**
|
|
435
|
-
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
436
|
-
|
|
437
|
-
**What's New in v4.0.2:**
|
|
438
|
-
- **Unified CLI Entry Point** - `npx sqlew db:export` works directly (no `npm install` required)
|
|
439
|
-
- **Cross-DB Migration via JSON Only** - SQL dump no longer supports cross-database conversion
|
|
440
|
-
- **Node.js 20+ Required** - Updated minimum version requirement
|
|
441
|
-
|
|
442
|
-
**What's New in v4.0.0:**
|
|
443
|
-
- **Schema Refactoring** - Unified v4_ table prefix, agent system completely removed
|
|
444
|
-
- **Clean Schema** - No legacy columns, optimized for Decision & Constraint repository
|
|
445
|
-
- **Improved Migration System** - Reorganized v3/v4 directories
|
|
446
|
-
|
|
447
|
-
See [docs/DECISION_INTELLIGENCE.md](docs/DECISION_INTELLIGENCE.md) for details on the suggest tool.
|
|
448
|
-
|
|
449
|
-
## License
|
|
450
|
-
|
|
451
|
-
Apache License 2.0 - Free for commercial and personal use. See [LICENSE](LICENSE) for details.
|
|
452
|
-
|
|
453
|
-
## Links
|
|
454
|
-
|
|
455
|
-
- [npm package](https://www.npmjs.com/package/sqlew)
|
|
456
|
-
- [GitHub repository](https://github.com/sin5ddd/mcp-sqlew)
|
|
457
|
-
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
458
|
-
|
|
459
|
-
## Support & Documentation
|
|
460
|
-
|
|
461
|
-
- Issues: [GitHub Issues](https://github.com/sin5ddd/mcp-sqlew/issues)
|
|
462
|
-
- Docs: [docs/](docs/) directory
|
|
463
|
-
|
|
464
|
-
## Acknowledgments
|
|
465
|
-
|
|
466
|
-
Built with [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk), [better-sqlite3](https://github.com/WiseLibs/better-sqlite3), and TypeScript.
|
|
467
|
-
|
|
468
|
-
**Author**: sin5ddd
|
|
1
|
+
# sqlew
|
|
2
|
+

|
|
3
|
+
|
|
4
|
+
[](https://www.npmjs.com/package/sqlew)
|
|
5
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
6
|
+
|
|
7
|
+
> **ADR (Architecture Decision Record) for AI Agents** – An MCP server that enables AI agents to create, query, and maintain architecture decision records in a structured SQL database
|
|
8
|
+
|
|
9
|
+
## 🚀 Quick Start
|
|
10
|
+
|
|
11
|
+
### 1. Install globally (Recommended)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g sqlew
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Add to your MCP config
|
|
18
|
+
|
|
19
|
+
Add to `.mcp.json` in your project root:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"sqlew": {
|
|
25
|
+
"command": "sqlew"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 3. Initialize hooks
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
sqlew init --hooks
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 4. Just use Plan Mode!
|
|
38
|
+
|
|
39
|
+
**That's it!** Now every time you:
|
|
40
|
+
1. Create a plan in Claude Code
|
|
41
|
+
2. Get user approval (ExitPlanMode)
|
|
42
|
+
|
|
43
|
+
→ Your architectural decisions are **automatically recorded** as ADR knowledge.
|
|
44
|
+
|
|
45
|
+
No special commands needed. Just plan your work normally, and sqlew captures the decisions in the background.
|
|
46
|
+
|
|
47
|
+
### Optional: /sqlew command
|
|
48
|
+
|
|
49
|
+
For manual queries and explicit decision recording:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
/sqlew # Show status
|
|
53
|
+
/sqlew search auth # Search past decisions
|
|
54
|
+
/sqlew record use Redis # Record a decision manually
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## What is sqlew?
|
|
60
|
+
|
|
61
|
+
**sqlew** is a Model Context Protocol (MCP) server that brings ADR (Architecture Decision Record) capabilities to AI agents through a shared SQL-backed repository.
|
|
62
|
+
|
|
63
|
+
### The Problem: AI Agents Lack Decision Memory
|
|
64
|
+
Every AI session starts with zero context. Agents must re-learn architectural decisions, can reintroduce previously rejected patterns, and have no systematic way to understand WHY past choices were made.
|
|
65
|
+
|
|
66
|
+
Traditional ADR approaches use Markdown files scattered across repositories. While human-readable, this format creates challenges for AI agents:
|
|
67
|
+
- **No structured querying** – AI must read entire files to find relevant decisions
|
|
68
|
+
- **Context explosion** – Token costs grow linearly with decision history
|
|
69
|
+
- **No duplicate detection** – AI cannot easily identify similar or conflicting decisions
|
|
70
|
+
- **Poor discoverability** – Finding related decisions requires full-text search across many files
|
|
71
|
+
|
|
72
|
+
### *sqlew* brings structured ADR to AI agents
|
|
73
|
+
sqlew transforms ADR from static documentation into a **queryable, AI-native decision database**:
|
|
74
|
+
|
|
75
|
+
- **Structured records** – Decisions stored as relational data with metadata, tags, and relationships
|
|
76
|
+
- **Efficient querying** – AI agents retrieve only relevant decisions via SQL queries
|
|
77
|
+
- **Smart suggestions** – Three-tier similarity system detects duplicate or related decisions
|
|
78
|
+
- **Constraint tracking** – Architectural rules and principles as first-class entities
|
|
79
|
+
- **Auto-capture** – Claude Code Hooks automatically record decisions from Plan Mode
|
|
80
|
+
|
|
81
|
+
> *This software does not send any data to external networks. We NEVER collect any data or usage statistics. Please use it with complete security.*
|
|
82
|
+
|
|
83
|
+
## Why sqlew?
|
|
84
|
+
|
|
85
|
+
AI agents automatically accumulate project knowledge through Plan Mode. Decisions are stored in SQL for efficient querying.
|
|
86
|
+
|
|
87
|
+
**Perfect for:**
|
|
88
|
+
- 🏢 Large-scale projects with many architectural decisions
|
|
89
|
+
- 🔧 Long-term maintenance where context must persist across sessions
|
|
90
|
+
- 👥 Team environments where multiple AI agents share knowledge
|
|
91
|
+
|
|
92
|
+
**Key benefits:**
|
|
93
|
+
- ⚡ **60-75% token reduction** vs reading Markdown ADRs
|
|
94
|
+
- 🔍 **Millisecond queries** (2-50ms) even with thousands of decisions
|
|
95
|
+
- 🛡️ **Duplicate prevention** via similarity detection
|
|
96
|
+
- 📚 **Persistent memory** across all AI sessions
|
|
97
|
+
|
|
98
|
+
→ See [ADR Concepts](docs/ADR_CONCEPTS.md) for detailed architecture.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
**Technical Features**: 7 MCP tools (4 core: decision, constraint, file, suggest + 3 utility: help, example, use_case), three-tier similarity detection (0-100 point scoring), ACID transaction support, multi-database backend (SQLite/PostgreSQL/MySQL), metadata-driven organization with layers and tags
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## Installation
|
|
106
|
+
|
|
107
|
+
### Requirements
|
|
108
|
+
- Node.js 20.0.0 or higher
|
|
109
|
+
- npm or npx
|
|
110
|
+
|
|
111
|
+
### Recommended: Global Install
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm install -g sqlew
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
> **Why global install?** Claude Code Hooks call `sqlew` directly from shell. Global install ensures hooks work correctly without npx overhead.
|
|
118
|
+
|
|
119
|
+
Then add to `.mcp.json` in your project root:
|
|
120
|
+
|
|
121
|
+
```json
|
|
122
|
+
{
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"sqlew": {
|
|
125
|
+
"command": "sqlew"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Alternative: npx (No Install)
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"sqlew": {
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["sqlew"]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Note**: First run initializes the database. Restart Claude Code to load the MCP server.
|
|
145
|
+
|
|
146
|
+
Each project maintains its own context database in `.sqlew/sqlew.db`.
|
|
147
|
+
|
|
148
|
+
**Custom database path:** Add path as argument: `"args": ["sqlew", "/path/to/db.db"]`
|
|
149
|
+
**Default location:** `.sqlew/sqlew.db`
|
|
150
|
+
|
|
151
|
+
**⚠️ Not Supported:** Junie AI cannot use relative paths in MCP server configurations, which makes it incompatible with sqlew's project-based database model. Each project requires its own isolated database at `.sqlew/sqlew.db`, but Junie AI's global MCP configuration cannot handle per-project database paths.
|
|
152
|
+
|
|
153
|
+
## Configuration
|
|
154
|
+
|
|
155
|
+
### Database Support
|
|
156
|
+
|
|
157
|
+
sqlew supports multiple database backends for different deployment scenarios:
|
|
158
|
+
|
|
159
|
+
| Database | Use Case | Status |
|
|
160
|
+
|----------|----------------------------------------------|-------------|
|
|
161
|
+
| **SQLite** | Personal or small projects | ✅ Default |
|
|
162
|
+
| **MySQL 8.0 / MariaDB 10+** | Production, shared environments, remote work | ✅ Supported |
|
|
163
|
+
| **PostgreSQL 12+** | Production, shared environments, remote work | ✅ Supported |
|
|
164
|
+
|
|
165
|
+
Of course, it also works with Docker RDB instances.
|
|
166
|
+
|
|
167
|
+
### Optional Config File
|
|
168
|
+
|
|
169
|
+
On first run, `.sqlew/config.toml` will be created for persistent settings:
|
|
170
|
+
|
|
171
|
+
**SQLite (Default):**
|
|
172
|
+
```toml
|
|
173
|
+
[database]
|
|
174
|
+
path = ".sqlew/custom.db"
|
|
175
|
+
|
|
176
|
+
[autodelete]
|
|
177
|
+
ignore_weekend = true
|
|
178
|
+
message_hours = 48
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**PostgreSQL:**
|
|
182
|
+
```toml
|
|
183
|
+
[database]
|
|
184
|
+
type = "postgres"
|
|
185
|
+
|
|
186
|
+
[database.connection]
|
|
187
|
+
host = "localhost"
|
|
188
|
+
port = 5432
|
|
189
|
+
database = "sqlew_db"
|
|
190
|
+
|
|
191
|
+
[database.auth]
|
|
192
|
+
type = "direct"
|
|
193
|
+
user = "sqlew_user"
|
|
194
|
+
password = "secret"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**MySQL/MariaDB:**
|
|
198
|
+
```toml
|
|
199
|
+
[database]
|
|
200
|
+
type = "mysql"
|
|
201
|
+
|
|
202
|
+
[database.connection]
|
|
203
|
+
host = "localhost"
|
|
204
|
+
port = 3306
|
|
205
|
+
database = "sqlew_db"
|
|
206
|
+
|
|
207
|
+
[database.auth]
|
|
208
|
+
type = "direct"
|
|
209
|
+
user = "sqlew_user"
|
|
210
|
+
password = "secret"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Also `.sqlew/config.example.toml` is created for reference.
|
|
214
|
+
|
|
215
|
+
**Settings Priority:** CLI args > config.toml > database defaults
|
|
216
|
+
|
|
217
|
+
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for all options and validation rules.
|
|
218
|
+
|
|
219
|
+
### CLI Configuration (Recommended)
|
|
220
|
+
|
|
221
|
+
Configuration is managed via **`.sqlew/config.toml`** file and **CLI arguments only**. The MCP `config` tool has been removed for simplicity.
|
|
222
|
+
|
|
223
|
+
**Why CLI-only configuration?**
|
|
224
|
+
- **No drift:** Single source of truth (config file)
|
|
225
|
+
- **Version control:** Commit config to git, share with team
|
|
226
|
+
- **Clear documentation:** Config file documents project requirements
|
|
227
|
+
- **Type safety:** TOML validation catches errors at startup
|
|
228
|
+
|
|
229
|
+
**Common CLI arguments:**
|
|
230
|
+
```bash
|
|
231
|
+
# Custom database path
|
|
232
|
+
npx sqlew /path/to/database.db
|
|
233
|
+
|
|
234
|
+
# Auto-deletion settings
|
|
235
|
+
npx sqlew --autodelete-message-hours=48
|
|
236
|
+
npx sqlew --autodelete-file-history-days=30
|
|
237
|
+
npx sqlew --autodelete-ignore-weekend
|
|
238
|
+
|
|
239
|
+
# Custom config file
|
|
240
|
+
npx sqlew --config-path=.sqlew/custom.toml
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
For persistent settings, edit `.sqlew/config.toml` instead of using CLI arguments.
|
|
244
|
+
|
|
245
|
+
## Quick Start
|
|
246
|
+
|
|
247
|
+
install it, launch claude, exit claude and launch Claude again.
|
|
248
|
+
|
|
249
|
+
### Basic Usage
|
|
250
|
+
|
|
251
|
+
You'll never need to call it manually, I recommend to call this tool via prompt.
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
read sqlew usecases, and plan implementation of feature X using sqlew.
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
or invoke Specialized Agent
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
/sqw-plan implementation of feature X .
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Specialized Agents use sqlew more efficiently.
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
**Note**: The `/sqlew` command supersedes the previous multi-command system (`/sqw-plan`, `/sqw-scrum`, etc.). All functionality is now available through the unified `/sqlew` interface with automatic intent detection.
|
|
268
|
+
|
|
269
|
+
### Advanced: Direct MCP Tool Access
|
|
270
|
+
|
|
271
|
+
Power users can still call MCP tools directly. See [Available Tools](#available-tools) section below.
|
|
272
|
+
|
|
273
|
+
### Available Tools
|
|
274
|
+
|
|
275
|
+
#### Core ADR Tools
|
|
276
|
+
|
|
277
|
+
| Tool | Purpose | Example Use |
|
|
278
|
+
|------|---------|------------|
|
|
279
|
+
| **decision** | Record architectural decisions with context | "We chose PostgreSQL over MongoDB (ACID requirement)" |
|
|
280
|
+
| **constraint** | Define architectural rules and principles | "All API endpoints must use /v2/ prefix" |
|
|
281
|
+
| **file** | Track code changes linked to decisions | "Modified auth.ts per security ADR" |
|
|
282
|
+
| **suggest** | Find similar decisions, prevent duplicates | Duplicate detection, similarity search |
|
|
283
|
+
|
|
284
|
+
#### Utility Tools
|
|
285
|
+
|
|
286
|
+
| Tool | Purpose | Example Use |
|
|
287
|
+
|------|---------|------------|
|
|
288
|
+
| **help** | Query action documentation and parameters | Get decision.set parameters |
|
|
289
|
+
| **example** | Browse code examples by tool/action | Find task.create examples |
|
|
290
|
+
| **use_case** | Complete workflow scenarios | Multi-step ADR workflows |
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
## Documentation
|
|
294
|
+
|
|
295
|
+
Each tool supports `action: "help"` for full documentation and `action: "example"` for comprehensive usage examples.
|
|
296
|
+
|
|
297
|
+
And `action: "use_case"` shows how to use the tool in a real-world scenario.
|
|
298
|
+
|
|
299
|
+
### On-Demand Documentation
|
|
300
|
+
|
|
301
|
+
All tools support:
|
|
302
|
+
- `action: "help"` - Parameter reference and descriptions
|
|
303
|
+
- `action: "example"` - Usage scenarios and examples
|
|
304
|
+
- `action: "use_case"` - Real-world usage examples
|
|
305
|
+
|
|
306
|
+
### For AI Agents
|
|
307
|
+
|
|
308
|
+
**Essential Guides:**
|
|
309
|
+
|
|
310
|
+
**Advanced Features:**
|
|
311
|
+
- [Hooks Guide](docs/HOOKS_GUIDE.md) - Claude Code Hooks integration
|
|
312
|
+
- [Cross Database](docs/CROSS_DATABASE.md) - Multi-database support
|
|
313
|
+
|
|
314
|
+
**Reference:**
|
|
315
|
+
- [Configuration](docs/CONFIGURATION.md) - Config file setup, all options
|
|
316
|
+
|
|
317
|
+
### Advanced Usage
|
|
318
|
+
|
|
319
|
+
- [Configuration Guide](docs/CONFIGURATION.md) - TOML config file setup
|
|
320
|
+
- [CLI Mode Overview](docs/cli/README.md) - Database migration, export/import commands
|
|
321
|
+
- [Migration Guides](docs/MIGRATION_v2.md) - Version upgrade guides
|
|
322
|
+
|
|
323
|
+
## Use Cases
|
|
324
|
+
|
|
325
|
+
### ADR-Driven Development with AI
|
|
326
|
+
- **Architecture Evolution** – Document major architectural decisions with full context and alternatives
|
|
327
|
+
- **Pattern Standardization** – Establish coding patterns as constraints, enforce via AI code generation
|
|
328
|
+
- **Technical Debt Tracking** – Record temporary decisions with deprecation paths and future plans
|
|
329
|
+
- **Onboarding Acceleration** – New AI sessions instantly understand architectural history
|
|
330
|
+
|
|
331
|
+
### Cross-Session AI Workflows
|
|
332
|
+
- **Multi-Session Projects** – AI maintains context across days/weeks without re-reading documentation
|
|
333
|
+
- **Multi-Agent Coordination** – Multiple AI agents share architectural understanding through ADR database
|
|
334
|
+
- **Breaking Change Management** – Document API changes, deprecations, and migration paths systematically
|
|
335
|
+
- **Refactoring Guidance** – AI references past decisions to maintain architectural consistency during refactors
|
|
336
|
+
|
|
337
|
+
### Real-World Examples
|
|
338
|
+
```bash
|
|
339
|
+
# Document an architectural decision with alternatives
|
|
340
|
+
/sqlew record we use PostgreSQL over MongoDB. MongoDB was rejected due to lack of ACID transactions for our financial data requirements.
|
|
341
|
+
|
|
342
|
+
# Search for past decisions before making new ones
|
|
343
|
+
/sqlew search why did we choose JWT authentication
|
|
344
|
+
|
|
345
|
+
# Create constraint to guide AI code generation
|
|
346
|
+
/sqlew add constraint all API endpoints must use /v2/ prefix for versioning
|
|
347
|
+
|
|
348
|
+
# Plan implementation of a decision
|
|
349
|
+
/sqlew plan implementing the PostgreSQL connection pool with pgBouncer
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
## Performance
|
|
354
|
+
|
|
355
|
+
- **Query speed**: 2-50ms
|
|
356
|
+
- **Concurrent agents**: 5+ simultaneous
|
|
357
|
+
- **Storage efficiency**: ~140 bytes per decision
|
|
358
|
+
- **Token savings**: 60-75% in typical projects
|
|
359
|
+
|
|
360
|
+
## Support
|
|
361
|
+
|
|
362
|
+
Support development via [GitHub Sponsors](https://github.com/sponsors/sin5ddd) - One-time or monthly options available.
|
|
363
|
+
|
|
364
|
+
## Version
|
|
365
|
+
|
|
366
|
+
Current version: **4.1.0**
|
|
367
|
+
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
368
|
+
|
|
369
|
+
**What's New in v4.1.0:**
|
|
370
|
+
- **Claude Code Hooks Integration** - File Queue Architecture for async decision operations
|
|
371
|
+
- **Hook Commands** - `suggest`, `track-plan`, `save`, `check-completion`, `mark-done`
|
|
372
|
+
- **QueueWatcher** - Monitors `.sqlew/queue/pending.json` for hook operations
|
|
373
|
+
- **PostgreSQL Compatibility** - GROUP_CONCAT → string_agg, GROUP BY strictness fixes
|
|
374
|
+
- **Cross-DB Verified** - SQLite, MySQL, MariaDB, PostgreSQL all tested
|
|
375
|
+
|
|
376
|
+
**What's New in v4.0.5:**
|
|
377
|
+
- **License Change** - Apache License 2.0 (from AGPL-3.0)
|
|
378
|
+
|
|
379
|
+
**What's New in v4.0.2:**
|
|
380
|
+
- **Unified CLI Entry Point** - `npx sqlew db:export` works directly (no `npm install` required)
|
|
381
|
+
- **Cross-DB Migration via JSON Only** - SQL dump no longer supports cross-database conversion
|
|
382
|
+
- **Node.js 20+ Required** - Updated minimum version requirement
|
|
383
|
+
|
|
384
|
+
See [docs/HOOKS_GUIDE.md](docs/HOOKS_GUIDE.md) for Claude Code Hooks details.
|
|
385
|
+
|
|
386
|
+
## License
|
|
387
|
+
|
|
388
|
+
Apache License 2.0 - Free for commercial and personal use. See [LICENSE](LICENSE) for details.
|
|
389
|
+
|
|
390
|
+
## Links
|
|
391
|
+
|
|
392
|
+
- [npm package](https://www.npmjs.com/package/sqlew)
|
|
393
|
+
- [GitHub repository](https://github.com/sin5ddd/mcp-sqlew)
|
|
394
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
395
|
+
|
|
396
|
+
## Support & Documentation
|
|
397
|
+
|
|
398
|
+
- Issues: [GitHub Issues](https://github.com/sin5ddd/mcp-sqlew/issues)
|
|
399
|
+
- Docs: [docs/](docs/) directory
|
|
400
|
+
|
|
401
|
+
## Acknowledgments
|
|
402
|
+
|
|
403
|
+
Built with [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk), [better-sqlite3](https://github.com/WiseLibs/better-sqlite3), and TypeScript.
|
|
404
|
+
|
|
405
|
+
**Author**: sin5ddd
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
<!-- Git Hooks Integration Test: 2025-12-22 - This line tests post-merge hook triggering mark-done --auto -->
|