git-coco 0.55.0 → 0.57.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/README.md CHANGED
@@ -18,7 +18,7 @@ An AI-powered git assistant that generates meaningful commit messages, creates c
18
18
  - 📋 **Conventional Commits** - Full support with automatic validation and formatting (extends to `coco commit --split` too — every group's title respects the spec)
19
19
  - 🔧 **Commitlint Integration** - Seamless integration with your existing commitlint configuration
20
20
  - 🏠 **Local AI Support** - Run completely offline with Ollama (no API costs, full privacy)
21
- - 🖥️ **Coco UI Git Workstation** - Thirteen top-level views (history, status, diff, compose, branches, tags, stash, worktrees, pull-request, conflicts, reflog, bisect, changelog) reachable via `g`-prefixed chords, with an interactive command palette (`:`), global search (`/`), and one-keystroke workflows: `S` split staged changes, `L` generate a changelog, `C` create a PR seeded from changelog, `E` open the commit draft in `$EDITOR`
21
+ - 🖥️ **Coco UI Git Workstation** - Sixteen top-level views (history, status, diff, compose, branches, tags, stash, worktrees, pull-request, PR triage, issues, conflicts, reflog, bisect, submodules, changelog) reachable via `g`-prefixed chords, with an interactive command palette (`:`), global search (`/`), and one-keystroke workflows: `S` split staged changes, `L` generate a changelog, `C` create a PR seeded from changelog, `E` open the commit draft in `$EDITOR`
22
22
  - 🎯 **`--repo <dir>` global flag** - Drive any coco command against any repository without `cd`-ing first
23
23
  - 📦 **Package Manager Friendly** - Works with npm, yarn, and pnpm
24
24
  - 👥 **Team Ready** - Shared configurations and enterprise deployment
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ import { Color } from 'chalk';
10
10
  import { TiktokenModel as TiktokenModel$1 } from 'tiktoken';
11
11
 
12
12
  type LogInkBorderStyle = 'round' | 'single' | 'classic';
13
- type LogInkThemePreset = 'default' | 'monochrome' | 'catppuccin' | 'gruvbox';
13
+ type LogInkThemePreset = 'default' | 'monochrome' | 'catppuccin' | 'gruvbox' | 'dracula' | 'nord' | 'solarized-dark' | 'tokyo-night' | 'one-dark' | 'rose-pine' | 'kanagawa' | 'everforest' | 'monokai' | 'synthwave' | 'ayu-dark' | 'palenight' | 'github-dark' | 'horizon' | 'nightfox' | 'carbonfox' | 'tokyonight-storm' | 'catppuccin-latte' | 'solarized-light' | 'github-light' | 'iceberg' | 'material-ocean' | 'moonlight' | 'poimandres' | 'vitesse-dark' | 'vesper' | 'flexoki' | 'mellow' | 'night-owl' | 'cobalt2' | 'oceanic-next' | 'catppuccin-macchiato' | 'gruvbox-light' | 'tokyo-night-day' | 'one-light' | 'ayu-light' | 'rose-pine-dawn' | 'everforest-light' | 'vitesse-light' | 'dayfox' | 'night-owl-light' | 'flexoki-light' | 'material-lighter' | 'papercolor-light' | 'modus-operandi' | 'quiet-light';
14
14
  type LogInkThemeColors = {
15
15
  accent?: string;
16
16
  border?: string;
@@ -22,6 +22,13 @@ type LogInkThemeColors = {
22
22
  info?: string;
23
23
  muted?: string;
24
24
  selection?: string;
25
+ /**
26
+ * Foreground for text sitting on the `selection` background. Derived
27
+ * automatically from `selection` (black on light, white on dark) so the
28
+ * selected row stays readable regardless of the user's terminal default
29
+ * foreground — but can be overridden per theme via `options.colors`.
30
+ */
31
+ selectionForeground?: string;
25
32
  success?: string;
26
33
  warning?: string;
27
34
  };
@@ -350,6 +357,36 @@ type BaseConfig = {
350
357
  */
351
358
  dateBucketing?: boolean;
352
359
  };
360
+ /**
361
+ * Multi-repo workspace surface settings (`coco workspace`).
362
+ */
363
+ workspace?: {
364
+ /**
365
+ * Directories to scan for git repositories. Each entry may use a
366
+ * `~` prefix; resolved against the user's home directory. Defaults
367
+ * to `['~/code']` when omitted.
368
+ *
369
+ * @default ['~/code']
370
+ */
371
+ roots?: string[];
372
+ /**
373
+ * Repositories outside the configured roots that should still
374
+ * appear in the workspace view. Useful for one-off projects kept
375
+ * somewhere other than the main `code` tree. Entries may use a
376
+ * `~` prefix.
377
+ *
378
+ * @default []
379
+ */
380
+ knownRepos?: string[];
381
+ /**
382
+ * Maximum depth to recurse into each configured root when looking
383
+ * for `.git/` directories. Stops descending as soon as a directory
384
+ * is identified as a repo.
385
+ *
386
+ * @default 3
387
+ */
388
+ maxDepth?: number;
389
+ };
353
390
  };
354
391
  type ConfigWithServiceObject = BaseConfig & Partial<BaseCommandOptions> & {
355
392
  service: LLMService;
@@ -391,7 +428,7 @@ interface CacheOptions extends BaseCommandOptions {
391
428
  }
392
429
  type CacheArgv = Arguments<CacheOptions>;
393
430
 
394
- declare const _default$9: {
431
+ declare const _default$a: {
395
432
  command: string;
396
433
  desc: string;
397
434
  builder: (yargs: yargs.Argv) => yargs.Argv<{
@@ -414,7 +451,7 @@ interface ChangelogOptions extends BaseCommandOptions {
414
451
  }
415
452
  type ChangelogArgv = Arguments<ChangelogOptions>;
416
453
 
417
- declare const _default$8: {
454
+ declare const _default$9: {
418
455
  command: string;
419
456
  desc: string;
420
457
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -444,7 +481,7 @@ interface CommitOptions extends BaseCommandOptions {
444
481
  }
445
482
  type CommitArgv = Arguments<CommitOptions>;
446
483
 
447
- declare const _default$7: {
484
+ declare const _default$8: {
448
485
  command: string;
449
486
  desc: string;
450
487
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -457,7 +494,7 @@ interface DoctorOptions extends BaseCommandOptions {
457
494
  }
458
495
  type DoctorArgv = Arguments<DoctorOptions>;
459
496
 
460
- declare const _default$6: {
497
+ declare const _default$7: {
461
498
  command: string;
462
499
  desc: string;
463
500
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -466,7 +503,7 @@ declare const _default$6: {
466
503
 
467
504
  type InstallationScope = 'global' | 'project';
468
505
 
469
- declare const _default$5: {
506
+ declare const _default$6: {
470
507
  command: string;
471
508
  desc: string;
472
509
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -520,7 +557,7 @@ interface IssuesOptions extends BaseCommandOptions {
520
557
  }
521
558
  type IssuesArgv = Arguments<IssuesOptions>;
522
559
 
523
- declare const _default$4: {
560
+ declare const _default$5: {
524
561
  command: string;
525
562
  desc: string;
526
563
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -545,7 +582,7 @@ interface LogOptions extends BaseCommandOptions {
545
582
  }
546
583
  type LogArgv = Arguments<LogOptions>;
547
584
 
548
- declare const _default$3: {
585
+ declare const _default$4: {
549
586
  command: string;
550
587
  desc: string;
551
588
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -580,7 +617,7 @@ interface PrsOptions extends BaseCommandOptions {
580
617
  }
581
618
  type PrsArgv = Arguments<PrsOptions>;
582
619
 
583
- declare const _default$2: {
620
+ declare const _default$3: {
584
621
  command: string;
585
622
  desc: string;
586
623
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -597,7 +634,7 @@ interface RecapOptions extends BaseCommandOptions {
597
634
  }
598
635
  type RecapArgv = Arguments<RecapOptions>;
599
636
 
600
- declare const _default$1: {
637
+ declare const _default$2: {
601
638
  command: string;
602
639
  desc: string;
603
640
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -616,7 +653,7 @@ interface UiOptions extends BaseCommandOptions {
616
653
  }
617
654
  type UiArgv = Arguments<UiOptions>;
618
655
 
619
- declare const _default: {
656
+ declare const _default$1: {
620
657
  command: string;
621
658
  desc: string;
622
659
  builder: (yargs: yargs.Argv) => yargs.Argv<yargs.Omit<{}, string> & yargs.InferredOptionTypes<Record<string, yargs.Options>>>;
@@ -624,6 +661,26 @@ declare const _default: {
624
661
  options: Record<string, yargs.Options>;
625
662
  };
626
663
 
664
+ interface WorkspaceOptions extends BaseCommandOptions {
665
+ /**
666
+ * Override `workspace.roots` from config. Repeatable.
667
+ */
668
+ root?: string | string[];
669
+ /** Recursion depth into each root. */
670
+ maxDepth?: number;
671
+ /** TUI theme preset. */
672
+ theme?: LogInkThemePreset;
673
+ }
674
+ type WorkspaceArgv = Arguments<WorkspaceOptions>;
675
+
676
+ declare const _default: {
677
+ command: string[];
678
+ desc: string;
679
+ builder: (yargs: yargs.Argv) => yargs.Argv;
680
+ handler: (argv: WorkspaceArgv) => Promise<void>;
681
+ options: Record<string, yargs.Options>;
682
+ };
683
+
627
684
  /**
628
685
  * Creates and configures an LLM instance based on the provider and configuration.
629
686
  *
@@ -812,5 +869,5 @@ declare namespace types_d {
812
869
  export type { types_d_BaseParserInput as BaseParserInput, types_d_BaseParserOptions as BaseParserOptions, types_d_CommandHandler as CommandHandler, types_d_CommitLogParserInput as CommitLogParserInput, types_d_ConfirmMessage as ConfirmMessage, types_d_ConfirmMessageCallback as ConfirmMessageCallback, types_d_DiffNode as DiffNode, types_d_DirectoryDiff as DirectoryDiff, types_d_FileChange as FileChange, types_d_FileChangeParserInput as FileChangeParserInput, types_d_FileChangeStatus as FileChangeStatus, types_d_FileDiff as FileDiff, types_d_GetChangesResult as GetChangesResult };
813
870
  }
814
871
 
815
- export { _default$9 as cache, _default$8 as changelog, _default$7 as commit, _default$6 as doctor, _default$5 as init, _default$4 as issues, _default$3 as log, _default$2 as prs, _default$1 as recap, types_d as types, _default as ui };
872
+ export { _default$a as cache, _default$9 as changelog, _default$8 as commit, _default$7 as doctor, _default$6 as init, _default$5 as issues, _default$4 as log, _default$3 as prs, _default$2 as recap, types_d as types, _default$1 as ui, _default as workspace };
816
873
  export type { Config$1 as Config };