@pourkit/cli 0.0.0-next-20260703225916 → 0.0.0-next-20260705165838

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.
@@ -3,7 +3,7 @@ name: codebase-pattern-finder
3
3
  description: codebase-pattern-finder is a useful subagent_type for finding similar implementations, usage examples, or existing patterns that can be modeled after. It will give you concrete code examples based on what you're looking for! It's sorta like codebase-locator, but it will not only tell you the location of files, it will also give you code details!
4
4
  mode: subagent
5
5
  hidden: true
6
- model: opencode-go/deepseek-v4-pro
6
+ model: opencode-go/deepseek-v4-flash
7
7
  permission:
8
8
  grep: allow
9
9
  glob: allow
package/dist/cli.js CHANGED
@@ -13355,6 +13355,7 @@ var BASELINE_MANAGED_SKILLS = [
13355
13355
  "code-review",
13356
13356
  "diagnose",
13357
13357
  "explain",
13358
+ "explore-codebase",
13358
13359
  "grill-with-docs",
13359
13360
  "handoff",
13360
13361
  "improve-codebase-architecture",
@@ -13625,25 +13626,7 @@ function resolveSourceAssetPath(sourceRoot, ...segments) {
13625
13626
  }
13626
13627
  return path5.join(sourceRoot, "pourkit", ...segments);
13627
13628
  }
13628
- var BASELINE_SKILL_NAMES = [
13629
- "code-review",
13630
- "diagnose",
13631
- "explain",
13632
- "grill-with-docs",
13633
- "handoff",
13634
- "improve-codebase-architecture",
13635
- "publish-prd",
13636
- "secret-commit-guard",
13637
- "security-review",
13638
- "ship-current-changes",
13639
- "tdd",
13640
- "to-issues",
13641
- "to-oneshot",
13642
- "to-prd",
13643
- "triage",
13644
- "write-a-skill",
13645
- "zoom-out"
13646
- ];
13629
+ var BASELINE_SKILL_NAMES = getBaselineManagedSkillNames();
13647
13630
  var NO_TOKEN_LABEL_PROVISIONING_WARNING = "Skipped GitHub label provisioning because no GitHub token was provided.";
13648
13631
  var DEFAULT_RUNNER_LABELS = {
13649
13632
  readyForAgent: "ready-for-agent",
@@ -13956,6 +13939,9 @@ function generateGitignoreBlock() {
13956
13939
  ];
13957
13940
  return lines.join("\n") + "\n";
13958
13941
  }
13942
+ async function ensureInitRuntimeDirectories(targetRoot) {
13943
+ await mkdir5(path5.join(targetRoot, ".pourkit", ".tmp"), { recursive: true });
13944
+ }
13959
13945
  async function walkDir(dir) {
13960
13946
  const files = [];
13961
13947
  const entries = await readdir2(dir, { withFileTypes: true });
@@ -15570,6 +15556,15 @@ async function applyInitFromSource(options) {
15570
15556
  labelConflictPolicy,
15571
15557
  githubClient
15572
15558
  });
15559
+ if (result.errors.length === 0) {
15560
+ try {
15561
+ await ensureInitRuntimeDirectories(targetRoot);
15562
+ } catch (e) {
15563
+ result.errors.push(
15564
+ `Failed to create .pourkit/.tmp: ${e instanceof Error ? e.message : String(e)}`
15565
+ );
15566
+ }
15567
+ }
15573
15568
  let manifestWritten = false;
