@pourkit/cli 0.0.0-next-20260622235247 → 0.0.0-next-20260623021955

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/dist/cli.js CHANGED
@@ -9918,6 +9918,7 @@ var BASELINE_MANAGED_SKILLS = [
9918
9918
  "ship-current-changes",
9919
9919
  "tdd",
9920
9920
  "to-issues",
9921
+ "to-oneshot",
9921
9922
  "to-prd",
9922
9923
  "triage",
9923
9924
  "write-a-skill",
@@ -10147,21 +10148,13 @@ var BASELINE_SKILL_NAMES = [
10147
10148
  "ship-current-changes",
10148
10149
  "tdd",
10149
10150
  "to-issues",
10151
+ "to-oneshot",
10150
10152
  "to-prd",
10151
10153
  "triage",
10152
10154
  "write-a-skill",
10153
10155
  "zoom-out"
10154
10156
  ];
10155
10157
  var NO_TOKEN_LABEL_PROVISIONING_WARNING = "Skipped GitHub label provisioning because no GitHub token was provided.";
10156
- var ALLOWED_VERIFICATION_SCRIPTS = [
10157
- "typecheck",
10158
- "lint",
10159
- "test",
10160
- "test:agent",
10161
- "build",
10162
- "check",
10163
- "prettier:check"
10164
- ];
10165
10158
  var DEFAULT_RUNNER_LABELS = {
10166
10159
  readyForAgent: "ready-for-agent",
10167
10160
  agentInProgress: "agent-in-progress",
@@ -10262,64 +10255,63 @@ function resolveCanonicalLabels(runnerLabels) {
10262
10255
  return { ...meta, name };
10263
10256
  });
10264
10257
  }
