@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-
|
|
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
|
|
16203
|
-
|
|
16204
|
-
|
|
16205
|
-
|
|
16206
|
-
|
|
16207
|
-
|
|
16208
|
-
|
|
16209
|
-
|
|
16210
|
-
|
|
16211
|
-
|
|
16212
|
-
const
|
|
16213
|
-
|
|
16214
|
-
|
|
16215
|
-
|
|
16216
|
-
|
|
16217
|
-
|
|
16218
|
-
|
|
16219
|
-
|
|
16220
|
-
|
|
16221
|
-
|
|
16222
|
-
|
|
16223
|
-
|
|
16224
|
-
|
|
16225
|
-
|
|
16226
|
-
|
|
16227
|
-
|
|
16228
|
-
|
|
16229
|
-
|
|
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
|
|
16262
|
-
|
|
16263
|
-
|
|
16264
|
-
|
|
16265
|
-
|
|
16266
|
-
|
|
16267
|
-
|
|
16268
|
-
|
|
16269
|
-
|
|
16270
|
-
|
|
16271
|
-
|
|
16272
|
-
|
|
16273
|
-
|
|
16274
|
-
|
|
16275
|
-
|
|
16276
|
-
|
|
16277
|
-
|
|
16278
|
-
|
|
16279
|
-
|
|
16280
|
-
|
|
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-
|
|
19331
|
-
return "0.0.0-next-
|
|
19335
|
+
if (isPackageVersion("0.0.0-next-20260705165838")) {
|
|
19336
|
+
return "0.0.0-next-20260705165838";
|
|
19332
19337
|
}
|
|
19333
|
-
if (isReleaseVersion("0.0.0-next-
|
|
19334
|
-
return "0.0.0-next-
|
|
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();
|