15574
15569
  if (result.errors.length === 0) {
15575
15570
  const manifestSkipped = plan.operations.some(
@@ -16191,48 +16186,53 @@ async function validateWorkflowPack(cwd) {
16191
16186
  }
16192
16187
  for (const skillName of baselineSkills) {
16193
16188
  const skillDir = resolve4(cwd, `.pourkit/managed/skills/${skillName}`);
16189
+ const skillSourcePath = resolve4(skillDir, "SKILL.md");
16194
16190
  if (!existsSync18(skillDir)) {
16195
16191
  failures.push({
16196
16192
  severity: "failure",
16197
16193
  kind: "missing_managed_asset",
16198
- path: `.pourkit/managed/skills/${skillName}`,
16194
+ path: `.pourkit/managed/skills/${skillName}/SKILL.md`,
16199
16195
  message: `Missing managed skill: ${skillName}`
16200
16196
  });
16197
+ } else if (!existsSync18(skillSourcePath)) {
16198
+ failures.push({
16199
+ severity: "failure",
16200
+ kind: "missing_managed_asset",
16201
+ path: `.pourkit/managed/skills/${skillName}/SKILL.md`,
16202
+ message: `Missing managed skill source: ${skillName}/SKILL.md`
16203
+ });
16201
16204
  } else {
16202
- const skillSourcePath = resolve4(skillDir, "SKILL.md");
16203
- if (existsSync18(skillSourcePath)) {
16204
- const packagedSkillPath = resolvePackagedManagedPath(
16205
- "skills",
16206
- skillName,
16207
- "SKILL.md"
16208
- );
16209
- const packagedContent = await readPackagedTextFile(packagedSkillPath);
16210
- if (packagedContent !== null) {
16211
- try {
16212
- const localContent = await readFile6(skillSourcePath, "utf-8");
16213
- if (localContent !== packagedContent) {
16214
- const overridePath = resolve4(
16215
- cwd,
16216
- `.pourkit/overrides/skills/${skillName}/SKILL.md`
16217
- );
16218
- if (existsSync18(overridePath)) {
16219
- warnings.push({
16220
- severity: "warning",
16221
- kind: "overridden",
16222
- path: `.pourkit/overrides/skills/${skillName}/SKILL.md`,
16223
- message: `Managed skill ${skillName} is overridden by explicit override.`
16224
- });
16225
- } else {
16226
- failures.push({
16227
- severity: "failure",
16228
- kind: "managed_asset_drift",
16229
- path: `.pourkit/managed/skills/${skillName}/SKILL.md`,
16230
- message: `Managed skill ${skillName} content differs from packaged source. Run 'pourkit sync workflow-pack' to repair.`
16231
- });
16232
- }
16205
+ const packagedSkillPath = resolvePackagedManagedPath(
16206
+ "skills",
16207
+ skillName,
16208
+ "SKILL.md"
16209
+ );
16210
+ const packagedContent = await readPackagedTextFile(packagedSkillPath);
16211
+ if (packagedContent !== null) {
16212
+ try {
16213
+ const localContent = await readFile6(skillSourcePath, "utf-8");
16214
+ if (localContent !== packagedContent) {
16215
+ const overridePath = resolve4(
16216
+ cwd,
16217
+ `.pourkit/overrides/skills/${skillName}/SKILL.md`
16218
+ );
16219
+ if (existsSync18(overridePath)) {
16220
+ warnings.push({
16221
+ severity: "warning",
16222
+ kind: "overridden",
16223
+ path: `.pourkit/overrides/skills/${skillName}/SKILL.md`,
16224
+ message: `Managed skill ${skillName} is overridden by explicit override.`
16225
+ });
16226
+ } else {
16227
+ failures.push({
16228
+ severity: "failure",
16229
+ kind: "managed_asset_drift",
16230
+ path: `.pourkit/managed/skills/${skillName}/SKILL.md`,
16231
+ message: `Managed skill ${skillName} content differs from packaged source. Run 'pourkit sync workflow-pack' to repair.`
16232
+ });
16233
16233
  }
16234
- } catch {
16235
16234
  }
16235
+ } catch {
16236
16236
  }
16237
16237
  }
16238
16238
  }
@@ -16250,39 +16250,44 @@ async function validateWorkflowPack(cwd) {
16250
16250
  }
16251
16251
  for (const skillName of baselineSkills) {
16252
16252
  const projectionDir = resolve4(cwd, `.agents/skills/${skillName}`);
16253
+ const projectionPath = resolve4(projectionDir, "SKILL.md");
16253
16254
  if (!existsSync18(projectionDir)) {
16254
16255
  warnings.push({
16255
16256
  severity: "warning",
16256
16257
  kind: "projection_stale",
16257
- path: `.agents/skills/${skillName}`,
16258
+ path: `.agents/skills/${skillName}/SKILL.md`,
16258
16259
  message: `Missing skill projection for ${skillName}. Run 'pourkit sync workflow-pack' to regenerate.`
16259
16260
  });
16261
+ } else if (!existsSync18(projectionPath)) {
16262
+ warnings.push({
16263
+ severity: "warning",
16264
+ kind: "projection_stale",
16265
+ path: `.agents/skills/${skillName}/SKILL.md`,
16266
+ message: `Missing skill projection source for ${skillName}. Run 'pourkit sync workflow-pack' to regenerate.`
16267
+ });
16260
16268
  } else {
16261
- const projectionPath = resolve4(projectionDir, "SKILL.md");
16262
- if (existsSync18(projectionPath)) {
16263
- const managedSourcePath = resolvePackagedManagedPath(
16264
- "skills",
16265
- skillName,
16266
- "SKILL.md"
16267
- );
16268
- const packagedContent = await readPackagedTextFile(managedSourcePath);
16269
- if (packagedContent !== null) {
16270
- try {
16271
- const projectionContent = await readFile6(projectionPath, "utf-8");
16272
- const managedSourceRelativePath = `.pourkit/managed/skills/${skillName}/SKILL.md`;
16273
- if (projectionContent !== buildOpenCodeSkillProjectionContent(
16274
- managedSourceRelativePath,
16275
- packagedContent
16276
- )) {
16277
- warnings.push({
16278
- severity: "warning",
16279
- kind: "projection_stale",
16280
- path: `.agents/skills/${skillName}/SKILL.md`,
16281
- message: `Projection for ${skillName} differs from managed source. Run 'pourkit sync workflow-pack' to regenerate.`
16282
- });
16283
- }
16284
- } catch {
16269
+ const managedSourcePath = resolvePackagedManagedPath(
16270
+ "skills",
16271
+ skillName,
16272
+ "SKILL.md"
16273
+ );
16274
+ const packagedContent = await readPackagedTextFile(managedSourcePath);
16275
+ if (packagedContent !== null) {
16276
+ try {
16277
+ const projectionContent = await readFile6(projectionPath, "utf-8");
16278
+ const managedSourceRelativePath = `.pourkit/managed/skills/${skillName}/SKILL.md`;
16279
+ if (projectionContent !== buildOpenCodeSkillProjectionContent(
16280
+ managedSourceRelativePath,
16281
+ packagedContent
16282
+ )) {
16283
+ warnings.push({
16284
+ severity: "warning",
16285
+ kind: "projection_stale",
16286
+ path: `.agents/skills/${skillName}/SKILL.md`,
16287
+ message: `Projection for ${skillName} differs from managed source. Run 'pourkit sync workflow-pack' to regenerate.`
16288
+ });
16285
16289
  }
16290
+ } catch {
16286
16291
  }
16287
16292
  }
16288
16293
  }
@@ -19327,11 +19332,11 @@ function createCliProgram(version) {
19327
19332
  return program;
19328
19333
  }
19329
19334
  async function resolveCliVersion() {
19330
- if (isPackageVersion("0.0.0-next-20260703225916")) {
19331
- return "0.0.0-next-20260703225916";
19335
+ if (isPackageVersion("0.0.0-next-20260705165838")) {
19336
+ return "0.0.0-next-20260705165838";
19332
19337
  }
19333
- if (isReleaseVersion("0.0.0-next-20260703225916")) {
19334
- return "0.0.0-next-20260703225916";
19338
+ if (isReleaseVersion("0.0.0-next-20260705165838")) {
19339
+ return "0.0.0-next-20260705165838";
19335
19340
  }
19336
19341
  try {
19337
19342
  const root = repoRoot();