skillwiki 0.10.6 → 0.10.7

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.
@@ -5604,7 +5604,8 @@ function hasOriginMain(resolvedPath) {
5604
5604
  execSync2("git rev-parse --verify --quiet origin/main", {
5605
5605
  cwd: resolvedPath,
5606
5606
  encoding: "utf8",
5607
- stdio: ["pipe", "pipe", "pipe"]
5607
+ stdio: ["pipe", "pipe", "pipe"],
5608
+ timeout: 2e3
5608
5609
  });
5609
5610
  return true;
5610
5611
  } catch {
@@ -5622,7 +5623,8 @@ function checkVaultGitDirty(resolvedPath) {
5622
5623
  const lines = execSync2("git status --porcelain", {
5623
5624
  cwd: resolvedPath,
5624
5625
  encoding: "utf8",
5625
- stdio: ["pipe", "pipe", "pipe"]
5626
+ stdio: ["pipe", "pipe", "pipe"],
5627
+ timeout: 5e3
5626
5628
  }).trim().split("\n").filter(Boolean);
5627
5629
  if (lines.length > 0) {
5628
5630
  return check("warn", "vault_git_dirty", "Vault git dirty state", `${lines.length} dirty file(s) in vault worktree`);
@@ -5799,7 +5801,8 @@ function checkVaultGitComparison(resolvedPath, id, label, range, nonZeroSuffix,
5799
5801
  const count = parseInt(execSync2(`git rev-list --count ${range}`, {
5800
5802
  cwd: resolvedPath,
5801
5803
  encoding: "utf8",
5802
- stdio: ["pipe", "pipe", "pipe"]
5804
+ stdio: ["pipe", "pipe", "pipe"],
5805
+ timeout: 5e3
5803
5806
  }).trim(), 10);
5804
5807
  if (count > 0) {
5805
5808
  return check("warn", id, label, `${count} commit(s) ${nonZeroSuffix}`);
@@ -6745,6 +6748,9 @@ function findSkillNames(dir) {
6745
6748
  return results;
6746
6749
  }
6747
6750
  var METRIC_TYPES = ["entities", "concepts", "comparisons", "queries", "meta"];
6751
+ function doctorReadOnlyScanRoot(resolvedPath) {
6752
+ return resolveReadOnlyVaultRoot(resolvedPath).root;
6753
+ }
6748
6754
  async function vaultMetrics(resolvedPath) {
6749
6755
  const ids = [
6750
6756
  ["vault_metric_pages", "Vault pages by type"],
@@ -6755,7 +6761,8 @@ async function vaultMetrics(resolvedPath) {
6755
6761
  ];
6756
6762
  const noVault = () => ids.map(([id, label]) => check("info", id, label, "no vault configured"));
6757
6763
  if (!resolvedPath) return noVault();
6758
- const scan = await scanVault(resolvedPath);
6764
+ const scanRoot = doctorReadOnlyScanRoot(resolvedPath);
6765
+ const scan = await scanVault(scanRoot);
6759
6766
  if (!scan.ok) return noVault();
6760
6767
  const tk = scan.data.typedKnowledge;
6761
6768
  const perType = METRIC_TYPES.map((d) => `${d} ${tk.filter((p) => p.relPath.startsWith(d + "/")).length}`).join(", ");
@@ -6782,7 +6789,7 @@ async function vaultMetrics(resolvedPath) {
6782
6789
  }
6783
6790
  let logLines = 0;
6784
6791
  try {
6785
- logLines = readFileSync10(join24(resolvedPath, "log.md"), "utf8").split("\n").length;
6792
+ logLines = readFileSync10(join24(scanRoot, "log.md"), "utf8").split("\n").length;
6786
6793
  } catch {
6787
6794
  }
6788
6795
  return [
@@ -6844,8 +6851,9 @@ async function runDoctor(input) {
6844
6851
  checks.push(checkVaultS3Remote(input.home, input.execProbe, input.env ?? process.env));
6845
6852
  checks.push(checkVaultSnapshotterReachable(fleetLoad, input.checkSnapshotter, input.execProbe));
6846
6853
  checks.push(checkVaultPromotionLag(gitCheckPath));
6847
- checks.push(checkDotStoreClean(resolvedPath));
6848
- checks.push(checkVaultConflictMarkers(resolvedPath));
6854
+ const readOnlyScanRoot = resolvedPath ? doctorReadOnlyScanRoot(resolvedPath) : void 0;
6855
+ checks.push(checkDotStoreClean(readOnlyScanRoot));
6856
+ checks.push(checkVaultConflictMarkers(readOnlyScanRoot));
6849
6857
  checks.push(checkS3MountPerf(resolvedPath));
6850
6858
  checks.push(checkS3MountFreshness(resolvedPath));
6851
6859
  checks.push(checkRcloneFlagAudit(resolvedPath));
package/dist/cli.js CHANGED
@@ -69,7 +69,7 @@ import {
69
69
  satelliteLatestRunPath,
70
70
  taxonomyCommentForPage,
71
71
  upsertIndexEntry
72
- } from "./chunk-NJFCTMYZ.js";
72
+ } from "./chunk-45SMQAWC.js";
73
73
  import {
74
74
  normalizeDistTag,
75
75
  readCache,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSkillwikiMcpStdio
4
- } from "./chunk-NJFCTMYZ.js";
4
+ } from "./chunk-45SMQAWC.js";
5
5
  import "./chunk-7I2TPIV5.js";
6
6
  import "./chunk-U34B2XQJ.js";
7
7
  import "./chunk-R6BKJWVC.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "skillwiki": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 19 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
6
6
  "author": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 19 prompt-only skills backed by the deterministic skillwiki CLI.",
5
5
  "author": {
6
6
  "name": "karlorz",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillwiki/skills",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",