git-coco 0.48.0 → 0.50.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
@@ -15,10 +15,11 @@ An AI-powered git assistant that generates meaningful commit messages, creates c
15
15
  **✨ Key Features:**
16
16
 
17
17
  - 🤖 **AI-Powered Commit Messages** - Generate contextual commits from your staged changes
18
- - 📋 **Conventional Commits** - Full support with automatic validation and formatting
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** - Twelve top-level views (history, status, diff, compose, branches, tags, stash, worktrees, pull-request, conflicts, reflog, bisect) reachable via `g`-prefixed chords, with an interactive command palette (`:`), global search (`/`), and cross-view flows like compare-two-refs and the bisect decision keys
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`
22
+ - 🎯 **`--repo <dir>` global flag** - Drive any coco command against any repository without `cd`-ing first
22
23
  - 📦 **Package Manager Friendly** - Works with npm, yarn, and pnpm
23
24
  - 👥 **Team Ready** - Shared configurations and enterprise deployment
24
25
 
package/dist/index.d.ts CHANGED
@@ -127,6 +127,38 @@ type BaseLLMService = {
127
127
  * @default false
128
128
  */
129
129
  markdown?: boolean;
130
+ /**
131
+ * Language-aware structural fast path (#883). Replace the LLM
132
+ * summary with a symbol-level extract ("added parseRequest();
133
+ * removed legacyParse()") for source files in the listed
134
+ * languages. Off by default; quality is harder to validate than
135
+ * the markdown fast path so we don't enable it without opt-in.
136
+ *
137
+ * Diffs without top-level structural signals (paragraph-only
138
+ * body edits, formatting changes) still go to the LLM regardless
139
+ * of this flag.
140
+ *
141
+ * Currently supports:
142
+ * - 'ts' : `.ts` / `.tsx` / `.mts` / `.cts`
143
+ * - 'js' : `.js` / `.jsx` / `.mjs` / `.cjs`
144
+ * - 'py' : `.py` / `.pyi`
145
+ * - 'rs' : `.rs`
146
+ * - 'go' : `.go`
147
+ */
148
+ languageAware?: {
149
+ /**
150
+ * Master switch. When false (default) the languageAware path
151
+ * is skipped entirely regardless of `languages`.
152
+ *
153
+ * @default false
154
+ */
155
+ enabled?: boolean;
156
+ /**
157
+ * Languages to opt in. Omit / empty to enable all supported
158
+ * languages.
159
+ */
160
+ languages?: ('ts' | 'js' | 'py' | 'rs' | 'go')[];
161
+ };
130
162
  };
131
163
  };
132
164
  type Authentication = {
@@ -284,11 +316,33 @@ interface BaseArgvOptions {
284
316
  verbose: boolean;
285
317
  version: boolean;
286
318
  help: boolean;
319
+ /**
320
+ * Repository directory to operate against. When set, the command
321
+ * chdir's to this path before loading config / opening a git
322
+ * instance, so every downstream read (config lookup, simple-git
323
+ * baseDir, commitlint discovery, etc.) sees the same root.
324
+ *
325
+ * `--cwd` is an alias.
326
+ *
327
+ * Inherited by every coco subcommand so scripts / editor wrappers
328
+ * / scenario tests can target arbitrary repos without `cd`-ing
329
+ * first. Defaults to `process.cwd()` when omitted (unchanged
330
+ * behavior for users who launch via the regular `cd && coco ...`
331
+ * path).
332
+ */
333
+ repo?: string;
287
334
  }
288
335
  interface BaseCommandOptions extends BaseArgvOptions {
289
336
  }
290
337
 
291
338
  interface CacheOptions extends BaseCommandOptions {
339
+ /**
340
+ * Positional list of language identifiers / aliases for the
341
+ * `prefetch` subcommand. Empty → interactive checkbox picker.
342
+ * Recognized values mirror the `COCO_PREFETCH` env-var grammar:
343
+ * `py`, `python`, `rs`, `rust`, `go`, `golang`, `all`.
344
+ */
345
+ languages?: string[];
292
346
  }
293
347
  type CacheArgv = Arguments<CacheOptions>;
294
348
 
@@ -296,7 +350,9 @@ declare const _default$7: {
296
350
  command: string;
297
351
  desc: string;
298
352
  builder: (yargs: yargs.Argv) => yargs.Argv<{
299
- subcommand: "clear" | "info" | undefined;
353
+ subcommand: "clear" | "info" | "parsers" | "prefetch" | "clear-parsers" | undefined;
354
+ } & {
355
+ languages: string[] | undefined;
300
356
  }>;
301
357
  handler: (argv: CacheArgv) => Promise<void>;
302
358
  };
@@ -370,6 +426,7 @@ declare const _default$3: {
370
426
  verbose: boolean;
371
427
  version: boolean;
372
428
  help: boolean;
429
+ repo?: string | undefined;
373
430
  _: (string | number)[];
374
431
  $0: string;
375
432
  } | Promise<{
@@ -380,6 +437,7 @@ declare const _default$3: {
380
437
  verbose: boolean;
381
438
  version: boolean;
382
439
  help: boolean;
440
+ repo?: string | undefined;
383
441
  _: (string | number)[];
384
442
  $0: string;
385
443
  }>) => Promise<void>;
@@ -575,6 +633,22 @@ interface BaseParserOptions {
575
633
  * @default false
576
634
  */
577
635
  markdown?: boolean;
636
+ /**
637
+ * Language-aware structural fast path (#883). Replaces the LLM
638
+ * summary with a symbol-level extract ("added parseRequest();
639
+ * removed legacyParse()") for source files in the listed
640
+ * languages. Off by default — lossy by design, and quality is
641
+ * harder to validate than the markdown fast path.
642
+ */
643
+ languageAware?: {
644
+ enabled?: boolean;
645
+ /**
646
+ * Languages to opt in. Omit / empty to enable all currently
647
+ * supported languages. Today: 'ts' (covers .ts/.tsx/.mts/.cts),
648
+ * 'js' (covers .js/.jsx/.mjs/.cjs).
649
+ */
650
+ languages?: ('ts' | 'js' | 'py' | 'rs' | 'go')[];
651
+ };
578
652
  };
579
653
  metadata?: Partial<LlmCallMetadata>;
580
654
  }