synap 0.4.0 → 0.5.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/.claude/skills/synap-assistant/SKILL.md +2 -0
- package/package.json +1 -1
- package/src/cli.js +12 -0
- package/src/storage.js +1 -1
|
@@ -388,6 +388,8 @@ When user is dumping thoughts rapidly:
|
|
|
388
388
|
2. Use default type (idea) and status (raw)
|
|
389
389
|
3. After the capture session, offer to triage
|
|
390
390
|
|
|
391
|
+
**Smart status defaulting**: When capturing with priority set, the CLI auto-promotes to `active` status (skipping triage). When adding entries with full metadata (priority, tags, due), there's no need to manually set status—the entry is already triaged.
|
|
392
|
+
|
|
391
393
|
## Classification Rules
|
|
392
394
|
|
|
393
395
|
### Type Detection Heuristics
|
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -105,6 +105,7 @@ async function main() {
|
|
|
105
105
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
106
106
|
.option('--parent <id>', 'Parent entry ID')
|
|
107
107
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
108
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
108
109
|
.option('--json', 'Output as JSON')
|
|
109
110
|
.action(async (contentParts, options) => {
|
|
110
111
|
const content = contentParts.join(' ');
|
|
@@ -119,6 +120,7 @@ async function main() {
|
|
|
119
120
|
tags,
|
|
120
121
|
parent: options.parent,
|
|
121
122
|
due: options.due,
|
|
123
|
+
status: options.status,
|
|
122
124
|
source: 'cli'
|
|
123
125
|
});
|
|
124
126
|
|
|
@@ -147,6 +149,7 @@ async function main() {
|
|
|
147
149
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
148
150
|
.option('--parent <id>', 'Parent entry ID')
|
|
149
151
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
152
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
150
153
|
.option('--json', 'Output as JSON')
|
|
151
154
|
.action(async (contentParts, options) => {
|
|
152
155
|
const content = contentParts.join(' ');
|
|
@@ -160,6 +163,7 @@ async function main() {
|
|
|
160
163
|
tags,
|
|
161
164
|
parent: options.parent,
|
|
162
165
|
due: options.due,
|
|
166
|
+
status: options.status,
|
|
163
167
|
source: 'cli'
|
|
164
168
|
});
|
|
165
169
|
|
|
@@ -188,6 +192,7 @@ async function main() {
|
|
|
188
192
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
189
193
|
.option('--parent <id>', 'Parent entry ID')
|
|
190
194
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
195
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
191
196
|
.option('--json', 'Output as JSON')
|
|
192
197
|
.action(async (contentParts, options) => {
|
|
193
198
|
const content = contentParts.join(' ');
|
|
@@ -201,6 +206,7 @@ async function main() {
|
|
|
201
206
|
tags,
|
|
202
207
|
parent: options.parent,
|
|
203
208
|
due: options.due,
|
|
209
|
+
status: options.status,
|
|
204
210
|
source: 'cli'
|
|
205
211
|
});
|
|
206
212
|
|
|
@@ -236,6 +242,7 @@ async function main() {
|
|
|
236
242
|
tags,
|
|
237
243
|
parent: options.parent,
|
|
238
244
|
due: options.due,
|
|
245
|
+
status: options.status,
|
|
239
246
|
source: 'cli'
|
|
240
247
|
});
|
|
241
248
|
|
|
@@ -265,6 +272,7 @@ async function main() {
|
|
|
265
272
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
266
273
|
.option('--parent <id>', 'Parent entry ID')
|
|
267
274
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
275
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
268
276
|
.option('--json', 'Output as JSON')
|
|
269
277
|
.action(createTypeShorthand('idea'));
|
|
270
278
|
|
|
@@ -275,6 +283,7 @@ async function main() {
|
|
|
275
283
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
276
284
|
.option('--parent <id>', 'Parent entry ID')
|
|
277
285
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
286
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
278
287
|
.option('--json', 'Output as JSON')
|
|
279
288
|
.action(createTypeShorthand('project'));
|
|
280
289
|
|
|
@@ -285,6 +294,7 @@ async function main() {
|
|
|
285
294
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
286
295
|
.option('--parent <id>', 'Parent entry ID')
|
|
287
296
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
297
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
288
298
|
.option('--json', 'Output as JSON')
|
|
289
299
|
.action(createTypeShorthand('feature'));
|
|
290
300
|
|
|
@@ -295,6 +305,7 @@ async function main() {
|
|
|
295
305
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
296
306
|
.option('--parent <id>', 'Parent entry ID')
|
|
297
307
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
308
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
298
309
|
.option('--json', 'Output as JSON')
|
|
299
310
|
.action(createTypeShorthand('note'));
|
|
300
311
|
|
|
@@ -305,6 +316,7 @@ async function main() {
|
|
|
305
316
|
.option('--tags <tags>', 'Comma-separated tags')
|
|
306
317
|
.option('--parent <id>', 'Parent entry ID')
|
|
307
318
|
.option('--due <date>', 'Due date (YYYY-MM-DD, 3d/1w, or keywords: today, tomorrow, next monday)')
|
|
319
|
+
.option('-s, --status <status>', 'Status (raw, active, wip, someday)')
|
|
308
320
|
.option('--json', 'Output as JSON')
|
|
309
321
|
.action(createTypeShorthand('reference', 'reference'));
|
|
310
322
|
|
package/src/storage.js
CHANGED
|
@@ -335,7 +335,7 @@ async function addEntry(options) {
|
|
|
335
335
|
content: options.content,
|
|
336
336
|
title: options.title || extractTitle(options.content),
|
|
337
337
|
type: VALID_TYPES.includes(options.type) ? options.type : 'idea',
|
|
338
|
-
status: 'raw',
|
|
338
|
+
status: VALID_STATUSES.includes(options.status) ? options.status : (options.priority ? 'active' : 'raw'),
|
|
339
339
|
priority: options.priority && [1, 2, 3].includes(options.priority) ? options.priority : undefined,
|
|
340
340
|
tags: options.tags || [],
|
|
341
341
|
parent: parentId || undefined,
|