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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synap",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A CLI for externalizing your working memory",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
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,