@execufunction/cli 0.3.1 → 0.4.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.
@@ -169,16 +169,13 @@
169
169
  "status.js"
170
170
  ]
171
171
  },
172
- "code:blame": {
172
+ "calendar:create": {
173
173
  "aliases": [],
174
- "args": {
175
- "file": {
176
- "description": "Relative file path",
177
- "name": "file",
178
- "required": true
179
- }
180
- },
181
- "description": "Git blame for a file",
174
+ "args": {},
175
+ "description": "Create a calendar event",
176
+ "examples": [
177
+ "<%= config.bin %> calendar create --title \"Team standup\" --start 2026-03-01T09:00:00Z --end 2026-03-01T09:30:00Z"
178
+ ],
182
179
  "flags": {
183
180
  "json": {
184
181
  "description": "Format output as json.",
@@ -213,10 +210,40 @@
213
210
  "allowNo": false,
214
211
  "type": "boolean"
215
212
  },
216
- "root": {
217
- "description": "Repository root path",
218
- "name": "root",
219
- "default": ".",
213
+ "title": {
214
+ "description": "Event title",
215
+ "name": "title",
216
+ "required": true,
217
+ "hasDynamicHelp": false,
218
+ "multiple": false,
219
+ "type": "option"
220
+ },
221
+ "start": {
222
+ "description": "Start time (ISO 8601)",
223
+ "name": "start",
224
+ "required": true,
225
+ "hasDynamicHelp": false,
226
+ "multiple": false,
227
+ "type": "option"
228
+ },
229
+ "end": {
230
+ "description": "End time (ISO 8601)",
231
+ "name": "end",
232
+ "required": true,
233
+ "hasDynamicHelp": false,
234
+ "multiple": false,
235
+ "type": "option"
236
+ },
237
+ "description": {
238
+ "description": "Event description",
239
+ "name": "description",
240
+ "hasDynamicHelp": false,
241
+ "multiple": false,
242
+ "type": "option"
243
+ },
244
+ "location": {
245
+ "description": "Event location",
246
+ "name": "location",
220
247
  "hasDynamicHelp": false,
221
248
  "multiple": false,
222
249
  "type": "option"
@@ -224,7 +251,7 @@
224
251
  },
225
252
  "hasDynamicHelp": false,
226
253
  "hiddenAliases": [],
227
- "id": "code:blame",
254
+ "id": "calendar:create",
228
255
  "pluginAlias": "@execufunction/cli",
229
256
  "pluginName": "@execufunction/cli",
230
257
  "pluginType": "core",
@@ -234,20 +261,20 @@
234
261
  "relativePath": [
235
262
  "dist",
236
263
  "commands",
237
- "code",
238
- "blame.js"
264
+ "calendar",
265
+ "create.js"
239
266
  ]
240
267
  },
241
- "code:expertise": {
268
+ "calendar:delete": {
242
269
  "aliases": [],
243
270
  "args": {
244
- "repo": {
245
- "description": "Repository ID",
246
- "name": "repo",
271
+ "id": {
272
+ "description": "Event ID",
273
+ "name": "id",
247
274
  "required": true
248
275
  }
249
276
  },
250
- "description": "Refresh developer expertise index for a repository",
277
+ "description": "Delete a calendar event",
251
278
  "flags": {
252
279
  "json": {
253
280
  "description": "Format output as json.",
@@ -281,11 +308,18 @@
281
308
  "name": "no-input",
282
309
  "allowNo": false,
283
310
  "type": "boolean"
311
+ },
312
+ "yes": {
313
+ "char": "y",
314
+ "description": "Skip confirmation",
315
+ "name": "yes",
316
+ "allowNo": false,
317
+ "type": "boolean"
284
318
  }
285
319
  },
286
320
  "hasDynamicHelp": false,
287
321
  "hiddenAliases": [],
288
- "id": "code:expertise",
322
+ "id": "calendar:delete",
289
323
  "pluginAlias": "@execufunction/cli",
290
324
  "pluginName": "@execufunction/cli",
291
325
  "pluginType": "core",
@@ -295,20 +329,14 @@
295
329
  "relativePath": [
296
330
  "dist",
297
331
  "commands",
298
- "code",
299
- "expertise.js"
332
+ "calendar",
333
+ "delete.js"
300
334
  ]
301
335
  },
302
- "code:history": {
336
+ "calendar:list": {
303
337
  "aliases": [],
304
- "args": {
305
- "repo": {
306
- "description": "Repository ID",
307
- "name": "repo",
308
- "required": true
309
- }
310
- },
311
- "description": "Get commit history for a repository",
338
+ "args": {},
339
+ "description": "List calendar events",
312
340
  "flags": {
313
341
  "json": {
314
342
  "description": "Format output as json.",
@@ -343,9 +371,16 @@
343
371
  "allowNo": false,
344
372
  "type": "boolean"
345
373
  },
346
- "path": {
347
- "description": "Filter by file path",
348
- "name": "path",
374
+ "start": {
375
+ "description": "Start date (ISO 8601)",
376
+ "name": "start",
377
+ "hasDynamicHelp": false,
378
+ "multiple": false,
379
+ "type": "option"
380
+ },
381
+ "end": {
382
+ "description": "End date (ISO 8601)",
383
+ "name": "end",
349
384
  "hasDynamicHelp": false,
350
385
  "multiple": false,
351
386
  "type": "option"
@@ -360,7 +395,7 @@
360
395
  },
361
396
  "hasDynamicHelp": false,
362
397
  "hiddenAliases": [],
363
- "id": "code:history",
398
+ "id": "calendar:list",
364
399
  "pluginAlias": "@execufunction/cli",
365
400
  "pluginName": "@execufunction/cli",
366
401
  "pluginType": "core",
@@ -370,20 +405,20 @@
370
405
  "relativePath": [
371
406
  "dist",
372
407
  "commands",
373
- "code",
374
- "history.js"
408
+ "calendar",
409
+ "list.js"
375
410
  ]
376
411
  },
377
- "code:link": {
412
+ "calendar:update": {
378
413
  "aliases": [],
379
414
  "args": {
380
- "task-id": {
381
- "description": "Task ID",
382
- "name": "task-id",
415
+ "id": {
416
+ "description": "Event ID",
417
+ "name": "id",
383
418
  "required": true
384
419
  }
385
420
  },
386
- "description": "Link a task to code (file, commit, or repository)",
421
+ "description": "Update a calendar event",
387
422
  "flags": {
388
423
  "json": {
389
424
  "description": "Format output as json.",
@@ -418,31 +453,37 @@
418
453
  "allowNo": false,
419
454
  "type": "boolean"
420
455
  },
421
- "repo": {
422
- "description": "Repository ID",
423
- "name": "repo",
424
- "required": true,
456
+ "title": {
457
+ "description": "Event title",
458
+ "name": "title",
425
459
  "hasDynamicHelp": false,
426
460
  "multiple": false,
427
461
  "type": "option"
428
462
  },
429
- "file": {
430
- "description": "File path",
431
- "name": "file",
463
+ "start": {
464
+ "description": "Start time (ISO 8601)",
465
+ "name": "start",
432
466
  "hasDynamicHelp": false,
433
467
  "multiple": false,
434
468
  "type": "option"
435
469
  },
436
- "commit": {
437
- "description": "Commit SHA",
438
- "name": "commit",
470
+ "end": {
471
+ "description": "End time (ISO 8601)",
472
+ "name": "end",
439
473
  "hasDynamicHelp": false,
440
474
  "multiple": false,
441
475
  "type": "option"
442
476
  },
443
- "notes": {
444
- "description": "Notes about the link",
445
- "name": "notes",
477
+ "description": {
478
+ "description": "Event description",
479
+ "name": "description",
480
+ "hasDynamicHelp": false,
481
+ "multiple": false,
482
+ "type": "option"
483
+ },
484
+ "location": {
485
+ "description": "Event location",
486
+ "name": "location",
446
487
  "hasDynamicHelp": false,
447
488
  "multiple": false,
448
489
  "type": "option"
@@ -450,7 +491,7 @@
450
491
  },
451
492
  "hasDynamicHelp": false,
452
493
  "hiddenAliases": [],
453
- "id": "code:link",
494
+ "id": "calendar:update",
454
495
  "pluginAlias": "@execufunction/cli",
455
496
  "pluginName": "@execufunction/cli",
456
497
  "pluginType": "core",
@@ -460,25 +501,20 @@
460
501
  "relativePath": [
461
502
  "dist",
462
503
  "commands",
463
- "code",
464
- "link.js"
504
+ "calendar",
505
+ "update.js"
465
506
  ]
466
507
  },
467
- "code:who-knows": {
508
+ "code:blame": {
468
509
  "aliases": [],
469
510
  "args": {
470
- "repo": {
471
- "description": "Repository ID",
472
- "name": "repo",
473
- "required": true
474
- },
475
- "area": {
476
- "description": "Path, glob, or symbol",
477
- "name": "area",
511
+ "file": {
512
+ "description": "Relative file path",
513
+ "name": "file",
478
514
  "required": true
479
515
  }
480
516
  },
481
- "description": "Find experts for a code area",
517
+ "description": "Git blame for a file",
482
518
  "flags": {
483
519
  "json": {
484
520
  "description": "Format output as json.",
@@ -513,9 +549,10 @@
513
549
  "allowNo": false,
514
550
  "type": "boolean"
515
551
  },
516
- "limit": {
517
- "description": "Maximum number of results",
518
- "name": "limit",
552
+ "root": {
553
+ "description": "Repository root path",
554
+ "name": "root",
555
+ "default": ".",
519
556
  "hasDynamicHelp": false,
520
557
  "multiple": false,
521
558
  "type": "option"
@@ -523,7 +560,7 @@
523
560
  },
524
561
  "hasDynamicHelp": false,
525
562
  "hiddenAliases": [],
526
- "id": "code:who-knows",
563
+ "id": "code:blame",
527
564
  "pluginAlias": "@execufunction/cli",
528
565
  "pluginName": "@execufunction/cli",
529
566
  "pluginType": "core",
@@ -534,16 +571,19 @@
534
571
  "dist",
535
572
  "commands",
536
573
  "code",
537
- "who-knows.js"
574
+ "blame.js"
538
575
  ]
539
576
  },
540
- "calendar:create": {
577
+ "code:expertise": {
541
578
  "aliases": [],
542
- "args": {},
543
- "description": "Create a calendar event",
544
- "examples": [
545
- "<%= config.bin %> calendar create --title \"Team standup\" --start 2026-03-01T09:00:00Z --end 2026-03-01T09:30:00Z"
546
- ],
579
+ "args": {
580
+ "repo": {
581
+ "description": "Repository ID",
582
+ "name": "repo",
583
+ "required": true
584
+ }
585
+ },
586
+ "description": "Refresh developer expertise index for a repository",
547
587
  "flags": {
548
588
  "json": {
549
589
  "description": "Format output as json.",
@@ -577,49 +617,11 @@
577
617
  "name": "no-input",
578
618
  "allowNo": false,
579
619
  "type": "boolean"
580
- },
581
- "title": {
582
- "description": "Event title",
583
- "name": "title",
584
- "required": true,
585
- "hasDynamicHelp": false,
586
- "multiple": false,
587
- "type": "option"
588
- },
589
- "start": {
590
- "description": "Start time (ISO 8601)",
591
- "name": "start",
592
- "required": true,
593
- "hasDynamicHelp": false,
594
- "multiple": false,
595
- "type": "option"
596
- },
597
- "end": {
598
- "description": "End time (ISO 8601)",
599
- "name": "end",
600
- "required": true,
601
- "hasDynamicHelp": false,
602
- "multiple": false,
603
- "type": "option"
604
- },
605
- "description": {
606
- "description": "Event description",
607
- "name": "description",
608
- "hasDynamicHelp": false,
609
- "multiple": false,
610
- "type": "option"
611
- },
612
- "location": {
613
- "description": "Event location",
614
- "name": "location",
615
- "hasDynamicHelp": false,
616
- "multiple": false,
617
- "type": "option"
618
620
  }
619
621
  },
620
622
  "hasDynamicHelp": false,
621
623
  "hiddenAliases": [],
622
- "id": "calendar:create",
624
+ "id": "code:expertise",
623
625
  "pluginAlias": "@execufunction/cli",
624
626
  "pluginName": "@execufunction/cli",
625
627
  "pluginType": "core",
@@ -629,20 +631,20 @@
629
631
  "relativePath": [
630
632
  "dist",
631
633
  "commands",
632
- "calendar",
633
- "create.js"
634
+ "code",
635
+ "expertise.js"
634
636
  ]
635
637
  },
636
- "calendar:delete": {
638
+ "code:history": {
637
639
  "aliases": [],
638
640
  "args": {
639
- "id": {
640
- "description": "Event ID",
641
- "name": "id",
641
+ "repo": {
642
+ "description": "Repository ID",
643
+ "name": "repo",
642
644
  "required": true
643
645
  }
644
646
  },
645
- "description": "Delete a calendar event",
647
+ "description": "Get commit history for a repository",
646
648
  "flags": {
647
649
  "json": {
648
650
  "description": "Format output as json.",
@@ -677,17 +679,24 @@
677
679
  "allowNo": false,
678
680
  "type": "boolean"
679
681
  },
680
- "yes": {
681
- "char": "y",
682
- "description": "Skip confirmation",
683
- "name": "yes",
684
- "allowNo": false,
685
- "type": "boolean"
682
+ "path": {
683
+ "description": "Filter by file path",
684
+ "name": "path",
685
+ "hasDynamicHelp": false,
686
+ "multiple": false,
687
+ "type": "option"
688
+ },
689
+ "limit": {
690
+ "description": "Maximum number of results",
691
+ "name": "limit",
692
+ "hasDynamicHelp": false,
693
+ "multiple": false,
694
+ "type": "option"
686
695
  }
687
696
  },
688
697
  "hasDynamicHelp": false,
689
698
  "hiddenAliases": [],
690
- "id": "calendar:delete",
699
+ "id": "code:history",
691
700
  "pluginAlias": "@execufunction/cli",
692
701
  "pluginName": "@execufunction/cli",
693
702
  "pluginType": "core",
@@ -697,14 +706,20 @@
697
706
  "relativePath": [
698
707
  "dist",
699
708
  "commands",
700
- "calendar",
701
- "delete.js"
709
+ "code",
710
+ "history.js"
702
711
  ]
703
712
  },
704
- "calendar:list": {
713
+ "code:link": {
705
714
  "aliases": [],
706
- "args": {},
707
- "description": "List calendar events",
715
+ "args": {
716
+ "task-id": {
717
+ "description": "Task ID",
718
+ "name": "task-id",
719
+ "required": true
720
+ }
721
+ },
722
+ "description": "Link a task to code (file, commit, or repository)",
708
723
  "flags": {
709
724
  "json": {
710
725
  "description": "Format output as json.",
@@ -739,23 +754,31 @@
739
754
  "allowNo": false,
740
755
  "type": "boolean"
741
756
  },
742
- "start": {
743
- "description": "Start date (ISO 8601)",
744
- "name": "start",
757
+ "repo": {
758
+ "description": "Repository ID",
759
+ "name": "repo",
760
+ "required": true,
745
761
  "hasDynamicHelp": false,
746
762
  "multiple": false,
747
763
  "type": "option"
748
764
  },
749
- "end": {
750
- "description": "End date (ISO 8601)",
751
- "name": "end",
765
+ "file": {
766
+ "description": "File path",
767
+ "name": "file",
752
768
  "hasDynamicHelp": false,
753
769
  "multiple": false,
754
770
  "type": "option"
755
771
  },
756
- "limit": {
757
- "description": "Maximum number of results",
758
- "name": "limit",
772
+ "commit": {
773
+ "description": "Commit SHA",
774
+ "name": "commit",
775
+ "hasDynamicHelp": false,
776
+ "multiple": false,
777
+ "type": "option"
778
+ },
779
+ "notes": {
780
+ "description": "Notes about the link",
781
+ "name": "notes",
759
782
  "hasDynamicHelp": false,
760
783
  "multiple": false,
761
784
  "type": "option"
@@ -763,7 +786,7 @@
763
786
  },
764
787
  "hasDynamicHelp": false,
765
788
  "hiddenAliases": [],
766
- "id": "calendar:list",
789
+ "id": "code:link",
767
790
  "pluginAlias": "@execufunction/cli",
768
791
  "pluginName": "@execufunction/cli",
769
792
  "pluginType": "core",
@@ -773,20 +796,25 @@
773
796
  "relativePath": [
774
797
  "dist",
775
798
  "commands",
776
- "calendar",
777
- "list.js"
799
+ "code",
800
+ "link.js"
778
801
  ]
779
802
  },
780
- "calendar:update": {
803
+ "code:who-knows": {
781
804
  "aliases": [],
782
805
  "args": {
783
- "id": {
784
- "description": "Event ID",
785
- "name": "id",
806
+ "repo": {
807
+ "description": "Repository ID",
808
+ "name": "repo",
809
+ "required": true
810
+ },
811
+ "area": {
812
+ "description": "Path, glob, or symbol",
813
+ "name": "area",
786
814
  "required": true
787
815
  }
788
816
  },
789
- "description": "Update a calendar event",
817
+ "description": "Find experts for a code area",
790
818
  "flags": {
791
819
  "json": {
792
820
  "description": "Format output as json.",
@@ -821,37 +849,9 @@
821
849
  "allowNo": false,
822
850
  "type": "boolean"
823
851
  },
824
- "title": {
825
- "description": "Event title",
826
- "name": "title",
827
- "hasDynamicHelp": false,
828
- "multiple": false,
829
- "type": "option"
830
- },
831
- "start": {
832
- "description": "Start time (ISO 8601)",
833
- "name": "start",
834
- "hasDynamicHelp": false,
835
- "multiple": false,
836
- "type": "option"
837
- },
838
- "end": {
839
- "description": "End time (ISO 8601)",
840
- "name": "end",
841
- "hasDynamicHelp": false,
842
- "multiple": false,
843
- "type": "option"
844
- },
845
- "description": {
846
- "description": "Event description",
847
- "name": "description",
848
- "hasDynamicHelp": false,
849
- "multiple": false,
850
- "type": "option"
851
- },
852
- "location": {
853
- "description": "Event location",
854
- "name": "location",
852
+ "limit": {
853
+ "description": "Maximum number of results",
854
+ "name": "limit",
855
855
  "hasDynamicHelp": false,
856
856
  "multiple": false,
857
857
  "type": "option"
@@ -859,7 +859,7 @@
859
859
  },
860
860
  "hasDynamicHelp": false,
861
861
  "hiddenAliases": [],
862
- "id": "calendar:update",
862
+ "id": "code:who-knows",
863
863
  "pluginAlias": "@execufunction/cli",
864
864
  "pluginName": "@execufunction/cli",
865
865
  "pluginType": "core",
@@ -869,20 +869,20 @@
869
869
  "relativePath": [
870
870
  "dist",
871
871
  "commands",
872
- "calendar",
873
- "update.js"
872
+ "code",
873
+ "who-knows.js"
874
874
  ]
875
875
  },
876
- "documents:upload": {
876
+ "codebase:delete": {
877
877
  "aliases": [],
878
878
  "args": {
879
- "file": {
880
- "description": "Path to file",
881
- "name": "file",
879
+ "id": {
880
+ "description": "Repository ID",
881
+ "name": "id",
882
882
  "required": true
883
883
  }
884
884
  },
885
- "description": "Upload a document (PDF, Markdown, or text) as a note",
885
+ "description": "Delete a repository and all indexed data",
886
886
  "flags": {
887
887
  "json": {
888
888
  "description": "Format output as json.",
@@ -917,39 +917,17 @@
917
917
  "allowNo": false,
918
918
  "type": "boolean"
919
919
  },
920
- "title": {
921
- "description": "Note title (defaults to filename)",
922
- "name": "title",
923
- "hasDynamicHelp": false,
924
- "multiple": false,
925
- "type": "option"
926
- },
927
- "type": {
928
- "description": "Note type",
929
- "name": "type",
930
- "hasDynamicHelp": false,
931
- "multiple": false,
932
- "options": [
933
- "note",
934
- "concept",
935
- "meeting",
936
- "reference",
937
- "daily",
938
- "dataset"
939
- ],
940
- "type": "option"
941
- },
942
- "project": {
943
- "description": "Project ID",
944
- "name": "project",
945
- "hasDynamicHelp": false,
946
- "multiple": false,
947
- "type": "option"
920
+ "yes": {
921
+ "char": "y",
922
+ "description": "Skip confirmation",
923
+ "name": "yes",
924
+ "allowNo": false,
925
+ "type": "boolean"
948
926
  }
949
927
  },
950
928
  "hasDynamicHelp": false,
951
929
  "hiddenAliases": [],
952
- "id": "documents:upload",
930
+ "id": "codebase:delete",
953
931
  "pluginAlias": "@execufunction/cli",
954
932
  "pluginName": "@execufunction/cli",
955
933
  "pluginType": "core",
@@ -959,14 +937,20 @@
959
937
  "relativePath": [
960
938
  "dist",
961
939
  "commands",
962
- "documents",
963
- "upload.js"
940
+ "codebase",
941
+ "delete.js"
964
942
  ]
965
943
  },
966
- "notes:create": {
944
+ "codebase": {
967
945
  "aliases": [],
968
- "args": {},
969
- "description": "Create a note",
946
+ "args": {
947
+ "id": {
948
+ "description": "Repository ID",
949
+ "name": "id",
950
+ "required": true
951
+ }
952
+ },
953
+ "description": "Index a codebase (scan and upload files)",
970
954
  "flags": {
971
955
  "json": {
972
956
  "description": "Format output as json.",
@@ -1001,39 +985,30 @@
1001
985
  "allowNo": false,
1002
986
  "type": "boolean"
1003
987
  },
1004
- "title": {
1005
- "description": "Note title",
1006
- "name": "title",
988
+ "path": {
989
+ "description": "Absolute path to repository root",
990
+ "name": "path",
1007
991
  "required": true,
1008
992
  "hasDynamicHelp": false,
1009
993
  "multiple": false,
1010
994
  "type": "option"
1011
995
  },
1012
- "content": {
1013
- "description": "Note content (markdown)",
1014
- "name": "content",
1015
- "hasDynamicHelp": false,
1016
- "multiple": false,
1017
- "type": "option"
996
+ "incremental": {
997
+ "description": "Git-aware incremental index (changed files only)",
998
+ "name": "incremental",
999
+ "allowNo": false,
1000
+ "type": "boolean"
1018
1001
  },
1019
- "type": {
1020
- "description": "Note type",
1021
- "name": "type",
1002
+ "include": {
1003
+ "description": "Comma-separated include glob patterns",
1004
+ "name": "include",
1022
1005
  "hasDynamicHelp": false,
1023
1006
  "multiple": false,
1024
- "options": [
1025
- "note",
1026
- "concept",
1027
- "meeting",
1028
- "reference",
1029
- "daily",
1030
- "dataset"
1031
- ],
1032
1007
  "type": "option"
1033
1008
  },
1034
- "project": {
1035
- "description": "Project ID",
1036
- "name": "project",
1009
+ "exclude": {
1010
+ "description": "Comma-separated exclude glob patterns",
1011
+ "name": "exclude",
1037
1012
  "hasDynamicHelp": false,
1038
1013
  "multiple": false,
1039
1014
  "type": "option"
@@ -1041,7 +1016,7 @@
1041
1016
  },
1042
1017
  "hasDynamicHelp": false,
1043
1018
  "hiddenAliases": [],
1044
- "id": "notes:create",
1019
+ "id": "codebase",
1045
1020
  "pluginAlias": "@execufunction/cli",
1046
1021
  "pluginName": "@execufunction/cli",
1047
1022
  "pluginType": "core",
@@ -1051,20 +1026,14 @@
1051
1026
  "relativePath": [
1052
1027
  "dist",
1053
1028
  "commands",
1054
- "notes",
1055
- "create.js"
1029
+ "codebase",
1030
+ "index.js"
1056
1031
  ]
1057
1032
  },
1058
- "notes:delete": {
1033
+ "codebase:list": {
1059
1034
  "aliases": [],
1060
- "args": {
1061
- "id": {
1062
- "description": "Note ID",
1063
- "name": "id",
1064
- "required": true
1065
- }
1066
- },
1067
- "description": "Delete a note",
1035
+ "args": {},
1036
+ "description": "List indexed repositories",
1068
1037
  "flags": {
1069
1038
  "json": {
1070
1039
  "description": "Format output as json.",
@@ -1098,18 +1067,11 @@
1098
1067
  "name": "no-input",
1099
1068
  "allowNo": false,
1100
1069
  "type": "boolean"
1101
- },
1102
- "yes": {
1103
- "char": "y",
1104
- "description": "Skip confirmation",
1105
- "name": "yes",
1106
- "allowNo": false,
1107
- "type": "boolean"
1108
1070
  }
1109
1071
  },
1110
1072
  "hasDynamicHelp": false,
1111
1073
  "hiddenAliases": [],
1112
- "id": "notes:delete",
1074
+ "id": "codebase:list",
1113
1075
  "pluginAlias": "@execufunction/cli",
1114
1076
  "pluginName": "@execufunction/cli",
1115
1077
  "pluginType": "core",
@@ -1119,20 +1081,14 @@
1119
1081
  "relativePath": [
1120
1082
  "dist",
1121
1083
  "commands",
1122
- "notes",
1123
- "delete.js"
1084
+ "codebase",
1085
+ "list.js"
1124
1086
  ]
1125
1087
  },
1126
- "notes:get": {
1088
+ "codebase:register": {
1127
1089
  "aliases": [],
1128
- "args": {
1129
- "id": {
1130
- "description": "Note ID",
1131
- "name": "id",
1132
- "required": true
1133
- }
1134
- },
1135
- "description": "Get a note with full content",
1090
+ "args": {},
1091
+ "description": "Register a codebase for indexing",
1136
1092
  "flags": {
1137
1093
  "json": {
1138
1094
  "description": "Format output as json.",
@@ -1166,11 +1122,40 @@
1166
1122
  "name": "no-input",
1167
1123
  "allowNo": false,
1168
1124
  "type": "boolean"
1125
+ },
1126
+ "name": {
1127
+ "description": "Repository name",
1128
+ "name": "name",
1129
+ "required": true,
1130
+ "hasDynamicHelp": false,
1131
+ "multiple": false,
1132
+ "type": "option"
1133
+ },
1134
+ "path": {
1135
+ "description": "Absolute path to repository root",
1136
+ "name": "path",
1137
+ "required": true,
1138
+ "hasDynamicHelp": false,
1139
+ "multiple": false,
1140
+ "type": "option"
1141
+ },
1142
+ "project": {
1143
+ "description": "Project ID to associate",
1144
+ "name": "project",
1145
+ "hasDynamicHelp": false,
1146
+ "multiple": false,
1147
+ "type": "option"
1148
+ },
1149
+ "auto-index": {
1150
+ "description": "Enable automatic indexing",
1151
+ "name": "auto-index",
1152
+ "allowNo": false,
1153
+ "type": "boolean"
1169
1154
  }
1170
1155
  },
1171
1156
  "hasDynamicHelp": false,
1172
1157
  "hiddenAliases": [],
1173
- "id": "notes:get",
1158
+ "id": "codebase:register",
1174
1159
  "pluginAlias": "@execufunction/cli",
1175
1160
  "pluginName": "@execufunction/cli",
1176
1161
  "pluginType": "core",
@@ -1180,14 +1165,20 @@
1180
1165
  "relativePath": [
1181
1166
  "dist",
1182
1167
  "commands",
1183
- "notes",
1184
- "get.js"
1168
+ "codebase",
1169
+ "register.js"
1185
1170
  ]
1186
1171
  },
1187
- "notes:list": {
1172
+ "codebase:search": {
1188
1173
  "aliases": [],
1189
- "args": {},
1190
- "description": "List notes",
1174
+ "args": {
1175
+ "query": {
1176
+ "description": "Search query",
1177
+ "name": "query",
1178
+ "required": true
1179
+ }
1180
+ },
1181
+ "description": "Semantic code search",
1191
1182
  "flags": {
1192
1183
  "json": {
1193
1184
  "description": "Format output as json.",
@@ -1222,25 +1213,32 @@
1222
1213
  "allowNo": false,
1223
1214
  "type": "boolean"
1224
1215
  },
1225
- "project": {
1226
- "description": "Filter by project ID",
1227
- "name": "project",
1216
+ "repo": {
1217
+ "description": "Repository ID",
1218
+ "name": "repo",
1228
1219
  "hasDynamicHelp": false,
1229
1220
  "multiple": false,
1230
1221
  "type": "option"
1231
1222
  },
1232
- "type": {
1233
- "description": "Filter by note type",
1234
- "name": "type",
1223
+ "language": {
1224
+ "description": "Filter by language",
1225
+ "name": "language",
1226
+ "hasDynamicHelp": false,
1227
+ "multiple": false,
1228
+ "type": "option"
1229
+ },
1230
+ "symbol-type": {
1231
+ "description": "Filter by symbol type",
1232
+ "name": "symbol-type",
1235
1233
  "hasDynamicHelp": false,
1236
1234
  "multiple": false,
1237
1235
  "options": [
1238
- "note",
1239
- "concept",
1240
- "meeting",
1241
- "reference",
1242
- "daily",
1243
- "dataset"
1236
+ "function",
1237
+ "class",
1238
+ "interface",
1239
+ "type",
1240
+ "export",
1241
+ "impl"
1244
1242
  ],
1245
1243
  "type": "option"
1246
1244
  },
@@ -1254,7 +1252,7 @@
1254
1252
  },
1255
1253
  "hasDynamicHelp": false,
1256
1254
  "hiddenAliases": [],
1257
- "id": "notes:list",
1255
+ "id": "codebase:search",
1258
1256
  "pluginAlias": "@execufunction/cli",
1259
1257
  "pluginName": "@execufunction/cli",
1260
1258
  "pluginType": "core",
@@ -1264,20 +1262,20 @@
1264
1262
  "relativePath": [
1265
1263
  "dist",
1266
1264
  "commands",
1267
- "notes",
1268
- "list.js"
1265
+ "codebase",
1266
+ "search.js"
1269
1267
  ]
1270
1268
  },
1271
- "notes:search": {
1269
+ "codebase:snapshot": {
1272
1270
  "aliases": [],
1273
1271
  "args": {
1274
- "query": {
1275
- "description": "Search query",
1276
- "name": "query",
1272
+ "id": {
1273
+ "description": "Repository ID",
1274
+ "name": "id",
1277
1275
  "required": true
1278
1276
  }
1279
1277
  },
1280
- "description": "Search notes",
1278
+ "description": "Get latest index snapshot for a repository",
1281
1279
  "flags": {
1282
1280
  "json": {
1283
1281
  "description": "Format output as json.",
@@ -1312,24 +1310,23 @@
1312
1310
  "allowNo": false,
1313
1311
  "type": "boolean"
1314
1312
  },
1315
- "project": {
1316
- "description": "Filter by project ID",
1317
- "name": "project",
1313
+ "branch": {
1314
+ "description": "Filter by branch",
1315
+ "name": "branch",
1318
1316
  "hasDynamicHelp": false,
1319
1317
  "multiple": false,
1320
1318
  "type": "option"
1321
1319
  },
1322
- "limit": {
1323
- "description": "Maximum number of results",
1324
- "name": "limit",
1325
- "hasDynamicHelp": false,
1326
- "multiple": false,
1327
- "type": "option"
1320
+ "materialize": {
1321
+ "description": "Generate a download URL for the snapshot",
1322
+ "name": "materialize",
1323
+ "allowNo": false,
1324
+ "type": "boolean"
1328
1325
  }
1329
1326
  },
1330
1327
  "hasDynamicHelp": false,
1331
1328
  "hiddenAliases": [],
1332
- "id": "notes:search",
1329
+ "id": "codebase:snapshot",
1333
1330
  "pluginAlias": "@execufunction/cli",
1334
1331
  "pluginName": "@execufunction/cli",
1335
1332
  "pluginType": "core",
@@ -1339,20 +1336,20 @@
1339
1336
  "relativePath": [
1340
1337
  "dist",
1341
1338
  "commands",
1342
- "notes",
1343
- "search.js"
1339
+ "codebase",
1340
+ "snapshot.js"
1344
1341
  ]
1345
1342
  },
1346
- "notes:update": {
1343
+ "codebase:status": {
1347
1344
  "aliases": [],
1348
1345
  "args": {
1349
1346
  "id": {
1350
- "description": "Note ID",
1347
+ "description": "Repository ID",
1351
1348
  "name": "id",
1352
1349
  "required": true
1353
1350
  }
1354
1351
  },
1355
- "description": "Update a note",
1352
+ "description": "Check indexing status for a repository",
1356
1353
  "flags": {
1357
1354
  "json": {
1358
1355
  "description": "Format output as json.",
@@ -1386,40 +1383,11 @@
1386
1383
  "name": "no-input",
1387
1384
  "allowNo": false,
1388
1385
  "type": "boolean"
1389
- },
1390
- "title": {
1391
- "description": "Note title",
1392
- "name": "title",
1393
- "hasDynamicHelp": false,
1394
- "multiple": false,
1395
- "type": "option"
1396
- },
1397
- "content": {
1398
- "description": "Note content (markdown)",
1399
- "name": "content",
1400
- "hasDynamicHelp": false,
1401
- "multiple": false,
1402
- "type": "option"
1403
- },
1404
- "type": {
1405
- "description": "Note type",
1406
- "name": "type",
1407
- "hasDynamicHelp": false,
1408
- "multiple": false,
1409
- "options": [
1410
- "note",
1411
- "concept",
1412
- "meeting",
1413
- "reference",
1414
- "daily",
1415
- "dataset"
1416
- ],
1417
- "type": "option"
1418
1386
  }
1419
1387
  },
1420
1388
  "hasDynamicHelp": false,
1421
1389
  "hiddenAliases": [],
1422
- "id": "notes:update",
1390
+ "id": "codebase:status",
1423
1391
  "pluginAlias": "@execufunction/cli",
1424
1392
  "pluginName": "@execufunction/cli",
1425
1393
  "pluginType": "core",
@@ -1429,20 +1397,20 @@
1429
1397
  "relativePath": [
1430
1398
  "dist",
1431
1399
  "commands",
1432
- "notes",
1433
- "update.js"
1400
+ "codebase",
1401
+ "status.js"
1434
1402
  ]
1435
1403
  },
1436
- "projects:archive": {
1404
+ "documents:upload": {
1437
1405
  "aliases": [],
1438
1406
  "args": {
1439
- "id": {
1440
- "description": "Project ID",
1441
- "name": "id",
1407
+ "file": {
1408
+ "description": "Path to file",
1409
+ "name": "file",
1442
1410
  "required": true
1443
1411
  }
1444
1412
  },
1445
- "description": "Archive a project",
1413
+ "description": "Upload a document (PDF, Markdown, or text) as a note",
1446
1414
  "flags": {
1447
1415
  "json": {
1448
1416
  "description": "Format output as json.",
@@ -1477,17 +1445,39 @@
1477
1445
  "allowNo": false,
1478
1446
  "type": "boolean"
1479
1447
  },
1480
- "yes": {
1481
- "char": "y",
1482
- "description": "Skip confirmation",
1483
- "name": "yes",
1484
- "allowNo": false,
1485
- "type": "boolean"
1448
+ "title": {
1449
+ "description": "Note title (defaults to filename)",
1450
+ "name": "title",
1451
+ "hasDynamicHelp": false,
1452
+ "multiple": false,
1453
+ "type": "option"
1454
+ },
1455
+ "type": {
1456
+ "description": "Note type",
1457
+ "name": "type",
1458
+ "hasDynamicHelp": false,
1459
+ "multiple": false,
1460
+ "options": [
1461
+ "note",
1462
+ "concept",
1463
+ "meeting",
1464
+ "reference",
1465
+ "daily",
1466
+ "dataset"
1467
+ ],
1468
+ "type": "option"
1469
+ },
1470
+ "project": {
1471
+ "description": "Project ID",
1472
+ "name": "project",
1473
+ "hasDynamicHelp": false,
1474
+ "multiple": false,
1475
+ "type": "option"
1486
1476
  }
1487
1477
  },
1488
1478
  "hasDynamicHelp": false,
1489
1479
  "hiddenAliases": [],
1490
- "id": "projects:archive",
1480
+ "id": "documents:upload",
1491
1481
  "pluginAlias": "@execufunction/cli",
1492
1482
  "pluginName": "@execufunction/cli",
1493
1483
  "pluginType": "core",
@@ -1497,20 +1487,14 @@
1497
1487
  "relativePath": [
1498
1488
  "dist",
1499
1489
  "commands",
1500
- "projects",
1501
- "archive.js"
1490
+ "documents",
1491
+ "upload.js"
1502
1492
  ]
1503
1493
  },
1504
- "projects:context": {
1494
+ "people:list": {
1505
1495
  "aliases": [],
1506
- "args": {
1507
- "id": {
1508
- "description": "Project ID",
1509
- "name": "id",
1510
- "required": true
1511
- }
1512
- },
1513
- "description": "Get project context (tasks, notes, signals)",
1496
+ "args": {},
1497
+ "description": "List contacts",
1514
1498
  "flags": {
1515
1499
  "json": {
1516
1500
  "description": "Format output as json.",
@@ -1544,11 +1528,18 @@
1544
1528
  "name": "no-input",
1545
1529
  "allowNo": false,
1546
1530
  "type": "boolean"
1531
+ },
1532
+ "limit": {
1533
+ "description": "Maximum number of results",
1534
+ "name": "limit",
1535
+ "hasDynamicHelp": false,
1536
+ "multiple": false,
1537
+ "type": "option"
1547
1538
  }
1548
1539
  },
1549
1540
  "hasDynamicHelp": false,
1550
1541
  "hiddenAliases": [],
1551
- "id": "projects:context",
1542
+ "id": "people:list",
1552
1543
  "pluginAlias": "@execufunction/cli",
1553
1544
  "pluginName": "@execufunction/cli",
1554
1545
  "pluginType": "core",
@@ -1558,14 +1549,20 @@
1558
1549
  "relativePath": [
1559
1550
  "dist",
1560
1551
  "commands",
1561
- "projects",
1562
- "context.js"
1552
+ "people",
1553
+ "list.js"
1563
1554
  ]
1564
1555
  },
1565
- "projects:create": {
1556
+ "people:search": {
1566
1557
  "aliases": [],
1567
- "args": {},
1568
- "description": "Create a project",
1558
+ "args": {
1559
+ "query": {
1560
+ "description": "Search query",
1561
+ "name": "query",
1562
+ "required": true
1563
+ }
1564
+ },
1565
+ "description": "Search contacts",
1569
1566
  "flags": {
1570
1567
  "json": {
1571
1568
  "description": "Format output as json.",
@@ -1600,38 +1597,9 @@
1600
1597
  "allowNo": false,
1601
1598
  "type": "boolean"
1602
1599
  },
1603
- "name": {
1604
- "description": "Project name",
1605
- "name": "name",
1606
- "required": true,
1607
- "hasDynamicHelp": false,
1608
- "multiple": false,
1609
- "type": "option"
1610
- },
1611
- "summary": {
1612
- "description": "Project summary",
1613
- "name": "summary",
1614
- "hasDynamicHelp": false,
1615
- "multiple": false,
1616
- "type": "option"
1617
- },
1618
- "status": {
1619
- "description": "Project status",
1620
- "name": "status",
1621
- "hasDynamicHelp": false,
1622
- "multiple": false,
1623
- "options": [
1624
- "planning",
1625
- "active",
1626
- "on_hold",
1627
- "blocked",
1628
- "completed"
1629
- ],
1630
- "type": "option"
1631
- },
1632
- "emoji": {
1633
- "description": "Single emoji",
1634
- "name": "emoji",
1600
+ "limit": {
1601
+ "description": "Maximum number of results",
1602
+ "name": "limit",
1635
1603
  "hasDynamicHelp": false,
1636
1604
  "multiple": false,
1637
1605
  "type": "option"
@@ -1639,7 +1607,7 @@
1639
1607
  },
1640
1608
  "hasDynamicHelp": false,
1641
1609
  "hiddenAliases": [],
1642
- "id": "projects:create",
1610
+ "id": "people:search",
1643
1611
  "pluginAlias": "@execufunction/cli",
1644
1612
  "pluginName": "@execufunction/cli",
1645
1613
  "pluginType": "core",
@@ -1649,14 +1617,14 @@
1649
1617
  "relativePath": [
1650
1618
  "dist",
1651
1619
  "commands",
1652
- "projects",
1653
- "create.js"
1620
+ "people",
1621
+ "search.js"
1654
1622
  ]
1655
1623
  },
1656
- "projects:list": {
1624
+ "notes:create": {
1657
1625
  "aliases": [],
1658
1626
  "args": {},
1659
- "description": "List projects",
1627
+ "description": "Create a note",
1660
1628
  "flags": {
1661
1629
  "json": {
1662
1630
  "description": "Format output as json.",
@@ -1691,30 +1659,47 @@
1691
1659
  "allowNo": false,
1692
1660
  "type": "boolean"
1693
1661
  },
1694
- "status": {
1695
- "description": "Filter by status",
1696
- "name": "status",
1662
+ "title": {
1663
+ "description": "Note title",
1664
+ "name": "title",
1665
+ "required": true,
1666
+ "hasDynamicHelp": false,
1667
+ "multiple": false,
1668
+ "type": "option"
1669
+ },
1670
+ "content": {
1671
+ "description": "Note content (markdown)",
1672
+ "name": "content",
1673
+ "hasDynamicHelp": false,
1674
+ "multiple": false,
1675
+ "type": "option"
1676
+ },
1677
+ "type": {
1678
+ "description": "Note type",
1679
+ "name": "type",
1697
1680
  "hasDynamicHelp": false,
1698
1681
  "multiple": false,
1699
1682
  "options": [
1700
- "planning",
1701
- "active",
1702
- "on_hold",
1703
- "blocked",
1704
- "completed"
1683
+ "note",
1684
+ "concept",
1685
+ "meeting",
1686
+ "reference",
1687
+ "daily",
1688
+ "dataset"
1705
1689
  ],
1706
1690
  "type": "option"
1707
1691
  },
1708
- "include-archived": {
1709
- "description": "Include archived projects",
1710
- "name": "include-archived",
1711
- "allowNo": false,
1712
- "type": "boolean"
1692
+ "project": {
1693
+ "description": "Project ID",
1694
+ "name": "project",
1695
+ "hasDynamicHelp": false,
1696
+ "multiple": false,
1697
+ "type": "option"
1713
1698
  }
1714
1699
  },
1715
1700
  "hasDynamicHelp": false,
1716
1701
  "hiddenAliases": [],
1717
- "id": "projects:list",
1702
+ "id": "notes:create",
1718
1703
  "pluginAlias": "@execufunction/cli",
1719
1704
  "pluginName": "@execufunction/cli",
1720
1705
  "pluginType": "core",
@@ -1724,20 +1709,20 @@
1724
1709
  "relativePath": [
1725
1710
  "dist",
1726
1711
  "commands",
1727
- "projects",
1728
- "list.js"
1712
+ "notes",
1713
+ "create.js"
1729
1714
  ]
1730
1715
  },
1731
- "projects:update": {
1716
+ "notes:delete": {
1732
1717
  "aliases": [],
1733
1718
  "args": {
1734
1719
  "id": {
1735
- "description": "Project ID",
1720
+ "description": "Note ID",
1736
1721
  "name": "id",
1737
1722
  "required": true
1738
1723
  }
1739
1724
  },
1740
- "description": "Update a project",
1725
+ "description": "Delete a note",
1741
1726
  "flags": {
1742
1727
  "json": {
1743
1728
  "description": "Format output as json.",
@@ -1772,45 +1757,17 @@
1772
1757
  "allowNo": false,
1773
1758
  "type": "boolean"
1774
1759
  },
1775
- "name": {
1776
- "description": "Project name",
1777
- "name": "name",
1778
- "hasDynamicHelp": false,
1779
- "multiple": false,
1780
- "type": "option"
1781
- },
1782
- "summary": {
1783
- "description": "Project summary",
1784
- "name": "summary",
1785
- "hasDynamicHelp": false,
1786
- "multiple": false,
1787
- "type": "option"
1788
- },
1789
- "status": {
1790
- "description": "Project status",
1791
- "name": "status",
1792
- "hasDynamicHelp": false,
1793
- "multiple": false,
1794
- "options": [
1795
- "planning",
1796
- "active",
1797
- "on_hold",
1798
- "blocked",
1799
- "completed"
1800
- ],
1801
- "type": "option"
1802
- },
1803
- "emoji": {
1804
- "description": "Single emoji",
1805
- "name": "emoji",
1806
- "hasDynamicHelp": false,
1807
- "multiple": false,
1808
- "type": "option"
1760
+ "yes": {
1761
+ "char": "y",
1762
+ "description": "Skip confirmation",
1763
+ "name": "yes",
1764
+ "allowNo": false,
1765
+ "type": "boolean"
1809
1766
  }
1810
1767
  },
1811
1768
  "hasDynamicHelp": false,
1812
1769
  "hiddenAliases": [],
1813
- "id": "projects:update",
1770
+ "id": "notes:delete",
1814
1771
  "pluginAlias": "@execufunction/cli",
1815
1772
  "pluginName": "@execufunction/cli",
1816
1773
  "pluginType": "core",
@@ -1820,20 +1777,20 @@
1820
1777
  "relativePath": [
1821
1778
  "dist",
1822
1779
  "commands",
1823
- "projects",
1824
- "update.js"
1780
+ "notes",
1781
+ "delete.js"
1825
1782
  ]
1826
1783
  },
1827
- "tasks:complete": {
1784
+ "notes:get": {
1828
1785
  "aliases": [],
1829
1786
  "args": {
1830
1787
  "id": {
1831
- "description": "Task ID",
1788
+ "description": "Note ID",
1832
1789
  "name": "id",
1833
1790
  "required": true
1834
1791
  }
1835
1792
  },
1836
- "description": "Mark a task as complete",
1793
+ "description": "Get a note with full content",
1837
1794
  "flags": {
1838
1795
  "json": {
1839
1796
  "description": "Format output as json.",
@@ -1871,7 +1828,7 @@
1871
1828
  },
1872
1829
  "hasDynamicHelp": false,
1873
1830
  "hiddenAliases": [],
1874
- "id": "tasks:complete",
1831
+ "id": "notes:get",
1875
1832
  "pluginAlias": "@execufunction/cli",
1876
1833
  "pluginName": "@execufunction/cli",
1877
1834
  "pluginType": "core",
@@ -1881,18 +1838,14 @@
1881
1838
  "relativePath": [
1882
1839
  "dist",
1883
1840
  "commands",
1884
- "tasks",
1885
- "complete.js"
1841
+ "notes",
1842
+ "get.js"
1886
1843
  ]
1887
1844
  },
1888
- "tasks:create": {
1845
+ "notes:list": {
1889
1846
  "aliases": [],
1890
1847
  "args": {},
1891
- "description": "Create a task",
1892
- "examples": [
1893
- "<%= config.bin %> tasks create --title \"Review PR\"",
1894
- "<%= config.bin %> tasks create --title \"Ship feature\" --priority do_now --due 2026-03-01"
1895
- ],
1848
+ "description": "List notes",
1896
1849
  "flags": {
1897
1850
  "json": {
1898
1851
  "description": "Format output as json.",
@@ -1927,44 +1880,31 @@
1927
1880
  "allowNo": false,
1928
1881
  "type": "boolean"
1929
1882
  },
1930
- "title": {
1931
- "description": "Task title",
1932
- "name": "title",
1933
- "required": true,
1934
- "hasDynamicHelp": false,
1935
- "multiple": false,
1936
- "type": "option"
1937
- },
1938
- "description": {
1939
- "description": "Task description",
1940
- "name": "description",
1883
+ "project": {
1884
+ "description": "Filter by project ID",
1885
+ "name": "project",
1941
1886
  "hasDynamicHelp": false,
1942
1887
  "multiple": false,
1943
1888
  "type": "option"
1944
1889
  },
1945
- "priority": {
1946
- "description": "Priority level",
1947
- "name": "priority",
1890
+ "type": {
1891
+ "description": "Filter by note type",
1892
+ "name": "type",
1948
1893
  "hasDynamicHelp": false,
1949
1894
  "multiple": false,
1950
1895
  "options": [
1951
- "do_now",
1952
- "schedule",
1953
- "delegate",
1954
- "someday"
1896
+ "note",
1897
+ "concept",
1898
+ "meeting",
1899
+ "reference",
1900
+ "daily",
1901
+ "dataset"
1955
1902
  ],
1956
1903
  "type": "option"
1957
1904
  },
1958
- "due": {
1959
- "description": "Due date (ISO 8601)",
1960
- "name": "due",
1961
- "hasDynamicHelp": false,
1962
- "multiple": false,
1963
- "type": "option"
1964
- },
1965
- "project": {
1966
- "description": "Project ID",
1967
- "name": "project",
1905
+ "limit": {
1906
+ "description": "Maximum number of results",
1907
+ "name": "limit",
1968
1908
  "hasDynamicHelp": false,
1969
1909
  "multiple": false,
1970
1910
  "type": "option"
@@ -1972,7 +1912,7 @@
1972
1912
  },
1973
1913
  "hasDynamicHelp": false,
1974
1914
  "hiddenAliases": [],
1975
- "id": "tasks:create",
1915
+ "id": "notes:list",
1976
1916
  "pluginAlias": "@execufunction/cli",
1977
1917
  "pluginName": "@execufunction/cli",
1978
1918
  "pluginType": "core",
@@ -1982,20 +1922,20 @@
1982
1922
  "relativePath": [
1983
1923
  "dist",
1984
1924
  "commands",
1985
- "tasks",
1986
- "create.js"
1925
+ "notes",
1926
+ "list.js"
1987
1927
  ]
1988
1928
  },
1989
- "tasks:delete": {
1929
+ "notes:search": {
1990
1930
  "aliases": [],
1991
1931
  "args": {
1992
- "id": {
1993
- "description": "Task ID",
1994
- "name": "id",
1932
+ "query": {
1933
+ "description": "Search query",
1934
+ "name": "query",
1995
1935
  "required": true
1996
1936
  }
1997
1937
  },
1998
- "description": "Delete a task",
1938
+ "description": "Search notes",
1999
1939
  "flags": {
2000
1940
  "json": {
2001
1941
  "description": "Format output as json.",
@@ -2030,17 +1970,24 @@
2030
1970
  "allowNo": false,
2031
1971
  "type": "boolean"
2032
1972
  },
2033
- "yes": {
2034
- "char": "y",
2035
- "description": "Skip confirmation",
2036
- "name": "yes",
2037
- "allowNo": false,
2038
- "type": "boolean"
1973
+ "project": {
1974
+ "description": "Filter by project ID",
1975
+ "name": "project",
1976
+ "hasDynamicHelp": false,
1977
+ "multiple": false,
1978
+ "type": "option"
1979
+ },
1980
+ "limit": {
1981
+ "description": "Maximum number of results",
1982
+ "name": "limit",
1983
+ "hasDynamicHelp": false,
1984
+ "multiple": false,
1985
+ "type": "option"
2039
1986
  }
2040
1987
  },
2041
1988
  "hasDynamicHelp": false,
2042
1989
  "hiddenAliases": [],
2043
- "id": "tasks:delete",
1990
+ "id": "notes:search",
2044
1991
  "pluginAlias": "@execufunction/cli",
2045
1992
  "pluginName": "@execufunction/cli",
2046
1993
  "pluginType": "core",
@@ -2050,20 +1997,20 @@
2050
1997
  "relativePath": [
2051
1998
  "dist",
2052
1999
  "commands",
2053
- "tasks",
2054
- "delete.js"
2000
+ "notes",
2001
+ "search.js"
2055
2002
  ]
2056
2003
  },
2057
- "tasks:get": {
2004
+ "notes:update": {
2058
2005
  "aliases": [],
2059
2006
  "args": {
2060
2007
  "id": {
2061
- "description": "Task ID",
2008
+ "description": "Note ID",
2062
2009
  "name": "id",
2063
2010
  "required": true
2064
2011
  }
2065
2012
  },
2066
- "description": "Get task details",
2013
+ "description": "Update a note",
2067
2014
  "flags": {
2068
2015
  "json": {
2069
2016
  "description": "Format output as json.",
@@ -2097,11 +2044,40 @@
2097
2044
  "name": "no-input",
2098
2045
  "allowNo": false,
2099
2046
  "type": "boolean"
2100
- }
2101
- },
2047
+ },
2048
+ "title": {
2049
+ "description": "Note title",
2050
+ "name": "title",
2051
+ "hasDynamicHelp": false,
2052
+ "multiple": false,
2053
+ "type": "option"
2054
+ },
2055
+ "content": {
2056
+ "description": "Note content (markdown)",
2057
+ "name": "content",
2058
+ "hasDynamicHelp": false,
2059
+ "multiple": false,
2060
+ "type": "option"
2061
+ },
2062
+ "type": {
2063
+ "description": "Note type",
2064
+ "name": "type",
2065
+ "hasDynamicHelp": false,
2066
+ "multiple": false,
2067
+ "options": [
2068
+ "note",
2069
+ "concept",
2070
+ "meeting",
2071
+ "reference",
2072
+ "daily",
2073
+ "dataset"
2074
+ ],
2075
+ "type": "option"
2076
+ }
2077
+ },
2102
2078
  "hasDynamicHelp": false,
2103
2079
  "hiddenAliases": [],
2104
- "id": "tasks:get",
2080
+ "id": "notes:update",
2105
2081
  "pluginAlias": "@execufunction/cli",
2106
2082
  "pluginName": "@execufunction/cli",
2107
2083
  "pluginType": "core",
@@ -2111,19 +2087,20 @@
2111
2087
  "relativePath": [
2112
2088
  "dist",
2113
2089
  "commands",
2114
- "tasks",
2115
- "get.js"
2090
+ "notes",
2091
+ "update.js"
2116
2092
  ]
2117
2093
  },
2118
- "tasks:list": {
2094
+ "projects:archive": {
2119
2095
  "aliases": [],
2120
- "args": {},
2121
- "description": "List tasks",
2122
- "examples": [
2123
- "<%= config.bin %> tasks list",
2124
- "<%= config.bin %> tasks list --status in_progress",
2125
- "<%= config.bin %> tasks list --project <project-id> --json"
2126
- ],
2096
+ "args": {
2097
+ "id": {
2098
+ "description": "Project ID",
2099
+ "name": "id",
2100
+ "required": true
2101
+ }
2102
+ },
2103
+ "description": "Archive a project",
2127
2104
  "flags": {
2128
2105
  "json": {
2129
2106
  "description": "Format output as json.",
@@ -2158,39 +2135,17 @@
2158
2135
  "allowNo": false,
2159
2136
  "type": "boolean"
2160
2137
  },
2161
- "status": {
2162
- "description": "Filter by status",
2163
- "name": "status",
2164
- "hasDynamicHelp": false,
2165
- "multiple": false,
2166
- "options": [
2167
- "inbox",
2168
- "next_action",
2169
- "in_progress",
2170
- "waiting_for",
2171
- "completed",
2172
- "archived"
2173
- ],
2174
- "type": "option"
2175
- },
2176
- "project": {
2177
- "description": "Filter by project ID",
2178
- "name": "project",
2179
- "hasDynamicHelp": false,
2180
- "multiple": false,
2181
- "type": "option"
2182
- },
2183
- "limit": {
2184
- "description": "Maximum number of results",
2185
- "name": "limit",
2186
- "hasDynamicHelp": false,
2187
- "multiple": false,
2188
- "type": "option"
2138
+ "yes": {
2139
+ "char": "y",
2140
+ "description": "Skip confirmation",
2141
+ "name": "yes",
2142
+ "allowNo": false,
2143
+ "type": "boolean"
2189
2144
  }
2190
2145
  },
2191
2146
  "hasDynamicHelp": false,
2192
2147
  "hiddenAliases": [],
2193
- "id": "tasks:list",
2148
+ "id": "projects:archive",
2194
2149
  "pluginAlias": "@execufunction/cli",
2195
2150
  "pluginName": "@execufunction/cli",
2196
2151
  "pluginType": "core",
@@ -2200,20 +2155,20 @@
2200
2155
  "relativePath": [
2201
2156
  "dist",
2202
2157
  "commands",
2203
- "tasks",
2204
- "list.js"
2158
+ "projects",
2159
+ "archive.js"
2205
2160
  ]
2206
2161
  },
2207
- "tasks:update": {
2162
+ "projects:context": {
2208
2163
  "aliases": [],
2209
2164
  "args": {
2210
2165
  "id": {
2211
- "description": "Task ID",
2166
+ "description": "Project ID",
2212
2167
  "name": "id",
2213
2168
  "required": true
2214
2169
  }
2215
2170
  },
2216
- "description": "Update a task",
2171
+ "description": "Get project context (tasks, notes, signals)",
2217
2172
  "flags": {
2218
2173
  "json": {
2219
2174
  "description": "Format output as json.",
@@ -2247,59 +2202,94 @@
2247
2202
  "name": "no-input",
2248
2203
  "allowNo": false,
2249
2204
  "type": "boolean"
2205
+ }
2206
+ },
2207
+ "hasDynamicHelp": false,
2208
+ "hiddenAliases": [],
2209
+ "id": "projects:context",
2210
+ "pluginAlias": "@execufunction/cli",
2211
+ "pluginName": "@execufunction/cli",
2212
+ "pluginType": "core",
2213
+ "strict": true,
2214
+ "enableJsonFlag": true,
2215
+ "isESM": false,
2216
+ "relativePath": [
2217
+ "dist",
2218
+ "commands",
2219
+ "projects",
2220
+ "context.js"
2221
+ ]
2222
+ },
2223
+ "projects:create": {
2224
+ "aliases": [],
2225
+ "args": {},
2226
+ "description": "Create a project",
2227
+ "flags": {
2228
+ "json": {
2229
+ "description": "Format output as json.",
2230
+ "helpGroup": "GLOBAL",
2231
+ "name": "json",
2232
+ "allowNo": false,
2233
+ "type": "boolean"
2250
2234
  },
2251
- "title": {
2252
- "description": "Task title",
2253
- "name": "title",
2235
+ "token": {
2236
+ "description": "Personal access token",
2237
+ "env": "EXF_TOKEN",
2238
+ "helpGroup": "GLOBAL",
2239
+ "name": "token",
2254
2240
  "hasDynamicHelp": false,
2255
2241
  "multiple": false,
2256
2242
  "type": "option"
2257
2243
  },
2258
- "description": {
2259
- "description": "Task description",
2260
- "name": "description",
2244
+ "api-url": {
2245
+ "description": "API base URL",
2246
+ "env": "EXF_API_URL",
2247
+ "helpGroup": "GLOBAL",
2248
+ "name": "api-url",
2249
+ "default": "https://execufunction.com",
2261
2250
  "hasDynamicHelp": false,
2262
2251
  "multiple": false,
2263
2252
  "type": "option"
2264
2253
  },
2265
- "status": {
2266
- "description": "Task status",
2267
- "name": "status",
2254
+ "no-input": {
2255
+ "description": "Disable interactive prompts",
2256
+ "helpGroup": "GLOBAL",
2257
+ "name": "no-input",
2258
+ "allowNo": false,
2259
+ "type": "boolean"
2260
+ },
2261
+ "name": {
2262
+ "description": "Project name",
2263
+ "name": "name",
2264
+ "required": true,
2268
2265
  "hasDynamicHelp": false,
2269
2266
  "multiple": false,
2270
- "options": [
2271
- "inbox",
2272
- "next_action",
2273
- "in_progress",
2274
- "waiting_for",
2275
- "completed",
2276
- "archived"
2277
- ],
2278
2267
  "type": "option"
2279
2268
  },
2280
- "priority": {
2281
- "description": "Priority level",
2282
- "name": "priority",
2269
+ "summary": {
2270
+ "description": "Project summary",
2271
+ "name": "summary",
2283
2272
  "hasDynamicHelp": false,
2284
2273
  "multiple": false,
2285
- "options": [
2286
- "do_now",
2287
- "schedule",
2288
- "delegate",
2289
- "someday"
2290
- ],
2291
2274
  "type": "option"
2292
2275
  },
2293
- "due": {
2294
- "description": "Due date (ISO 8601)",
2295
- "name": "due",
2276
+ "status": {
2277
+ "description": "Project status",
2278
+ "name": "status",
2296
2279
  "hasDynamicHelp": false,
2297
2280
  "multiple": false,
2281
+ "options": [
2282
+ "planning",
2283
+ "active",
2284
+ "on_hold",
2285
+ "blocked",
2286
+ "completed"
2287
+ ],
2298
2288
  "type": "option"
2299
2289
  },
2300
- "project": {
2301
- "description": "Project ID",
2302
- "name": "project",
2290
+ "emoji": {
2291
+ "description": "Single emoji",
2292
+ "name": "emoji",
2303
2293
  "hasDynamicHelp": false,
2304
2294
  "multiple": false,
2305
2295
  "type": "option"
@@ -2307,7 +2297,7 @@
2307
2297
  },
2308
2298
  "hasDynamicHelp": false,
2309
2299
  "hiddenAliases": [],
2310
- "id": "tasks:update",
2300
+ "id": "projects:create",
2311
2301
  "pluginAlias": "@execufunction/cli",
2312
2302
  "pluginName": "@execufunction/cli",
2313
2303
  "pluginType": "core",
@@ -2317,20 +2307,14 @@
2317
2307
  "relativePath": [
2318
2308
  "dist",
2319
2309
  "commands",
2320
- "tasks",
2321
- "update.js"
2310
+ "projects",
2311
+ "create.js"
2322
2312
  ]
2323
2313
  },
2324
- "codebase:delete": {
2314
+ "projects:list": {
2325
2315
  "aliases": [],
2326
- "args": {
2327
- "id": {
2328
- "description": "Repository ID",
2329
- "name": "id",
2330
- "required": true
2331
- }
2332
- },
2333
- "description": "Delete a repository and all indexed data",
2316
+ "args": {},
2317
+ "description": "List projects",
2334
2318
  "flags": {
2335
2319
  "json": {
2336
2320
  "description": "Format output as json.",
@@ -2365,17 +2349,30 @@
2365
2349
  "allowNo": false,
2366
2350
  "type": "boolean"
2367
2351
  },
2368
- "yes": {
2369
- "char": "y",
2370
- "description": "Skip confirmation",
2371
- "name": "yes",
2352
+ "status": {
2353
+ "description": "Filter by status",
2354
+ "name": "status",
2355
+ "hasDynamicHelp": false,
2356
+ "multiple": false,
2357
+ "options": [
2358
+ "planning",
2359
+ "active",
2360
+ "on_hold",
2361
+ "blocked",
2362
+ "completed"
2363
+ ],
2364
+ "type": "option"
2365
+ },
2366
+ "include-archived": {
2367
+ "description": "Include archived projects",
2368
+ "name": "include-archived",
2372
2369
  "allowNo": false,
2373
2370
  "type": "boolean"
2374
2371
  }
2375
2372
  },
2376
2373
  "hasDynamicHelp": false,
2377
2374
  "hiddenAliases": [],
2378
- "id": "codebase:delete",
2375
+ "id": "projects:list",
2379
2376
  "pluginAlias": "@execufunction/cli",
2380
2377
  "pluginName": "@execufunction/cli",
2381
2378
  "pluginType": "core",
@@ -2385,20 +2382,20 @@
2385
2382
  "relativePath": [
2386
2383
  "dist",
2387
2384
  "commands",
2388
- "codebase",
2389
- "delete.js"
2385
+ "projects",
2386
+ "list.js"
2390
2387
  ]
2391
2388
  },
2392
- "codebase": {
2389
+ "projects:update": {
2393
2390
  "aliases": [],
2394
2391
  "args": {
2395
2392
  "id": {
2396
- "description": "Repository ID",
2393
+ "description": "Project ID",
2397
2394
  "name": "id",
2398
2395
  "required": true
2399
2396
  }
2400
2397
  },
2401
- "description": "Index a codebase (scan and upload files)",
2398
+ "description": "Update a project",
2402
2399
  "flags": {
2403
2400
  "json": {
2404
2401
  "description": "Format output as json.",
@@ -2433,30 +2430,37 @@
2433
2430
  "allowNo": false,
2434
2431
  "type": "boolean"
2435
2432
  },
2436
- "path": {
2437
- "description": "Absolute path to repository root",
2438
- "name": "path",
2439
- "required": true,
2433
+ "name": {
2434
+ "description": "Project name",
2435
+ "name": "name",
2440
2436
  "hasDynamicHelp": false,
2441
2437
  "multiple": false,
2442
2438
  "type": "option"
2443
2439
  },
2444
- "incremental": {
2445
- "description": "Git-aware incremental index (changed files only)",
2446
- "name": "incremental",
2447
- "allowNo": false,
2448
- "type": "boolean"
2440
+ "summary": {
2441
+ "description": "Project summary",
2442
+ "name": "summary",
2443
+ "hasDynamicHelp": false,
2444
+ "multiple": false,
2445
+ "type": "option"
2449
2446
  },
2450
- "include": {
2451
- "description": "Comma-separated include glob patterns",
2452
- "name": "include",
2447
+ "status": {
2448
+ "description": "Project status",
2449
+ "name": "status",
2453
2450
  "hasDynamicHelp": false,
2454
2451
  "multiple": false,
2452
+ "options": [
2453
+ "planning",
2454
+ "active",
2455
+ "on_hold",
2456
+ "blocked",
2457
+ "completed"
2458
+ ],
2455
2459
  "type": "option"
2456
2460
  },
2457
- "exclude": {
2458
- "description": "Comma-separated exclude glob patterns",
2459
- "name": "exclude",
2461
+ "emoji": {
2462
+ "description": "Single emoji",
2463
+ "name": "emoji",
2460
2464
  "hasDynamicHelp": false,
2461
2465
  "multiple": false,
2462
2466
  "type": "option"
@@ -2464,7 +2468,7 @@
2464
2468
  },
2465
2469
  "hasDynamicHelp": false,
2466
2470
  "hiddenAliases": [],
2467
- "id": "codebase",
2471
+ "id": "projects:update",
2468
2472
  "pluginAlias": "@execufunction/cli",
2469
2473
  "pluginName": "@execufunction/cli",
2470
2474
  "pluginType": "core",
@@ -2474,14 +2478,20 @@
2474
2478
  "relativePath": [
2475
2479
  "dist",
2476
2480
  "commands",
2477
- "codebase",
2478
- "index.js"
2481
+ "projects",
2482
+ "update.js"
2479
2483
  ]
2480
2484
  },
2481
- "codebase:list": {
2485
+ "tasks:complete": {
2482
2486
  "aliases": [],
2483
- "args": {},
2484
- "description": "List indexed repositories",
2487
+ "args": {
2488
+ "id": {
2489
+ "description": "Task ID",
2490
+ "name": "id",
2491
+ "required": true
2492
+ }
2493
+ },
2494
+ "description": "Mark a task as complete",
2485
2495
  "flags": {
2486
2496
  "json": {
2487
2497
  "description": "Format output as json.",
@@ -2519,7 +2529,7 @@
2519
2529
  },
2520
2530
  "hasDynamicHelp": false,
2521
2531
  "hiddenAliases": [],
2522
- "id": "codebase:list",
2532
+ "id": "tasks:complete",
2523
2533
  "pluginAlias": "@execufunction/cli",
2524
2534
  "pluginName": "@execufunction/cli",
2525
2535
  "pluginType": "core",
@@ -2529,14 +2539,19 @@
2529
2539
  "relativePath": [
2530
2540
  "dist",
2531
2541
  "commands",
2532
- "codebase",
2533
- "list.js"
2542
+ "tasks",
2543
+ "complete.js"
2534
2544
  ]
2535
2545
  },
2536
- "codebase:register": {
2546
+ "tasks:create": {
2537
2547
  "aliases": [],
2538
2548
  "args": {},
2539
- "description": "Register a codebase for indexing",
2549
+ "description": "Create a task",
2550
+ "examples": [
2551
+ "<%= config.bin %> tasks create --title \"Review PR\"",
2552
+ "<%= config.bin %> tasks create --title \"Ship feature\" --priority do_now --due 2026-03-01",
2553
+ "<%= config.bin %> tasks create --title \"Refactor auth\" --effort medium --phase draft"
2554
+ ],
2540
2555
  "flags": {
2541
2556
  "json": {
2542
2557
  "description": "Format output as json.",
@@ -2571,128 +2586,102 @@
2571
2586
  "allowNo": false,
2572
2587
  "type": "boolean"
2573
2588
  },
2574
- "name": {
2575
- "description": "Repository name",
2576
- "name": "name",
2577
- "required": true,
2578
- "hasDynamicHelp": false,
2579
- "multiple": false,
2580
- "type": "option"
2581
- },
2582
- "path": {
2583
- "description": "Absolute path to repository root",
2584
- "name": "path",
2589
+ "title": {
2590
+ "description": "Task title",
2591
+ "name": "title",
2585
2592
  "required": true,
2586
2593
  "hasDynamicHelp": false,
2587
2594
  "multiple": false,
2588
2595
  "type": "option"
2589
2596
  },
2590
- "project": {
2591
- "description": "Project ID to associate",
2592
- "name": "project",
2597
+ "description": {
2598
+ "description": "Task description",
2599
+ "name": "description",
2593
2600
  "hasDynamicHelp": false,
2594
2601
  "multiple": false,
2595
2602
  "type": "option"
2596
2603
  },
2597
- "auto-index": {
2598
- "description": "Enable automatic indexing",
2599
- "name": "auto-index",
2600
- "allowNo": false,
2601
- "type": "boolean"
2602
- }
2603
- },
2604
- "hasDynamicHelp": false,
2605
- "hiddenAliases": [],
2606
- "id": "codebase:register",
2607
- "pluginAlias": "@execufunction/cli",
2608
- "pluginName": "@execufunction/cli",
2609
- "pluginType": "core",
2610
- "strict": true,
2611
- "enableJsonFlag": true,
2612
- "isESM": false,
2613
- "relativePath": [
2614
- "dist",
2615
- "commands",
2616
- "codebase",
2617
- "register.js"
2618
- ]
2619
- },
2620
- "codebase:search": {
2621
- "aliases": [],
2622
- "args": {
2623
- "query": {
2624
- "description": "Search query",
2625
- "name": "query",
2626
- "required": true
2627
- }
2628
- },
2629
- "description": "Semantic code search",
2630
- "flags": {
2631
- "json": {
2632
- "description": "Format output as json.",
2633
- "helpGroup": "GLOBAL",
2634
- "name": "json",
2635
- "allowNo": false,
2636
- "type": "boolean"
2637
- },
2638
- "token": {
2639
- "description": "Personal access token",
2640
- "env": "EXF_TOKEN",
2641
- "helpGroup": "GLOBAL",
2642
- "name": "token",
2604
+ "priority": {
2605
+ "description": "Priority level",
2606
+ "name": "priority",
2643
2607
  "hasDynamicHelp": false,
2644
2608
  "multiple": false,
2609
+ "options": [
2610
+ "do_now",
2611
+ "schedule",
2612
+ "delegate",
2613
+ "someday"
2614
+ ],
2645
2615
  "type": "option"
2646
2616
  },
2647
- "api-url": {
2648
- "description": "API base URL",
2649
- "env": "EXF_API_URL",
2650
- "helpGroup": "GLOBAL",
2651
- "name": "api-url",
2652
- "default": "https://execufunction.com",
2617
+ "due": {
2618
+ "description": "Due date (ISO 8601)",
2619
+ "name": "due",
2653
2620
  "hasDynamicHelp": false,
2654
2621
  "multiple": false,
2655
2622
  "type": "option"
2656
2623
  },
2657
- "no-input": {
2658
- "description": "Disable interactive prompts",
2659
- "helpGroup": "GLOBAL",
2660
- "name": "no-input",
2661
- "allowNo": false,
2662
- "type": "boolean"
2624
+ "project": {
2625
+ "description": "Project ID",
2626
+ "name": "project",
2627
+ "hasDynamicHelp": false,
2628
+ "multiple": false,
2629
+ "type": "option"
2663
2630
  },
2664
- "repo": {
2665
- "description": "Repository ID",
2666
- "name": "repo",
2631
+ "phase": {
2632
+ "description": "Lifecycle phase",
2633
+ "name": "phase",
2667
2634
  "hasDynamicHelp": false,
2668
2635
  "multiple": false,
2636
+ "options": [
2637
+ "draft",
2638
+ "open",
2639
+ "in_flight",
2640
+ "review",
2641
+ "blocked",
2642
+ "done",
2643
+ "cancelled"
2644
+ ],
2669
2645
  "type": "option"
2670
2646
  },
2671
- "language": {
2672
- "description": "Filter by language",
2673
- "name": "language",
2647
+ "effort": {
2648
+ "description": "Effort estimate",
2649
+ "name": "effort",
2674
2650
  "hasDynamicHelp": false,
2675
2651
  "multiple": false,
2652
+ "options": [
2653
+ "trivial",
2654
+ "small",
2655
+ "medium",
2656
+ "large",
2657
+ "epic",
2658
+ "unknown"
2659
+ ],
2676
2660
  "type": "option"
2677
2661
  },
2678
- "symbol-type": {
2679
- "description": "Filter by symbol type",
2680
- "name": "symbol-type",
2662
+ "executor-agent": {
2663
+ "description": "AI executor agent",
2664
+ "name": "executor-agent",
2681
2665
  "hasDynamicHelp": false,
2682
2666
  "multiple": false,
2683
2667
  "options": [
2684
- "function",
2685
- "class",
2686
- "interface",
2687
- "type",
2688
- "export",
2689
- "impl"
2668
+ "claude_code",
2669
+ "openclaw",
2670
+ "cursor",
2671
+ "windsurf"
2690
2672
  ],
2691
2673
  "type": "option"
2692
2674
  },
2693
- "limit": {
2694
- "description": "Maximum number of results",
2695
- "name": "limit",
2675
+ "acceptance-criteria": {
2676
+ "description": "Acceptance criteria (semicolon-separated text, e.g. \"tests pass; docs updated\")",
2677
+ "name": "acceptance-criteria",
2678
+ "hasDynamicHelp": false,
2679
+ "multiple": false,
2680
+ "type": "option"
2681
+ },
2682
+ "scope": {
2683
+ "description": "Scope boundaries (JSON object with include/exclude arrays)",
2684
+ "name": "scope",
2696
2685
  "hasDynamicHelp": false,
2697
2686
  "multiple": false,
2698
2687
  "type": "option"
@@ -2700,7 +2689,7 @@
2700
2689
  },
2701
2690
  "hasDynamicHelp": false,
2702
2691
  "hiddenAliases": [],
2703
- "id": "codebase:search",
2692
+ "id": "tasks:create",
2704
2693
  "pluginAlias": "@execufunction/cli",
2705
2694
  "pluginName": "@execufunction/cli",
2706
2695
  "pluginType": "core",
@@ -2710,20 +2699,20 @@
2710
2699
  "relativePath": [
2711
2700
  "dist",
2712
2701
  "commands",
2713
- "codebase",
2714
- "search.js"
2702
+ "tasks",
2703
+ "create.js"
2715
2704
  ]
2716
2705
  },
2717
- "codebase:snapshot": {
2706
+ "tasks:delete": {
2718
2707
  "aliases": [],
2719
2708
  "args": {
2720
2709
  "id": {
2721
- "description": "Repository ID",
2710
+ "description": "Task ID",
2722
2711
  "name": "id",
2723
2712
  "required": true
2724
2713
  }
2725
2714
  },
2726
- "description": "Get latest index snapshot for a repository",
2715
+ "description": "Delete a task",
2727
2716
  "flags": {
2728
2717
  "json": {
2729
2718
  "description": "Format output as json.",
@@ -2758,23 +2747,17 @@
2758
2747
  "allowNo": false,
2759
2748
  "type": "boolean"
2760
2749
  },
2761
- "branch": {
2762
- "description": "Filter by branch",
2763
- "name": "branch",
2764
- "hasDynamicHelp": false,
2765
- "multiple": false,
2766
- "type": "option"
2767
- },
2768
- "materialize": {
2769
- "description": "Generate a download URL for the snapshot",
2770
- "name": "materialize",
2750
+ "yes": {
2751
+ "char": "y",
2752
+ "description": "Skip confirmation",
2753
+ "name": "yes",
2771
2754
  "allowNo": false,
2772
2755
  "type": "boolean"
2773
2756
  }
2774
2757
  },
2775
2758
  "hasDynamicHelp": false,
2776
2759
  "hiddenAliases": [],
2777
- "id": "codebase:snapshot",
2760
+ "id": "tasks:delete",
2778
2761
  "pluginAlias": "@execufunction/cli",
2779
2762
  "pluginName": "@execufunction/cli",
2780
2763
  "pluginType": "core",
@@ -2784,20 +2767,20 @@
2784
2767
  "relativePath": [
2785
2768
  "dist",
2786
2769
  "commands",
2787
- "codebase",
2788
- "snapshot.js"
2770
+ "tasks",
2771
+ "delete.js"
2789
2772
  ]
2790
2773
  },
2791
- "codebase:status": {
2774
+ "tasks:get": {
2792
2775
  "aliases": [],
2793
2776
  "args": {
2794
2777
  "id": {
2795
- "description": "Repository ID",
2778
+ "description": "Task ID",
2796
2779
  "name": "id",
2797
2780
  "required": true
2798
2781
  }
2799
2782
  },
2800
- "description": "Check indexing status for a repository",
2783
+ "description": "Get task details",
2801
2784
  "flags": {
2802
2785
  "json": {
2803
2786
  "description": "Format output as json.",
@@ -2835,7 +2818,7 @@
2835
2818
  },
2836
2819
  "hasDynamicHelp": false,
2837
2820
  "hiddenAliases": [],
2838
- "id": "codebase:status",
2821
+ "id": "tasks:get",
2839
2822
  "pluginAlias": "@execufunction/cli",
2840
2823
  "pluginName": "@execufunction/cli",
2841
2824
  "pluginType": "core",
@@ -2845,14 +2828,19 @@
2845
2828
  "relativePath": [
2846
2829
  "dist",
2847
2830
  "commands",
2848
- "codebase",
2849
- "status.js"
2831
+ "tasks",
2832
+ "get.js"
2850
2833
  ]
2851
2834
  },
2852
- "people:list": {
2835
+ "tasks:list": {
2853
2836
  "aliases": [],
2854
2837
  "args": {},
2855
- "description": "List contacts",
2838
+ "description": "List tasks",
2839
+ "examples": [
2840
+ "<%= config.bin %> tasks list",
2841
+ "<%= config.bin %> tasks list --status in_progress",
2842
+ "<%= config.bin %> tasks list --project <project-id> --json"
2843
+ ],
2856
2844
  "flags": {
2857
2845
  "json": {
2858
2846
  "description": "Format output as json.",
@@ -2887,17 +2875,83 @@
2887
2875
  "allowNo": false,
2888
2876
  "type": "boolean"
2889
2877
  },
2878
+ "status": {
2879
+ "description": "Filter by status",
2880
+ "name": "status",
2881
+ "hasDynamicHelp": false,
2882
+ "multiple": false,
2883
+ "options": [
2884
+ "inbox",
2885
+ "next_action",
2886
+ "in_progress",
2887
+ "waiting_for",
2888
+ "completed",
2889
+ "archived"
2890
+ ],
2891
+ "type": "option"
2892
+ },
2893
+ "project": {
2894
+ "description": "Filter by project ID",
2895
+ "name": "project",
2896
+ "hasDynamicHelp": false,
2897
+ "multiple": false,
2898
+ "type": "option"
2899
+ },
2890
2900
  "limit": {
2891
2901
  "description": "Maximum number of results",
2892
2902
  "name": "limit",
2893
2903
  "hasDynamicHelp": false,
2894
2904
  "multiple": false,
2895
2905
  "type": "option"
2906
+ },
2907
+ "phase": {
2908
+ "description": "Filter by phase",
2909
+ "name": "phase",
2910
+ "hasDynamicHelp": false,
2911
+ "multiple": false,
2912
+ "options": [
2913
+ "draft",
2914
+ "open",
2915
+ "in_flight",
2916
+ "review",
2917
+ "blocked",
2918
+ "done",
2919
+ "cancelled"
2920
+ ],
2921
+ "type": "option"
2922
+ },
2923
+ "effort": {
2924
+ "description": "Filter by effort",
2925
+ "name": "effort",
2926
+ "hasDynamicHelp": false,
2927
+ "multiple": false,
2928
+ "options": [
2929
+ "trivial",
2930
+ "small",
2931
+ "medium",
2932
+ "large",
2933
+ "epic",
2934
+ "unknown"
2935
+ ],
2936
+ "type": "option"
2937
+ },
2938
+ "executor-agent": {
2939
+ "description": "Filter by executor agent",
2940
+ "name": "executor-agent",
2941
+ "hasDynamicHelp": false,
2942
+ "multiple": false,
2943
+ "options": [
2944
+ "claude_code",
2945
+ "openclaw",
2946
+ "cursor",
2947
+ "windsurf"
2948
+ ],
2949
+ "type": "option"
2896
2950
  }
2897
2951
  },
2898
2952
  "hasDynamicHelp": false,
2899
2953
  "hiddenAliases": [],
2900
- "id": "people:list",
2954
+ "id": "tasks:list",
2901
2955
  "pluginAlias": "@execufunction/cli",
2902
2956
  "pluginName": "@execufunction/cli",
2903
2957
  "pluginType": "core",
@@ -2907,20 +2961,20 @@
2907
2961
  "relativePath": [
2908
2962
  "dist",
2909
2963
  "commands",
2910
- "people",
2964
+ "tasks",
2911
2965
  "list.js"
2912
2966
  ]
2913
2967
  },
2914
- "people:search": {
2968
+ "tasks:update": {
2915
2969
  "aliases": [],
2916
2970
  "args": {
2917
- "query": {
2918
- "description": "Search query",
2919
- "name": "query",
2971
+ "id": {
2972
+ "description": "Task ID",
2973
+ "name": "id",
2920
2974
  "required": true
2921
2975
  }
2922
2976
  },
2923
- "description": "Search contacts",
2977
+ "description": "Update a task",
2924
2978
  "flags": {
2925
2979
  "json": {
2926
2980
  "description": "Format output as json.",
@@ -2955,9 +3009,123 @@
2955
3009
  "allowNo": false,
2956
3010
  "type": "boolean"
2957
3011
  },
2958
- "limit": {
2959
- "description": "Maximum number of results",
2960
- "name": "limit",
3012
+ "title": {
3013
+ "description": "Task title",
3014
+ "name": "title",
3015
+ "hasDynamicHelp": false,
3016
+ "multiple": false,
3017
+ "type": "option"
3018
+ },
3019
+ "description": {
3020
+ "description": "Task description",
3021
+ "name": "description",
3022
+ "hasDynamicHelp": false,
3023
+ "multiple": false,
3024
+ "type": "option"
3025
+ },
3026
+ "status": {
3027
+ "description": "Task status",
3028
+ "name": "status",
3029
+ "hasDynamicHelp": false,
3030
+ "multiple": false,
3031
+ "options": [
3032
+ "inbox",
3033
+ "next_action",
3034
+ "in_progress",
3035
+ "waiting_for",
3036
+ "completed",
3037
+ "archived"
3038
+ ],
3039
+ "type": "option"
3040
+ },
3041
+ "priority": {
3042
+ "description": "Priority level",
3043
+ "name": "priority",
3044
+ "hasDynamicHelp": false,
3045
+ "multiple": false,
3046
+ "options": [
3047
+ "do_now",
3048
+ "schedule",
3049
+ "delegate",
3050
+ "someday"
3051
+ ],
3052
+ "type": "option"
3053
+ },
3054
+ "due": {
3055
+ "description": "Due date (ISO 8601)",
3056
+ "name": "due",
3057
+ "hasDynamicHelp": false,
3058
+ "multiple": false,
3059
+ "type": "option"
3060
+ },
3061
+ "project": {
3062
+ "description": "Project ID",
3063
+ "name": "project",
3064
+ "hasDynamicHelp": false,
3065
+ "multiple": false,
3066
+ "type": "option"
3067
+ },
3068
+ "phase": {
3069
+ "description": "Lifecycle phase",
3070
+ "name": "phase",
3071
+ "hasDynamicHelp": false,
3072
+ "multiple": false,
3073
+ "options": [
3074
+ "draft",
3075
+ "open",
3076
+ "in_flight",
3077
+ "review",
3078
+ "blocked",
3079
+ "done",
3080
+ "cancelled"
3081
+ ],
3082
+ "type": "option"
3083
+ },
3084
+ "effort": {
3085
+ "description": "Effort estimate",
3086
+ "name": "effort",
3087
+ "hasDynamicHelp": false,
3088
+ "multiple": false,
3089
+ "options": [
3090
+ "trivial",
3091
+ "small",
3092
+ "medium",
3093
+ "large",
3094
+ "epic",
3095
+ "unknown"
3096
+ ],
3097
+ "type": "option"
3098
+ },
3099
+ "executor-agent": {
3100
+ "description": "AI executor agent",
3101
+ "name": "executor-agent",
3102
+ "hasDynamicHelp": false,
3103
+ "multiple": false,
3104
+ "options": [
3105
+ "claude_code",
3106
+ "openclaw",
3107
+ "cursor",
3108
+ "windsurf"
3109
+ ],
3110
+ "type": "option"
3111
+ },
3112
+ "blocked-reason": {
3113
+ "description": "Reason task is blocked",
3114
+ "name": "blocked-reason",
3115
+ "hasDynamicHelp": false,
3116
+ "multiple": false,
3117
+ "type": "option"
3118
+ },
3119
+ "acceptance-criteria": {
3120
+ "description": "Acceptance criteria (semicolon-separated text, e.g. \"tests pass; docs updated\")",
3121
+ "name": "acceptance-criteria",
3122
+ "hasDynamicHelp": false,
3123
+ "multiple": false,
3124
+ "type": "option"
3125
+ },
3126
+ "scope": {
3127
+ "description": "Scope boundaries (JSON object with include/exclude arrays)",
3128
+ "name": "scope",
2961
3129
  "hasDynamicHelp": false,
2962
3130
  "multiple": false,
2963
3131
  "type": "option"
@@ -2965,7 +3133,7 @@
2965
3133
  },
2966
3134
  "hasDynamicHelp": false,
2967
3135
  "hiddenAliases": [],
2968
- "id": "people:search",
3136
+ "id": "tasks:update",
2969
3137
  "pluginAlias": "@execufunction/cli",
2970
3138
  "pluginName": "@execufunction/cli",
2971
3139
  "pluginType": "core",
@@ -2975,8 +3143,8 @@
2975
3143
  "relativePath": [
2976
3144
  "dist",
2977
3145
  "commands",
2978
- "people",
2979
- "search.js"
3146
+ "tasks",
3147
+ "update.js"
2980
3148
  ]
2981
3149
  },
2982
3150
  "vault:create": {
@@ -3737,5 +3905,5 @@
3737
3905
  ]
3738
3906
  }
3739
3907
  },
3740
- "version": "0.3.1"
3908
+ "version": "0.4.0"
3741
3909
  }