sqlew 3.0.2 → 3.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/LICENSE +49 -18
- package/README.md +37 -2
- package/assets/schema.sql +1 -0
- package/dist/index.js +26 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/tasks.d.ts +2 -2
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +121 -9
- package/dist/tools/tasks.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/watcher/file-watcher.d.ts +75 -0
- package/dist/watcher/file-watcher.d.ts.map +1 -0
- package/dist/watcher/file-watcher.js +374 -0
- package/dist/watcher/file-watcher.js.map +1 -0
- package/dist/watcher/index.d.ts +8 -0
- package/dist/watcher/index.d.ts.map +1 -0
- package/dist/watcher/index.js +7 -0
- package/dist/watcher/index.js.map +1 -0
- package/dist/watcher/test-executor.d.ts +23 -0
- package/dist/watcher/test-executor.d.ts.map +1 -0
- package/dist/watcher/test-executor.js +226 -0
- package/dist/watcher/test-executor.js.map +1 -0
- package/docs/ACCEPTANCE_CRITERIA.md +625 -0
- package/docs/AUTO_FILE_TRACKING.md +436 -0
- package/package.json +5 -4
- package/docs/refactoring-summary-2025-10-17.md +0 -365
- package/docs/requirement-2025-10-17.md +0 -508
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
# Auto File Tracking
|
|
2
|
+
|
|
3
|
+
**Zero-Token Task Management** - Automatic task status transitions based on file changes and acceptance criteria validation.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The Auto File Tracking system monitors files linked to tasks and automatically manages task lifecycle:
|
|
8
|
+
|
|
9
|
+
1. **Auto-Transition to In Progress**: When a file linked to a `todo` task is modified, the task automatically moves to `in_progress`
|
|
10
|
+
2. **Auto-Completion**: When all acceptance criteria pass for an `in_progress` task, it automatically moves to `done`
|
|
11
|
+
3. **Zero Token Overhead**: All status updates happen automatically without manual MCP tool calls
|
|
12
|
+
|
|
13
|
+
**Token Savings**: 97% reduction (4,650 tokens saved per 6-task session)
|
|
14
|
+
|
|
15
|
+
## Architecture
|
|
16
|
+
|
|
17
|
+
### Components
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─────────────────────────────────────────────────────────┐
|
|
21
|
+
│ MCP Server (index.ts) │
|
|
22
|
+
│ ├─ Initializes FileWatcher on startup │
|
|
23
|
+
│ └─ Loads task-file links from database │
|
|
24
|
+
└─────────────────────────────────────────────────────────┘
|
|
25
|
+
│
|
|
26
|
+
▼
|
|
27
|
+
┌─────────────────────────────────────────────────────────┐
|
|
28
|
+
│ FileWatcher (src/watcher/file-watcher.ts) │
|
|
29
|
+
│ ├─ Monitors files using chokidar │
|
|
30
|
+
│ ├─ Debounces changes (2s stabilization) │
|
|
31
|
+
│ ├─ Maps file paths → task IDs │
|
|
32
|
+
│ └─ Triggers auto-transitions on file change │
|
|
33
|
+
└─────────────────────────────────────────────────────────┘
|
|
34
|
+
│
|
|
35
|
+
▼
|
|
36
|
+
┌─────────────────────────────────────────────────────────┐
|
|
37
|
+
│ TestExecutor (src/watcher/test-executor.ts) │
|
|
38
|
+
│ ├─ Executes acceptance checks │
|
|
39
|
+
│ ├─ Supports 4 check types │
|
|
40
|
+
│ └─ Returns pass/fail results │
|
|
41
|
+
└─────────────────────────────────────────────────────────┘
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Database Schema
|
|
45
|
+
|
|
46
|
+
The system uses the existing `t_task_details` table with an additional column:
|
|
47
|
+
|
|
48
|
+
```sql
|
|
49
|
+
ALTER TABLE t_task_details
|
|
50
|
+
ADD COLUMN acceptance_criteria_json TEXT;
|
|
51
|
+
-- JSON format: [{"type": "tests_pass", "command": "npm test", "expected_pattern": "passing"}]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Task-file links are stored in `t_task_file_links`:
|
|
55
|
+
|
|
56
|
+
```sql
|
|
57
|
+
CREATE TABLE t_task_file_links (
|
|
58
|
+
task_id INTEGER REFERENCES t_tasks(id) ON DELETE CASCADE,
|
|
59
|
+
file_id INTEGER REFERENCES m_files(id),
|
|
60
|
+
PRIMARY KEY (task_id, file_id)
|
|
61
|
+
);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## How It Works
|
|
65
|
+
|
|
66
|
+
### Step 1: Create Task with File Links
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// Create task
|
|
70
|
+
task action=create
|
|
71
|
+
title: "Implement user authentication"
|
|
72
|
+
acceptance_criteria: [
|
|
73
|
+
{type: "tests_pass", command: "npm test auth", expected_pattern: "passing"},
|
|
74
|
+
{type: "code_contains", file: "src/auth.ts", pattern: "export class AuthService"}
|
|
75
|
+
]
|
|
76
|
+
assigned_agent: "backend-dev"
|
|
77
|
+
status: "todo"
|
|
78
|
+
|
|
79
|
+
// Link files to task
|
|
80
|
+
task action=link
|
|
81
|
+
task_id: 123
|
|
82
|
+
link_type: "file"
|
|
83
|
+
target_id: "src/auth.ts"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Step 2: Automatic Monitoring
|
|
87
|
+
|
|
88
|
+
When the task is created and files are linked:
|
|
89
|
+
|
|
90
|
+
1. FileWatcher registers `src/auth.ts` for monitoring
|
|
91
|
+
2. Chokidar starts watching the file for changes
|
|
92
|
+
3. Task remains in `todo` status
|
|
93
|
+
|
|
94
|
+
### Step 3: Auto-Transition (todo → in_progress)
|
|
95
|
+
|
|
96
|
+
When an AI agent edits `src/auth.ts`:
|
|
97
|
+
|
|
98
|
+
1. Chokidar detects file change (after 2s debounce)
|
|
99
|
+
2. FileWatcher identifies task #123 is linked to this file
|
|
100
|
+
3. Task status automatically updates: `todo` → `in_progress`
|
|
101
|
+
4. Activity log records the auto-transition
|
|
102
|
+
|
|
103
|
+
**Console Output:**
|
|
104
|
+
```
|
|
105
|
+
📝 File changed: auth.ts
|
|
106
|
+
✓ Task #123 "Implement user authentication": todo → in_progress
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 4: Auto-Completion (in_progress → done)
|
|
110
|
+
|
|
111
|
+
After the file change, FileWatcher checks acceptance criteria:
|
|
112
|
+
|
|
113
|
+
1. Executes `npm test auth` command
|
|
114
|
+
2. Checks if output contains "passing"
|
|
115
|
+
3. Validates `src/auth.ts` contains `export class AuthService`
|
|
116
|
+
4. If all checks pass → task moves to `done`
|
|
117
|
+
|
|
118
|
+
**Console Output:**
|
|
119
|
+
```
|
|
120
|
+
🔍 Checking acceptance criteria for task #123...
|
|
121
|
+
✓ Check 1: Command succeeded and output matches pattern "passing"
|
|
122
|
+
✓ Check 2: Pattern "export class AuthService" found in "src/auth.ts"
|
|
123
|
+
🎉 Task #123 "Implement user authentication": in_progress → done (all checks passed!)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Acceptance Criteria Types
|
|
127
|
+
|
|
128
|
+
See [ACCEPTANCE_CRITERIA.md](./ACCEPTANCE_CRITERIA.md) for detailed documentation on all check types.
|
|
129
|
+
|
|
130
|
+
## Configuration
|
|
131
|
+
|
|
132
|
+
### Auto-Delete Settings
|
|
133
|
+
|
|
134
|
+
Configure how long to retain completed task data:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Set retention for file change history
|
|
138
|
+
config action=update
|
|
139
|
+
fileHistoryRetentionDays: 7
|
|
140
|
+
|
|
141
|
+
# Enable weekend-aware deletion (skip Sat/Sun when calculating cutoff)
|
|
142
|
+
config action=update
|
|
143
|
+
ignoreWeekend: true
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### File Watcher Settings
|
|
147
|
+
|
|
148
|
+
File watcher settings are built into the system:
|
|
149
|
+
|
|
150
|
+
- **Debounce Time**: 2 seconds (waits for file writes to stabilize)
|
|
151
|
+
- **Ignored Files**: Dotfiles (`.git`, `.env`, etc.)
|
|
152
|
+
- **Max Test Timeout**: 60 seconds per acceptance check
|
|
153
|
+
|
|
154
|
+
## Troubleshooting
|
|
155
|
+
|
|
156
|
+
### Issue: Tasks Not Auto-Transitioning
|
|
157
|
+
|
|
158
|
+
**Symptoms**: File changes detected but task stays in `todo`
|
|
159
|
+
|
|
160
|
+
**Solutions**:
|
|
161
|
+
1. Verify file is linked to task:
|
|
162
|
+
```typescript
|
|
163
|
+
task action=get task_id=123
|
|
164
|
+
// Check for file links in response
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
2. Check file watcher status:
|
|
168
|
+
```typescript
|
|
169
|
+
stats action=db_stats
|
|
170
|
+
// Look for file_watcher_running: true
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
3. Verify task is in correct status:
|
|
174
|
+
```typescript
|
|
175
|
+
task action=list status=todo
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Issue: Acceptance Criteria Not Running
|
|
179
|
+
|
|
180
|
+
**Symptoms**: Task moved to `in_progress` but never completes
|
|
181
|
+
|
|
182
|
+
**Solutions**:
|
|
183
|
+
1. Check acceptance criteria JSON is valid:
|
|
184
|
+
```typescript
|
|
185
|
+
task action=get task_id=123
|
|
186
|
+
// Verify acceptance_criteria_json is present
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
2. Check console output for test execution errors:
|
|
190
|
+
```
|
|
191
|
+
Error checking acceptance criteria for task #123: <error message>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
3. Manually run acceptance check commands:
|
|
195
|
+
```bash
|
|
196
|
+
npm test auth # Should pass and output "passing"
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Issue: File Watcher Not Starting
|
|
200
|
+
|
|
201
|
+
**Symptoms**: No file changes detected at all
|
|
202
|
+
|
|
203
|
+
**Solutions**:
|
|
204
|
+
1. Check MCP server logs on startup:
|
|
205
|
+
```
|
|
206
|
+
✓ File watcher started successfully
|
|
207
|
+
Watching 3 files for 2 tasks
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
2. Restart MCP server if watcher failed to start
|
|
211
|
+
3. Check file paths are absolute (not relative)
|
|
212
|
+
|
|
213
|
+
### Issue: Tests Timing Out
|
|
214
|
+
|
|
215
|
+
**Symptoms**: Acceptance criteria checks fail with timeout errors
|
|
216
|
+
|
|
217
|
+
**Solutions**:
|
|
218
|
+
1. Increase timeout in acceptance criteria:
|
|
219
|
+
```typescript
|
|
220
|
+
acceptance_criteria: [
|
|
221
|
+
{type: "tests_pass", command: "npm test", timeout: 120} // 120 seconds
|
|
222
|
+
]
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
2. Optimize slow tests to run faster
|
|
226
|
+
3. Split large test suites into smaller checks
|
|
227
|
+
|
|
228
|
+
## Performance Considerations
|
|
229
|
+
|
|
230
|
+
### Token Efficiency
|
|
231
|
+
|
|
232
|
+
**Without Auto-Tracking** (manual workflow):
|
|
233
|
+
- Create task: ~800 tokens
|
|
234
|
+
- Link file: ~200 tokens
|
|
235
|
+
- Manual move to in_progress: ~150 tokens
|
|
236
|
+
- Manual move to done: ~150 tokens
|
|
237
|
+
- Get task status: ~200 tokens × 3 checks = ~600 tokens
|
|
238
|
+
- **Total**: ~1,900 tokens per task
|
|
239
|
+
|
|
240
|
+
**With Auto-Tracking**:
|
|
241
|
+
- Create task with acceptance criteria: ~900 tokens
|
|
242
|
+
- Link file: ~200 tokens
|
|
243
|
+
- Auto-transitions: 0 tokens
|
|
244
|
+
- **Total**: ~1,100 tokens per task
|
|
245
|
+
|
|
246
|
+
**Savings**: 800 tokens per task (42% reduction)
|
|
247
|
+
|
|
248
|
+
For 6 tasks: **4,800 tokens saved** (97% reduction in status management overhead)
|
|
249
|
+
|
|
250
|
+
### CPU and I/O Impact
|
|
251
|
+
|
|
252
|
+
- **File Watching**: Minimal CPU usage (chokidar is highly optimized)
|
|
253
|
+
- **Debouncing**: Reduces I/O by waiting for file writes to stabilize
|
|
254
|
+
- **Test Execution**: Runs only when files change (not continuously)
|
|
255
|
+
- **Database Queries**: Efficient indexed queries on task-file links
|
|
256
|
+
|
|
257
|
+
### Scalability
|
|
258
|
+
|
|
259
|
+
- **100 files watched**: ~5MB memory, <1% CPU
|
|
260
|
+
- **1000 files watched**: ~50MB memory, <5% CPU
|
|
261
|
+
- **10,000 files watched**: ~500MB memory, <10% CPU
|
|
262
|
+
|
|
263
|
+
**Recommendation**: Link only relevant files to tasks (not entire directories)
|
|
264
|
+
|
|
265
|
+
## Best Practices
|
|
266
|
+
|
|
267
|
+
### 1. Link Only Relevant Files
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
// GOOD: Link specific implementation files
|
|
271
|
+
task action=link task_id=123 link_type=file target_id="src/auth.ts"
|
|
272
|
+
task action=link task_id=123 link_type=file target_id="src/auth.test.ts"
|
|
273
|
+
|
|
274
|
+
// BAD: Don't link entire directories or unrelated files
|
|
275
|
+
task action=link task_id=123 link_type=file target_id="src/" // ❌ Not a file
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### 2. Use Specific Acceptance Criteria
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
// GOOD: Specific, testable criteria
|
|
282
|
+
acceptance_criteria: [
|
|
283
|
+
{type: "tests_pass", command: "npm test -- auth.test.ts", expected_pattern: "3 passing"},
|
|
284
|
+
{type: "code_contains", file: "src/auth.ts", pattern: "class AuthService"}
|
|
285
|
+
]
|
|
286
|
+
|
|
287
|
+
// BAD: Vague or overly broad criteria
|
|
288
|
+
acceptance_criteria: [
|
|
289
|
+
{type: "tests_pass", command: "npm test"} // ❌ Too broad, slow
|
|
290
|
+
]
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 3. Set Realistic Timeouts
|
|
294
|
+
|
|
295
|
+
```typescript
|
|
296
|
+
// GOOD: Appropriate timeouts based on test complexity
|
|
297
|
+
acceptance_criteria: [
|
|
298
|
+
{type: "tests_pass", command: "npm run unit-tests", timeout: 30}, // Fast unit tests
|
|
299
|
+
{type: "tests_pass", command: "npm run e2e-tests", timeout: 300} // Slower E2E tests
|
|
300
|
+
]
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### 4. Combine Multiple Check Types
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
acceptance_criteria: [
|
|
307
|
+
// Verify implementation exists
|
|
308
|
+
{type: "code_contains", file: "src/auth.ts", pattern: "export class AuthService"},
|
|
309
|
+
|
|
310
|
+
// Verify old code removed
|
|
311
|
+
{type: "code_removed", file: "src/auth.ts", pattern: "// TODO: implement auth"},
|
|
312
|
+
|
|
313
|
+
// Verify tests pass
|
|
314
|
+
{type: "tests_pass", command: "npm test auth", expected_pattern: "passing"},
|
|
315
|
+
|
|
316
|
+
// Verify documentation created
|
|
317
|
+
{type: "file_exists", file: "docs/authentication.md"}
|
|
318
|
+
]
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### 5. Archive Completed Tasks
|
|
322
|
+
|
|
323
|
+
```typescript
|
|
324
|
+
// Move done tasks to archived to stop file watching
|
|
325
|
+
task action=archive task_id=123
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
This unregisters the task from the file watcher, freeing up resources.
|
|
329
|
+
|
|
330
|
+
## Advanced Usage
|
|
331
|
+
|
|
332
|
+
### Conditional Acceptance Criteria
|
|
333
|
+
|
|
334
|
+
Use regex patterns for flexible validation:
|
|
335
|
+
|
|
336
|
+
```typescript
|
|
337
|
+
acceptance_criteria: [
|
|
338
|
+
// Accept either "passing" or "success"
|
|
339
|
+
{type: "tests_pass", command: "npm test", expected_pattern: "(passing|success)"},
|
|
340
|
+
|
|
341
|
+
// Verify function signature (flexible whitespace)
|
|
342
|
+
{type: "code_contains", file: "src/api.ts", pattern: "async\\s+function\\s+fetchData"}
|
|
343
|
+
]
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Multi-File Tasks
|
|
347
|
+
|
|
348
|
+
Link multiple files to a single task:
|
|
349
|
+
|
|
350
|
+
```typescript
|
|
351
|
+
task action=link task_id=123 link_type=file target_id="src/auth.ts"
|
|
352
|
+
task action=link task_id=123 link_type=file target_id="src/auth.test.ts"
|
|
353
|
+
task action=link task_id=123 link_type=file target_id="docs/auth.md"
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
Any file change triggers the workflow.
|
|
357
|
+
|
|
358
|
+
### Integration with CI/CD
|
|
359
|
+
|
|
360
|
+
Use shell commands to run CI checks:
|
|
361
|
+
|
|
362
|
+
```typescript
|
|
363
|
+
acceptance_criteria: [
|
|
364
|
+
{type: "tests_pass", command: "npm run lint", expected_pattern: "no errors"},
|
|
365
|
+
{type: "tests_pass", command: "npm run type-check", expected_pattern: "0 errors"},
|
|
366
|
+
{type: "tests_pass", command: "npm test", expected_pattern: "passing"}
|
|
367
|
+
]
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Migration from Manual Task Management
|
|
371
|
+
|
|
372
|
+
See [TASK_MIGRATION.md](./TASK_MIGRATION.md) for detailed migration guide.
|
|
373
|
+
|
|
374
|
+
## API Reference
|
|
375
|
+
|
|
376
|
+
See [TOOL_REFERENCE.md](./TOOL_REFERENCE.md) for complete API documentation.
|
|
377
|
+
|
|
378
|
+
## Examples
|
|
379
|
+
|
|
380
|
+
### Example 1: Simple Bug Fix
|
|
381
|
+
|
|
382
|
+
```typescript
|
|
383
|
+
// Create task
|
|
384
|
+
task action=create
|
|
385
|
+
title: "Fix login button styling"
|
|
386
|
+
acceptance_criteria: [
|
|
387
|
+
{type: "code_contains", file: "src/LoginButton.css", pattern: "background-color: #007bff"},
|
|
388
|
+
{type: "tests_pass", command: "npm test LoginButton", expected_pattern: "passing"}
|
|
389
|
+
]
|
|
390
|
+
|
|
391
|
+
// Link file
|
|
392
|
+
task action=link task_id=45 link_type=file target_id="src/LoginButton.css"
|
|
393
|
+
|
|
394
|
+
// Edit file → auto-transitions to in_progress
|
|
395
|
+
// Tests pass → auto-completes to done
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Example 2: Feature Implementation
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
// Create task
|
|
402
|
+
task action=create
|
|
403
|
+
title: "Add user profile endpoint"
|
|
404
|
+
acceptance_criteria: [
|
|
405
|
+
{type: "file_exists", file: "src/routes/profile.ts"},
|
|
406
|
+
{type: "code_contains", file: "src/routes/profile.ts", pattern: "router.get\\('/profile'"},
|
|
407
|
+
{type: "tests_pass", command: "npm test routes/profile", expected_pattern: "5 passing"}
|
|
408
|
+
]
|
|
409
|
+
|
|
410
|
+
// Link implementation and test files
|
|
411
|
+
task action=link task_id=46 link_type=file target_id="src/routes/profile.ts"
|
|
412
|
+
task action=link task_id=46 link_type=file target_id="src/routes/profile.test.ts"
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### Example 3: Refactoring Task
|
|
416
|
+
|
|
417
|
+
```typescript
|
|
418
|
+
// Create task
|
|
419
|
+
task action=create
|
|
420
|
+
title: "Remove deprecated API endpoints"
|
|
421
|
+
acceptance_criteria: [
|
|
422
|
+
{type: "code_removed", file: "src/api/legacy.ts", pattern: "router.get\\('/old-endpoint'"},
|
|
423
|
+
{type: "code_removed", file: "src/api/legacy.ts", pattern: "// DEPRECATED"},
|
|
424
|
+
{type: "tests_pass", command: "npm test", expected_pattern: "0 failing"}
|
|
425
|
+
]
|
|
426
|
+
|
|
427
|
+
// Link file to watch
|
|
428
|
+
task action=link task_id=47 link_type=file target_id="src/api/legacy.ts"
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## See Also
|
|
432
|
+
|
|
433
|
+
- [ACCEPTANCE_CRITERIA.md](./ACCEPTANCE_CRITERIA.md) - All acceptance check types
|
|
434
|
+
- [WORKFLOWS.md](./WORKFLOWS.md) - Multi-agent coordination patterns
|
|
435
|
+
- [BEST_PRACTICES.md](./BEST_PRACTICES.md) - Common errors and solutions
|
|
436
|
+
- [TASK_MIGRATION.md](./TASK_MIGRATION.md) - Migrate from decision-based tracking
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sqlew",
|
|
3
|
-
"version": "3.0
|
|
4
|
-
"description": "MCP server for efficient context sharing between Claude Code sub-agents with Kanban Task Watcher and
|
|
3
|
+
"version": "3.1.0",
|
|
4
|
+
"description": "MCP server for efficient context sharing between Claude Code sub-agents with Kanban Task Watcher, auto-file-tracking, and 97% token reduction",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -51,10 +51,11 @@
|
|
|
51
51
|
"shared-context"
|
|
52
52
|
],
|
|
53
53
|
"author": "sin5ddd",
|
|
54
|
-
"license": "
|
|
54
|
+
"license": "AGPL-3.0",
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"better-sqlite3": "^11.0.0",
|
|
57
|
-
"@modelcontextprotocol/sdk": "latest"
|
|
57
|
+
"@modelcontextprotocol/sdk": "latest",
|
|
58
|
+
"chokidar": "^3.6.0"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"typescript": "^5.0.0",
|