10265
- function inferVerificationCommands(scripts, pm) {
10266
- const pmPrefix = pm === "npm" ? "npm run" : pm === "pnpm" ? "pnpm run" : pm === "yarn" ? "yarn" : pm === "bun" ? "bun run" : "npm run";
10267
- const allowlist = ALLOWED_VERIFICATION_SCRIPTS;
10268
- const matched = allowlist.filter((s) => s in scripts);
10269
- const commands = [];
10270
- for (const script of matched) {
10271
- if (script === "test" && matched.includes("test:agent")) continue;
10272
- commands.push({ label: script, command: `${pmPrefix} ${script}` });
10273
- }
10274
- return commands;
10275
- }
10276
10258
  function generateConfigTemplate(options) {
10277
10259
  const {
10278
10260
  baseBranch,
10279
10261
  packageManager,
10280
- verificationCommands,
10281
10262
  hasPackageJson = true,
10282
10263
  labels: maybeLabels
10283
10264
  } = options;
10284
10265
  const labels = maybeLabels ?? DEFAULT_RUNNER_LABELS;
10285
- const setupCommand = `${packageManager} install`;
10266
+ const setupCommand = `HUSKY=0 ${packageManager} install`;
10267
+ const runCommand = packageManager === "yarn" ? "yarn" : `${packageManager} run`;
10268
+ const verificationCommands = [
10269
+ { command: `${runCommand} lint`, label: "lint" },
10270
+ { command: `${runCommand} test`, label: "tests" },
10271
+ { command: `${runCommand} build`, label: "build" }
10272
+ ];
10286
10273
  const target = {
10287
10274
  name: "default",
10288
10275
  baseBranch,
10289
10276
  branchTemplate: "pourkit/{{issue.number}}/{{issue.slug}}",
10290
- autoMerge: false,
10277
+ autoMerge: true,
10291
10278
  strategy: {
10292
10279
  type: "review-refactor-loop",
10293
10280
  implement: {
10294
10281
  builder: {
10295
10282
  agent: "pourkit-builder",
10296
10283
  model: "opencode-go/deepseek-v4-flash",
10284
+ variant: "medium",
10297
10285
  promptTemplate: ".pourkit/managed/prompts/builder.prompt.md"
10298
10286
  }
10299
10287
  },
10300
10288
  failureResolution: {
10301
10289
  agent: "pourkit-failure-resolution-agent",
10302
10290
  model: "opencode-go/mimo-v2.5",
10291
+ variant: "high",
10303
10292
  promptTemplate: ".pourkit/managed/prompts/failure-resolution.prompt.md",
10304
10293
  maxAttemptsPerFailure: 1
10305
10294
  },
10306
10295
  review: {
10307
10296
  reviewer: {
10308
10297
  agent: "pourkit-reviewer",
10309
- model: "opencode-go/deepseek-v4-pro",
10298
+ model: "opencode-go/mimo-v2.5",
10299
+ variant: "high",
10310
10300
  promptTemplate: ".pourkit/managed/prompts/reviewer.prompt.md",
10311
10301
  criteria: ["correctness", "scope", "tests", "quality"]
10312
10302
  },
10313
10303
  refactor: {
10314
10304
  agent: "pourkit-refactor",
10315
- model: "opencode-go/qwen3.6-plus",
10305
+ model: "opencode-go/deepseek-v4-flash",
10306
+ variant: "medium",
10316
10307
  promptTemplate: ".pourkit/managed/prompts/refactor.prompt.md"
10317
10308
  },
10318
- maxIterations: 3
10309
+ maxIterations: 20
10319
10310
  },
10320
10311
  issueFinalReview: {
10321
10312
  agent: "pourkit-reviewer",
10322
- model: "opencode-go/deepseek-v4-pro",
10313
+ model: "opencode-go/kimi-k2.7-code",
10314
+ variant: "max",
10323
10315
  promptTemplate: ".pourkit/managed/prompts/issue-final-review.prompt.md",
10324
10316
  maxAttempts: 3
10325
10317
  },
@@ -10338,11 +10330,9 @@ function generateConfigTemplate(options) {
10338
10330
  { command: setupCommand, label: "install" }
10339
10331
  ];
10340
10332
  }
10341
- if (verificationCommands.length > 0) {
10342
- target.strategy.verify = {
10343
- commands: verificationCommands
10344
- };
10345
- }
10333
+ target.strategy.verify = {
10334
+ commands: verificationCommands
10335
+ };
10346
10336
  const config = {
10347
10337
  $schema: "./schema/pourkit.schema.json",
10348
10338
  schemaVersion: 3,
@@ -10364,10 +10354,12 @@ function generateConfigTemplate(options) {
10364
10354
  agentInProgress: labels.agentInProgress,
10365
10355
  blocked: labels.blocked,
10366
10356
  prOpenAwaitingMerge: labels.prOpenAwaitingMerge,
10367
- readyForHuman: labels.readyForHuman
10357
+ readyForHuman: labels.readyForHuman,
10358
+ needsTriage: "needs-triage"
10368
10359
  },
10369
10360
  sandbox: {
10370
10361
  provider: "docker",
10362
+ forceRebuild: true,
10371
10363
  copyToWorktree: ["node_modules"],
10372
10364
  mounts: [
10373
10365
  {
@@ -10385,18 +10377,13 @@ function generateConfigTemplate(options) {
10385
10377
  HOME: "/home/agent",
10386
10378
  XDG_DATA_HOME: "/home/agent/.local/share",
10387
10379
  XDG_CONFIG_HOME: "/home/agent/.config",
10388
- XDG_STATE_HOME: "/home/agent/.local/state",
10389
- XDG_CACHE_HOME: "/home/agent/.cache"
10380
+ XDG_STATE_HOME: "/home/agent/.local/state"
10390
10381
  },
10391
- idleTimeoutSeconds: 300
10382
+ idleTimeoutSeconds: 800
10392
10383
  },
10393
10384
  checks: {
10394
10385
  requiredLabels: [],
10395
- allowedAuthors: [],
10396
- checksFoundTimeoutSeconds: 60,
10397
- checksCompletionTimeoutSeconds: 1800,
10398
- pollIntervalSeconds: 15,
10399
- issueListLimit: 50
10386
+ allowedAuthors: []
10400
10387
  }
10401
10388
  };
10402
10389
  return JSON.stringify(config, null, 2) + "\n";
@@ -11048,17 +11035,9 @@ async function planInit(options) {
11048
11035
  });
11049
11036
  }
11050
11037
  }
11051
- let packageScripts = {};
11052
11038
  let hasPackageJson = true;
11053
11039
  try {
11054
- const pkgContent = await readFile4(
11055
- path5.join(targetRoot, "package.json"),
11056
- "utf-8"
11057
- );
11058
- const pkg = JSON.parse(pkgContent);
11059
- if (pkg.scripts && typeof pkg.scripts === "object") {
11060
- packageScripts = pkg.scripts;
11061
- }
11040
+ await readFile4(path5.join(targetRoot, "package.json"), "utf-8");
11062
11041
  } catch {
11063
11042
  hasPackageJson = false;
11064
11043
  }
@@ -11285,14 +11264,9 @@ Do not edit this file.
11285
11264
  }
11286
11265
  const configJsonPath = path5.join(targetRoot, ".pourkit", "config.json");
11287
11266
  if (!existsSync16(configJsonPath)) {
11288
- const verifyCommands = inferVerificationCommands(
11289
- packageScripts,
11290
- pm || "npm"
11291
- );
11292
11267
  const configContent = generateConfigTemplate({
11293
11268
  packageManager: pm || "npm",
11294
11269
  baseBranch,
11295
- verificationCommands: verifyCommands,
11296
11270
  hasPackageJson,
11297
11271
  labels: options.labels,
11298
11272
  releaseWorkflow: options.releaseWorkflow,
@@ -15543,11 +15517,11 @@ function createCliProgram(version) {
15543
15517
  return program;
15544
15518
  }
15545
15519
  async function resolveCliVersion() {
15546
- if (isPackageVersion("0.0.0-next-20260622235247")) {
15547
- return "0.0.0-next-20260622235247";
15520
+ if (isPackageVersion("0.0.0-next-20260623021955")) {
15521
+ return "0.0.0-next-20260623021955";
15548
15522
  }
15549
- if (isReleaseVersion("0.0.0-next-20260622235247")) {
15550
- return "0.0.0-next-20260622235247";
15523
+ if (isReleaseVersion("0.0.0-next-20260623021955")) {
15524
+ return "0.0.0-next-20260623021955";
15551
15525
  }
15552
15526
  try {
15553
15527
  const root = repoRoot();