@krotovm/gitlab-ai-review 1.0.10 → 1.0.12

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
@@ -36,10 +36,16 @@ Run locally to review diffs and print the review to stdout.
36
36
 
37
37
  ```bash
38
38
  # review local uncommitted changes
39
- OPENAI_API_KEY=... npx -y @krotovm/gitlab-ai-review --worktree
39
+ npx -y @krotovm/gitlab-ai-review --worktree
40
40
 
41
41
  # review last commit and ignore docs/lock changes by extension
42
- OPENAI_API_KEY=... npx -y @krotovm/gitlab-ai-review --last-commit --ignore-ext=md,lock
42
+ npx -y @krotovm/gitlab-ai-review --last-commit --ignore-ext=md,lock
43
+
44
+ # review a prepared git diff from file
45
+ npx -y @krotovm/gitlab-ai-review --diff-file=./changes.diff
46
+
47
+ # use a custom OpenAI-compatible endpoint
48
+ OPENAI_BASE_URL="https://api.openai.com/v1" npx -y @krotovm/gitlab-ai-review --worktree
43
49
  ```
44
50
 
45
51
  ## Env variables
@@ -50,6 +56,9 @@ Set these in your project/group CI settings (or locally in your shell):
50
56
  - `OPENAI_BASE_URL` (optional, for OpenAI-compatible providers/proxies)
51
57
  - `AI_MODEL` (optional, default: `gpt-4o-mini`; example: `gpt-4o`)
52
58
  - `PROJECT_ACCESS_TOKEN` (optional but recommended for private projects; token with `api` scope)
59
+ - `GITLAB_TOKEN` (optional alias for `PROJECT_ACCESS_TOKEN`)
60
+
61
+ `OPENAI_BASE_URL` is passed through to the `openai` SDK client, so you can use any OpenAI-compatible gateway/provider endpoint.
53
62
 
54
63
  GitLab provides these automatically in Merge Request pipelines:
55
64
 
@@ -63,6 +72,7 @@ GitLab provides these automatically in Merge Request pipelines:
63
72
  - `--ci` - Run in GitLab MR pipeline mode and post a new MR note.
64
73
  - `--worktree` - Review local uncommitted changes (staged + unstaged).
65
74
  - `--last-commit` - Review the last commit (`HEAD`).
75
+ - `--diff-file=./changes.diff` - Review git-diff content from a file and print to stdout.
66
76
  - `--ignore-ext=md,lock` - Exclude file extensions from review (comma-separated only).
67
77
  - `--max-diffs=50` - Max number of diffs included in the prompt.
68
78
  - `--max-diff-chars=16000` - Max chars per diff chunk.
package/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /** @format */
3
3
  import OpenAI from "openai";
4
+ import { readFile } from "node:fs/promises";
4
5
  import { buildAnswer, buildPrompt, DEFAULT_PROMPT_LIMITS, } from "./prompt/index.js";
5
6
  import { fetchFileAtRef, fetchMergeRequestChanges, generateAICompletion, postMergeRequestNote, searchRepository, } from "./gitlab/services.js";
6
7
  function printHelp() {
@@ -11,6 +12,7 @@ function printHelp() {
11
12
  " gitlab-ai-review --ci",
12
13
  " gitlab-ai-review --worktree",
13
14
  " gitlab-ai-review --last-commit",
15
+ " gitlab-ai-review --diff-file=./changes.diff",
14
16
  " gitlab-ai-review --help",
15
17
  " gitlab-ai-review --debug",
16
18
  " gitlab-ai-review --ci --ignore-ext=md,lock",
@@ -19,6 +21,7 @@ function printHelp() {
19
21
  " --ci Run in GitLab MR pipeline: fetch MR changes and post a new MR note.",
20
22
  " --worktree Review local uncommitted changes (staged + unstaged) and print to stdout.",
21
23
  " --last-commit Review last commit (HEAD) and print to stdout.",
24
+ " --diff-file Review git-diff content from a file and print to stdout.",
22
25
  "",
23
26
  "Debug:",
24
27
  " --debug Print full error details (stack, API error fields).",
@@ -127,6 +130,26 @@ function parsePromptLimits(argv) {
127
130
  maxTotalPromptChars: parseNumberFlag(argv, "max-total-prompt-chars", DEFAULT_PROMPT_LIMITS.maxTotalPromptChars, 1),
128
131
  };
129
132
  }
133
+ function parseDiffFileFlag(argv) {
134
+ const args = argv.slice(2);
135
+ for (const current of args) {
136
+ if (current === "--diff-file") {
137
+ throw new Error("Use equals format: --diff-file=./path/to/file.diff");
138
+ }
139
+ if (!current.startsWith("--diff-file="))
140
+ continue;
141
+ const value = current.slice("--diff-file=".length).trim();
142
+ if (value === "") {
143
+ throw new Error("Missing value for --diff-file. Example: --diff-file=./changes.diff");
144
+ }
145
+ return value;
146
+ }
147
+ return undefined;
148
+ }
149
+ function hasModeFlag(argv) {
150
+ const args = new Set(argv.slice(2));
151
+ return (args.has("--ci") || args.has("--worktree") || args.has("--last-commit"));
152
+ }
130
153
  function hasIgnoredExtension(filePath, ignoredExtensions) {
131
154
  const lowerPath = filePath.toLowerCase();
132
155
  return ignoredExtensions.some((ext) => lowerPath.endsWith(ext));
@@ -161,6 +184,20 @@ function parseMode(argv) {
161
184
  function logStep(message) {
162
185
  process.stdout.write(`${message}\n`);
163
186
  }
187
+ async function getCliVersion() {
188
+ try {
189
+ const packageJsonUrl = new URL("../package.json", import.meta.url);
190
+ const packageJsonText = await readFile(packageJsonUrl, "utf8");
191
+ const parsed = JSON.parse(packageJsonText);
192
+ if (parsed.version != null && parsed.version.trim() !== "") {
193
+ return parsed.version.trim();
194
+ }
195
+ }
196
+ catch {
197
+ // Best-effort logging only.
198
+ }
199
+ return "unknown";
200
+ }
164
201
  async function runGit(args) {
165
202
  const { spawn } = await import("node:child_process");
166
203
  return await new Promise((resolve, reject) => {
@@ -205,6 +242,99 @@ async function localDiffLastCommit() {
205
242
  : ["show", "--format=", "HEAD"];
206
243
  return await runGit(args);
207
244
  }
245
+ async function diffFromFile(filePath) {
246
+ const text = await readFile(filePath, "utf8");
247
+ return text;
248
+ }
249
+ function editDistanceAtMostTwo(a, b) {
250
+ const la = a.length;
251
+ const lb = b.length;
252
+ if (Math.abs(la - lb) > 2)
253
+ return 3;
254
+ const dp = Array.from({ length: la + 1 }, (_, i) => Array.from({ length: lb + 1 }, (_, j) => (i === 0 ? j : j === 0 ? i : 0)));
255
+ for (let i = 1; i <= la; i += 1) {
256
+ let rowMin = Number.POSITIVE_INFINITY;
257
+ for (let j = 1; j <= lb; j += 1) {
258
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
259
+ dp[i][j] = Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1, dp[i - 1][j - 1] + cost);
260
+ rowMin = Math.min(rowMin, dp[i][j]);
261
+ }
262
+ if (rowMin > 2)
263
+ return 3;
264
+ }
265
+ return dp[la][lb];
266
+ }
267
+ function collectCallIdentifiersFromDiffLines(lines, prefixes) {
268
+ const out = new Set();
269
+ const callPattern = /\b([A-Za-z_$][A-Za-z0-9_$]*)\s*\(/g;
270
+ for (const line of lines) {
271
+ if (!prefixes.some((p) => line.startsWith(p)))
272
+ continue;
273
+ const code = line.slice(1);
274
+ let match;
275
+ while ((match = callPattern.exec(code)) != null) {
276
+ const ident = match[1];
277
+ // Ignore common JS control keywords.
278
+ if (ident === "if" ||
279
+ ident === "for" ||
280
+ ident === "while" ||
281
+ ident === "switch" ||
282
+ ident === "catch") {
283
+ continue;
284
+ }
285
+ out.add(ident);
286
+ }
287
+ }
288
+ return out;
289
+ }
290
+ function findDeterministicDiffFindings(diff) {
291
+ const lines = diff.split(/\r?\n/);
292
+ const addedCalls = collectCallIdentifiersFromDiffLines(lines, ["+"]);
293
+ const nearbyCalls = collectCallIdentifiersFromDiffLines(lines, [
294
+ " ",
295
+ "-",
296
+ "+",
297
+ ]);
298
+ const findings = [];
299
+ for (const added of addedCalls) {
300
+ if (added.length < 7)
301
+ continue;
302
+ let closest;
303
+ let closestDistance = 3;
304
+ for (const candidate of nearbyCalls) {
305
+ if (candidate === added)
306
+ continue;
307
+ const distance = editDistanceAtMostTwo(added, candidate);
308
+ if (distance < closestDistance) {
309
+ closestDistance = distance;
310
+ closest = candidate;
311
+ }
312
+ }
313
+ if (closest != null && closestDistance <= 2) {
314
+ findings.push({
315
+ title: "Possible symbol typo",
316
+ detail: `Call \`${added}(...)\` is very close to \`${closest}(...)\` and may be a misspelling causing runtime/reference errors.`,
317
+ });
318
+ }
319
+ }
320
+ // De-duplicate repeated matches.
321
+ return Array.from(new Map(findings.map((f) => [`${f.title}:${f.detail}`, f])).values()).slice(0, 3);
322
+ }
323
+ function injectDeterministicFindings(answer, findings) {
324
+ if (findings.length === 0)
325
+ return answer;
326
+ const noIssues = answer.includes("No confirmed bugs or high-value optimizations found.");
327
+ if (!noIssues)
328
+ return answer;
329
+ const bullets = findings
330
+ .map((f) => `- [high] ${f.title}: ${f.detail}`)
331
+ .join("\n");
332
+ const disclaimerIndex = answer.indexOf("\n---\n_This comment was generated by an artificial intelligence duck._");
333
+ const disclaimer = disclaimerIndex >= 0
334
+ ? answer.slice(disclaimerIndex)
335
+ : "\n---\n_This comment was generated by an artificial intelligence duck._";
336
+ return `${bullets}${disclaimer}`;
337
+ }
208
338
  async function reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits) {
209
339
  if (diff.trim() === "") {
210
340
  process.stdout.write("No diff found. Skipping review.\n");
@@ -217,7 +347,9 @@ async function reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits) {
217
347
  const openaiInstance = new OpenAI({ apiKey: openaiApiKey });
218
348
  const completion = await generateAICompletion(messageParams, openaiInstance, aiModel);
219
349
  const answer = buildAnswer(completion);
220
- process.stdout.write(`${answer}\n`);
350
+ const deterministicFindings = findDeterministicDiffFindings(diff);
351
+ const finalAnswer = injectDeterministicFindings(answer, deterministicFindings);
352
+ process.stdout.write(`${finalAnswer}\n`);
221
353
  }
222
354
  const TOOL_NAME_GET_FILE = "get_file_at_ref";
223
355
  const TOOL_NAME_GREP = "grep_repository";
@@ -371,7 +503,10 @@ async function reviewMergeRequestWithTools(params) {
371
503
  const parsed = JSON.parse(argsRaw);
372
504
  const query = parsed.query?.trim();
373
505
  if (query == null || query === "") {
374
- toolContent = JSON.stringify({ ok: false, error: "query is required." });
506
+ toolContent = JSON.stringify({
507
+ ok: false,
508
+ error: "query is required.",
509
+ });
375
510
  }
376
511
  else {
377
512
  const ref = parsed.ref?.trim() || refs.head;
@@ -383,7 +518,12 @@ async function reviewMergeRequestWithTools(params) {
383
518
  projectId,
384
519
  });
385
520
  if (results instanceof Error) {
386
- toolContent = JSON.stringify({ ok: false, query, ref, error: results.message });
521
+ toolContent = JSON.stringify({
522
+ ok: false,
523
+ query,
524
+ ref,
525
+ error: results.message,
526
+ });
387
527
  }
388
528
  else {
389
529
  const trimmed = results.map((r) => ({
@@ -391,7 +531,12 @@ async function reviewMergeRequestWithTools(params) {
391
531
  startline: r.startline,
392
532
  data: r.data.slice(0, 2000),
393
533
  }));
394
- toolContent = JSON.stringify({ ok: true, query, ref, matches: trimmed });
534
+ toolContent = JSON.stringify({
535
+ ok: true,
536
+ query,
537
+ ref,
538
+ matches: trimmed,
539
+ });
395
540
  }
396
541
  }
397
542
  }
@@ -419,10 +564,25 @@ async function reviewMergeRequestWithTools(params) {
419
564
  throw new Error(`Exceeded max tool rounds (${MAX_TOOL_ROUNDS}) while generating review`);
420
565
  }
421
566
  async function main() {
422
- const mode = parseMode(process.argv);
567
+ const cliVersion = await getCliVersion();
568
+ logStep(`gitlab-ai-review v${cliVersion}`);
569
+ const diffFilePath = parseDiffFileFlag(process.argv);
570
+ if (diffFilePath != null && hasModeFlag(process.argv)) {
571
+ throw new Error("Do not combine --diff-file with --ci/--worktree/--last-commit");
572
+ }
573
+ const mode = diffFilePath != null ? "worktree" : parseMode(process.argv);
423
574
  const ignoredExtensions = parseIgnoreExtensions(process.argv);
424
575
  const promptLimits = parsePromptLimits(process.argv);
425
576
  const aiModel = envOrDefault("AI_MODEL", "gpt-4o-mini");
577
+ if (diffFilePath != null) {
578
+ logStep(`Reading diff file: ${diffFilePath}`);
579
+ const openaiEnvs = requireEnvs(["OPENAI_API_KEY"]);
580
+ const openaiApiKey = openaiEnvs["OPENAI_API_KEY"];
581
+ const diff = await diffFromFile(diffFilePath);
582
+ logStep(`Requesting AI completion with model: ${aiModel}`);
583
+ await reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits);
584
+ return;
585
+ }
426
586
  if (mode === "worktree") {
427
587
  logStep("Collecting local changes");
428
588
  const openaiEnvs = requireEnvs(["OPENAI_API_KEY"]);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -10,29 +10,75 @@ function truncateWithMarker(value, maxChars, markerLabel) {
10
10
  const omitted = value.length - maxChars;
11
11
  return `${value.slice(0, maxChars)}\n\n[... ${markerLabel} truncated, omitted ${omitted} chars ...]`;
12
12
  }
13
- const QUESTIONS = `\n\nQuestions:\n
14
- 1. Can you find any bugs or logic errors that are directly supported by the provided diff and tool outputs? For each issue, cite exact evidence.\n
15
- 2. Are there optimizations or simplifications that are clearly justified by the current code? Skip micro-optimizations without measurable or maintainability benefit.\n\n`;
13
+ const QUESTIONS = `\n\nTask:\n
14
+ Produce a single combined list of up to 3 bullets in the required format.\n
15
+ Prioritize: (1) correctness bugs, (2) security issues, (3) clear performance regressions.\n
16
+ If there are no confirmed findings, output exactly: "No confirmed bugs or high-value optimizations found."\n\n`;
16
17
  const MESSAGES = [
17
18
  {
18
19
  role: "system",
19
20
  content: [
20
21
  "You are a senior developer reviewing code changes for bugs and optimization opportunities.",
21
- "Keep the review short enough that a busy developer will actually read it.",
22
+ "Keep the review very short so a busy developer can read it in under 30 seconds.",
22
23
  "Rules: no praise, no summaries of what was done, no style remarks.",
23
24
  "",
25
+ "Priority:",
26
+ "- (1) correctness/logical bugs",
27
+ "- (2) security vulnerabilities",
28
+ "- (3) clear performance regressions",
29
+ "- Ignore anything else.",
30
+ "",
31
+ "Scope policy:",
32
+ "- Review only issues introduced by this diff.",
33
+ "- Focus on added/changed lines; avoid commenting on untouched code unless required for a proven bug path.",
34
+ "- Prefer no finding over a weakly supported finding.",
35
+ "- Err on the side of silence: if not clearly supported, do not mention it.",
36
+ "",
24
37
  "Accuracy policy (strict):",
25
38
  "- Report only findings that are directly supported by diff lines and/or tool outputs.",
26
39
  "- Do not invent behavior, fields, or code paths that are not visible in evidence.",
27
- '- If confidence is below high, do not present as a bug; either skip it or mark it as "Hypothesis" with what evidence is missing.',
40
+ '- If confidence is below medium, skip it. Use "high" for clear deterministic issues (for example, symbol typos visible in the diff).',
28
41
  "- Do not suggest removals/cleanups for symbols that are not present in the current code context.",
29
42
  "- Avoid generic micro-optimizations unless there is a concrete benefit in this specific change.",
30
43
  "",
31
- "Evidence and formatting:",
32
- "- Each confirmed finding must include: one-line title, confidence (high/medium), and 2-3 sentences with concrete evidence.",
33
- "- Reference exact diff snippet(s) or tool output snippet(s) in each finding.",
44
+ "Required checks before concluding 'no issues':",
45
+ "- Compare added function/method calls against added/removed imports/exports in the same file for spelling mismatches.",
46
+ "- Flag obvious identifier typos that would cause runtime/reference errors.",
47
+ "- If a changed line calls a symbol that differs by 1-2 characters from nearby known symbols, treat it as a likely bug.",
48
+ "",
49
+ "Truncation policy:",
50
+ "- If truncation markers are present, explicitly state that context is incomplete when relevant.",
51
+ "- Do not assign [high] unless the issue is self-contained in visible lines.",
52
+ "- Do not speculate about hidden code paths when context is truncated.",
53
+ "",
54
+ "Check only for:",
55
+ "- Obvious logic errors (wrong condition, wrong variable, missing await, off-by-one).",
56
+ "- Direct runtime/reference errors visible in code (undefined symbol, wrong function name).",
57
+ "- Clear regressions in loops/queries/allocations introduced by this diff.",
58
+ "",
59
+ "Do NOT comment on:",
60
+ "- naming",
61
+ "- formatting",
62
+ "- minor refactors without behavior change",
63
+ "",
64
+ "Output format (strict):",
65
+ "- Return at most 3 findings total.",
66
+ "- Each finding must be one bullet in the form: `- [high|medium] <short title> [file: <path>, line ~<N>]: <one sentence explanation>`.",
67
+ "- One sentence only per finding (max ~25 words).",
68
+ "- Include only the most important evidence inline in that sentence (no extra sections).",
69
+ "- Do not include code blocks.",
34
70
  '- If no confirmed issues exist, reply with exactly: "No confirmed bugs or high-value optimizations found."',
35
71
  "- Format as GitLab-flavoured markdown.",
72
+ "",
73
+ "Few-shot examples:",
74
+ "Example A (has bug):",
75
+ "Diff snippet: `+ smsAvailable: isSmsAvalable(repeatCount, source, methodList)` and nearby symbol `isSmsAvailable`.",
76
+ "Valid answer:",
77
+ "- [high] Function name typo [file: wss/api_routes/api_phone_check/api_phone_check.js, line ~35]: `isSmsAvalable` likely misspells `isSmsAvailable`, causing runtime/reference failure when this branch executes.",
78
+ "",
79
+ "Example B (no confirmed issues):",
80
+ "Diff snippet: formatting-only changes and equivalent variable renames without behavior changes.",
81
+ 'Valid answer: "No confirmed bugs or high-value optimizations found."',
36
82
  ].join("\n"),
37
83
  },
38
84
  ];
@@ -50,7 +96,8 @@ export const buildPrompt = ({ changes, limits, }) => {
50
96
  Review the following code changes (git diff format) for bugs and optimization opportunities only.
51
97
  No full pre-change file context is embedded; use tool calls to request additional context when needed.
52
98
  If you see truncation markers, note potential blind spots.
53
- Do not present assumptions as facts. Prefer no finding over a weakly supported finding.
99
+ Do not present assumptions as facts.
100
+ Follow the previously given rules strictly: at most 3 findings, bullets only, no headings, only clearly evidenced issues from this diff.
54
101
  `;
55
102
  const changesSection = `
56
103
  Changes:
@@ -80,6 +127,9 @@ export const buildAnswer = (completion) => {
80
127
  return `${ERROR_ANSWER}\n\n${DISCLAIMER}`;
81
128
  }
82
129
  const content = completion.choices[0].message.content ?? "";
130
+ if (content.trim() === "") {
131
+ return `${ERROR_ANSWER}\n\nError: Model returned an empty response body. Try another model (for example, gpt-4o-mini) or a different provider endpoint.\n\n---\n_${DISCLAIMER}_`;
132
+ }
83
133
  const safe = sanitizeGitLabMarkdown(content);
84
134
  return `${safe}\n\n---\n_${DISCLAIMER}_`;
85
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@krotovm/gitlab-ai-review",
4
- "version": "1.0.10",
4
+ "version": "1.0.12",
5
5
  "description": "CLI tool to generate AI code reviews for GitLab merge requests and local diffs.",
6
6
  "main": "dist/cli.js",
7
7
  "bin": {