skillwiki 0.10.62 → 0.10.63

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.
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  renderRootIndex,
8
8
  writeRootIndexProjection
9
- } from "./chunk-NHRRYAXT.js";
9
+ } from "./chunk-MDLROHRP.js";
10
10
  import {
11
11
  CONFIG_KEYS,
12
12
  VAULT_HYGIENE_GENERATED_COMMIT_PATHS,
@@ -40,11 +40,11 @@ import {
40
40
  snapshotterAliasForLocalHost,
41
41
  toUndirectedWeighted,
42
42
  writeDotenv
43
- } from "./chunk-KZZUTQEA.js";
43
+ } from "./chunk-X45H2KXI.js";
44
44
  import {
45
45
  atomicWriteText,
46
46
  prepareTypedPage
47
- } from "./chunk-NG72ZD4C.js";
47
+ } from "./chunk-EFPIN7DQ.js";
48
48
  import {
49
49
  applySourceCompileClaim,
50
50
  applySourceCompilePublished,
@@ -57,11 +57,11 @@ import {
57
57
  planSourceCompileRelease,
58
58
  planSourceReview,
59
59
  runSourcesPending
60
- } from "./chunk-JMV7YBQN.js";
60
+ } from "./chunk-S663QZQR.js";
61
61
  import {
62
62
  eventPathFor,
63
63
  writeLogEvent
64
- } from "./chunk-6AMXNODT.js";
64
+ } from "./chunk-Q66UASXZ.js";
65
65
  import {
66
66
  CompoundSchema,
67
67
  ExitCode,
@@ -82,7 +82,7 @@ import {
82
82
  scanVault,
83
83
  splitFrontmatter,
84
84
  systemdPropertyFor
85
- } from "./chunk-MHGUYPGE.js";
85
+ } from "./chunk-SI6DDQIV.js";
86
86
 
87
87
  // src/commands/log-append.ts
88
88
  import { readFile, stat } from "fs/promises";
@@ -6096,7 +6096,7 @@ async function runQuery(input) {
6096
6096
  }
6097
6097
  let pendingSources;
6098
6098
  if (input.includePending) {
6099
- const { runSourcesPending: runSourcesPending2 } = await import("./sources-JABI35OW.js");
6099
+ const { runSourcesPending: runSourcesPending2 } = await import("./sources-LP76JPY5.js");
6100
6100
  const pending = await runSourcesPending2({
6101
6101
  vault: input.vault,
6102
6102
  match: input.text,
@@ -8,7 +8,7 @@ import {
8
8
  ok,
9
9
  scanSensitiveContent,
10
10
  scanVault
11
- } from "./chunk-MHGUYPGE.js";
11
+ } from "./chunk-SI6DDQIV.js";
12
12
 
13
13
  // src/utils/atomic-write.ts
14
14
  import { randomBytes } from "crypto";
@@ -3,11 +3,11 @@ import {
3
3
  ROOT_INDEX_SECTION_ORDER,
4
4
  atomicWriteText,
5
5
  buildRootIndexUniverse
6
- } from "./chunk-NG72ZD4C.js";
6
+ } from "./chunk-EFPIN7DQ.js";
7
7
  import {
8
8
  err,
9
9
  ok
10
- } from "./chunk-MHGUYPGE.js";
10
+ } from "./chunk-SI6DDQIV.js";
11
11
 
12
12
  // src/utils/index-projection.ts
13
13
  import { readFile } from "fs/promises";
@@ -6,7 +6,7 @@ import {
6
6
  readPage,
7
7
  scanSensitiveContent,
8
8
  splitFrontmatter
9
- } from "./chunk-MHGUYPGE.js";
9
+ } from "./chunk-SI6DDQIV.js";
10
10
 
11
11
  // src/utils/vault-path-safety.ts
12
12
  import { lstatSync, realpathSync } from "fs";
@@ -8,7 +8,7 @@ import {
8
8
  readLogEvents,
9
9
  resolveExistingRegularFileInsideVault,
10
10
  writeLogEvent
11
- } from "./chunk-6AMXNODT.js";
11
+ } from "./chunk-Q66UASXZ.js";
12
12
  import {
13
13
  ExitCode,
14
14
  RawSourceSchema,
@@ -19,7 +19,7 @@ import {
19
19
  scanSensitiveContent,
20
20
  scanVault,
21
21
  splitFrontmatter
22
- } from "./chunk-MHGUYPGE.js";
22
+ } from "./chunk-SI6DDQIV.js";
23
23
 
24
24
  // src/commands/sources.ts
25
25
  import { readFile as readFile4 } from "fs/promises";
@@ -649,6 +649,7 @@ function redactSensitiveContent(text, opts = {}) {
649
649
  import { existsSync, readFileSync } from "fs";
650
650
  import { readFile, readdir, stat } from "fs/promises";
651
651
  import { join, relative, sep } from "path";
652
+ import { execFileSync } from "child_process";
652
653
  var TYPED_DIRS = ["entities", "concepts", "comparisons", "queries", "meta"];
653
654
  var SKIP_DIRS = /* @__PURE__ */ new Set([".git", "node_modules"]);
654
655
  var DEFAULT_IO_CONCURRENCY = 1;
@@ -703,6 +704,27 @@ async function mapWithConcurrency(items, limit, mapper) {
703
704
  await Promise.all(workers);
704
705
  return out;
705
706
  }
707
+ function filterGitIgnoredRelativePaths(root, relPaths) {
708
+ if (relPaths.length === 0 || !existsSync(join(root, ".git"))) {
709
+ return /* @__PURE__ */ new Set();
710
+ }
711
+ try {
712
+ const input = relPaths.join("\0") + "\0";
713
+ const stdout = execFileSync("git", ["check-ignore", "-z", "--stdin"], {
714
+ cwd: root,
715
+ input,
716
+ encoding: "utf8",
717
+ stdio: ["pipe", "pipe", "pipe"]
718
+ });
719
+ const ignored = stdout.split("\0").filter(Boolean);
720
+ return new Set(ignored);
721
+ } catch (error) {
722
+ if (error && typeof error === "object" && error.status === 1) {
723
+ return /* @__PURE__ */ new Set();
724
+ }
725
+ return /* @__PURE__ */ new Set();
726
+ }
727
+ }
706
728
  async function scanVault(root) {
707
729
  try {
708
730
  await stat(join(root, "SCHEMA.md"));
@@ -710,7 +732,9 @@ async function scanVault(root) {
710
732
  return err("VAULT_PATH_INVALID", { root, reason: "SCHEMA.md missing" });
711
733
  }
712
734
  const all = await walk(root);
713
- const rels = all.map((p) => ({ absPath: p, relPath: relative(root, p).split(sep).join("/") }));
735
+ const rawRels = all.map((p) => ({ absPath: p, relPath: relative(root, p).split(sep).join("/") }));
736
+ const ignored = filterGitIgnoredRelativePaths(root, rawRels.map((p) => p.relPath));
737
+ const rels = ignored.size > 0 ? rawRels.filter((p) => !ignored.has(p.relPath)) : rawRels;
714
738
  return ok({
715
739
  root,
716
740
  allMarkdown: rels,
@@ -771,6 +795,7 @@ export {
771
795
  vaultIoConcurrency,
772
796
  resolveReadOnlyVaultRoot,
773
797
  mapWithConcurrency,
798
+ filterGitIgnoredRelativePaths,
774
799
  scanVault,
775
800
  readPage,
776
801
  readPageCached
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  atomicWriteText,
4
4
  buildRootIndexUniverse
5
- } from "./chunk-NG72ZD4C.js";
5
+ } from "./chunk-EFPIN7DQ.js";
6
6
  import {
7
7
  authorizeRawOperation,
8
8
  buildSourceReferenceIndex,
@@ -22,12 +22,13 @@ import {
22
22
  resolveExistingRegularFileInsideVault,
23
23
  stripFencedBlocks,
24
24
  writeLogEvent
25
- } from "./chunk-6AMXNODT.js";
25
+ } from "./chunk-Q66UASXZ.js";
26
26
  import {
27
27
  ExitCode,
28
28
  FleetManifestSchema,
29
29
  err,
30
30
  extractFrontmatter,
31
+ filterGitIgnoredRelativePaths,
31
32
  getErrorMessage,
32
33
  isVaultSyncKey,
33
34
  mapWithConcurrency,
@@ -40,7 +41,7 @@ import {
40
41
  scanVault,
41
42
  splitFrontmatter,
42
43
  vaultIoConcurrency
43
- } from "./chunk-MHGUYPGE.js";
44
+ } from "./chunk-SI6DDQIV.js";
44
45
 
45
46
  // src/utils/managed-write-preflight.ts
46
47
  import { existsSync as existsSync11 } from "fs";
@@ -874,20 +875,26 @@ function outputForOnlyBucket(input, match, fixed, unresolved, readVault = lintRe
874
875
  result: ok(input.summary ? summarizeLintOutput(output, input.examplesLimit) : output)
875
876
  };
876
877
  }
877
- async function walkMarkdownFiles(absDir, vaultRoot) {
878
+ async function walkMarkdownFilesInternal(absDir, vaultRoot) {
878
879
  const entries = await readdir(absDir, { withFileTypes: true });
879
880
  const pages = [];
880
881
  for (const entry of entries) {
881
882
  const absPath = join3(absDir, entry.name);
882
883
  if (entry.isDirectory()) {
883
884
  if (entry.name === ".git" || entry.name === "node_modules") continue;
884
- pages.push(...await walkMarkdownFiles(absPath, vaultRoot));
885
+ pages.push(...await walkMarkdownFilesInternal(absPath, vaultRoot));
885
886
  } else if (entry.isFile() && entry.name.endsWith(".md")) {
886
887
  pages.push({ absPath, relPath: relative(vaultRoot, absPath).split(sep).join("/") });
887
888
  }
888
889
  }
889
890
  return pages;
890
891
  }
892
+ async function walkMarkdownFiles(absDir, vaultRoot) {
893
+ const rawPages = await walkMarkdownFilesInternal(absDir, vaultRoot);
894
+ const ignored = filterGitIgnoredRelativePaths(vaultRoot, rawPages.map((p) => p.relPath));
895
+ if (ignored.size === 0) return rawPages;
896
+ return rawPages.filter((p) => !ignored.has(p.relPath));
897
+ }
891
898
 
892
899
  // src/lint/fingerprints.ts
893
900
  function lintIssueFingerprint(bucket, item) {
package/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ import {
50
50
  snapshotterHealthChecks,
51
51
  upsertIndexEntry,
52
52
  vectorIndexStatus
53
- } from "./chunk-EK7SNIU3.js";
53
+ } from "./chunk-4JZD2IAC.js";
54
54
  import {
55
55
  normalizeDistTag,
56
56
  readCache,
@@ -63,7 +63,7 @@ import {
63
63
  UNMANAGED_START,
64
64
  renderRootIndex,
65
65
  writeRootIndexProjection
66
- } from "./chunk-NHRRYAXT.js";
66
+ } from "./chunk-MDLROHRP.js";
67
67
  import {
68
68
  FLEET_REL_PATH,
69
69
  REDACTED_MALFORMED_REFERENCE,
@@ -151,12 +151,12 @@ import {
151
151
  supersedeStaleReviewRequiredJournals,
152
152
  taxonomyCommentForPage,
153
153
  writeDotenv
154
- } from "./chunk-KZZUTQEA.js";
154
+ } from "./chunk-X45H2KXI.js";
155
155
  import {
156
156
  assertTargetInsideVault,
157
157
  atomicWriteText,
158
158
  prepareTypedPage
159
- } from "./chunk-NG72ZD4C.js";
159
+ } from "./chunk-EFPIN7DQ.js";
160
160
  import {
161
161
  applySourceDisposition,
162
162
  decodeSourceActionApproval,
@@ -164,7 +164,7 @@ import {
164
164
  inventorySources,
165
165
  planSourceDisposition,
166
166
  runSourcesPending
167
- } from "./chunk-JMV7YBQN.js";
167
+ } from "./chunk-S663QZQR.js";
168
168
  import {
169
169
  authorizeRawOperation,
170
170
  buildSourceReferenceIndex,
@@ -181,7 +181,7 @@ import {
181
181
  resolveExistingRegularFileInsideVault,
182
182
  validateLogEvent,
183
183
  writeLogEvent
184
- } from "./chunk-6AMXNODT.js";
184
+ } from "./chunk-Q66UASXZ.js";
185
185
  import {
186
186
  ExitCode,
187
187
  MetaSchema,
@@ -202,7 +202,7 @@ import {
202
202
  scanVault,
203
203
  splitFrontmatter,
204
204
  vaultIoConcurrency
205
- } from "./chunk-MHGUYPGE.js";
205
+ } from "./chunk-SI6DDQIV.js";
206
206
 
207
207
  // src/cli.ts
208
208
  import { join as join42 } from "path";
@@ -3767,7 +3767,7 @@ ${fmRewritten}
3767
3767
  }
3768
3768
  let indexUpdated = false;
3769
3769
  if (!isRaw) {
3770
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-IICN2TUG.js");
3770
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-LUXJDMUG.js");
3771
3771
  const before = await readFile7(join19(input.vault, "index.md"), "utf8").catch(() => "");
3772
3772
  const fullTarget = relPath.replace(/\.md$/, "");
3773
3773
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -3890,7 +3890,7 @@ async function runRemove(input) {
3890
3890
  if (relPath.endsWith(".md") && !relPath.startsWith("raw/")) {
3891
3891
  const { readFile: readFile22 } = await import("fs/promises");
3892
3892
  const { join: pathJoin } = await import("path");
3893
- const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-IICN2TUG.js");
3893
+ const { renderRootIndex: renderRootIndex2, writeRootIndexProjection: writeRootIndexProjection2 } = await import("./index-projection-LUXJDMUG.js");
3894
3894
  const before = await readFile22(pathJoin(input.vault, "index.md"), "utf8").catch(() => "");
3895
3895
  const fullTarget = relPath.replace(/\.md$/, "");
3896
3896
  const bare = fullTarget.split("/").pop() ?? fullTarget;
@@ -10410,7 +10410,7 @@ async function emitManagedVaultWrite(vault, command, mutate, opts) {
10410
10410
  if (dirty) {
10411
10411
  return emit(dirty, void 0, { postCommit: false });
10412
10412
  }
10413
- const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-GJP4RN26.js");
10413
+ const { runManagedWriteTransaction: runManagedWriteTransaction2 } = await import("./managed-write-preflight-GQN7ZW7O.js");
10414
10414
  const run = await runManagedWriteTransaction2({
10415
10415
  vault,
10416
10416
  command,
@@ -4,9 +4,9 @@ import {
4
4
  UNMANAGED_START,
5
5
  renderRootIndex,
6
6
  writeRootIndexProjection
7
- } from "./chunk-NHRRYAXT.js";
8
- import "./chunk-NG72ZD4C.js";
9
- import "./chunk-MHGUYPGE.js";
7
+ } from "./chunk-MDLROHRP.js";
8
+ import "./chunk-EFPIN7DQ.js";
9
+ import "./chunk-SI6DDQIV.js";
10
10
  export {
11
11
  UNMANAGED_END,
12
12
  UNMANAGED_START,
@@ -6,10 +6,10 @@ import {
6
6
  runManagedWritePeerGate,
7
7
  runManagedWritePreflight,
8
8
  runManagedWriteTransaction
9
- } from "./chunk-KZZUTQEA.js";
10
- import "./chunk-NG72ZD4C.js";
11
- import "./chunk-6AMXNODT.js";
12
- import "./chunk-MHGUYPGE.js";
9
+ } from "./chunk-X45H2KXI.js";
10
+ import "./chunk-EFPIN7DQ.js";
11
+ import "./chunk-Q66UASXZ.js";
12
+ import "./chunk-SI6DDQIV.js";
13
13
  export {
14
14
  DEFAULT_MANAGED_WRITE_WAIT_MS,
15
15
  MANAGED_WRITE_POLL_INTERVAL_MS,
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSkillwikiMcpStdio
4
- } from "./chunk-EK7SNIU3.js";
4
+ } from "./chunk-4JZD2IAC.js";
5
5
  import "./chunk-7I2TPIV5.js";
6
- import "./chunk-NHRRYAXT.js";
7
- import "./chunk-KZZUTQEA.js";
8
- import "./chunk-NG72ZD4C.js";
9
- import "./chunk-JMV7YBQN.js";
10
- import "./chunk-6AMXNODT.js";
11
- import "./chunk-MHGUYPGE.js";
6
+ import "./chunk-MDLROHRP.js";
7
+ import "./chunk-X45H2KXI.js";
8
+ import "./chunk-EFPIN7DQ.js";
9
+ import "./chunk-S663QZQR.js";
10
+ import "./chunk-Q66UASXZ.js";
11
+ import "./chunk-SI6DDQIV.js";
12
12
 
13
13
  // src/mcp-entry.ts
14
14
  runSkillwikiMcpStdio().catch((error) => {
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runSourcesPending
4
+ } from "./chunk-S663QZQR.js";
5
+ import "./chunk-Q66UASXZ.js";
6
+ import "./chunk-SI6DDQIV.js";
7
+ export {
8
+ runSourcesPending
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillwiki",
3
- "version": "0.10.62",
3
+ "version": "0.10.63",
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.62",
3
+ "version": "0.10.63",
4
4
  "skills": "./",
5
5
  "description": "Project-aware Karpathy-style knowledge base for Claude Code: 20 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.62",
3
+ "version": "0.10.63",
4
4
  "description": "Project-aware Karpathy-style knowledge base for Codex with 20 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.62",
3
+ "version": "0.10.63",
4
4
  "private": true,
5
5
  "files": [
6
6
  "wiki-*",
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- runSourcesPending
4
- } from "./chunk-JMV7YBQN.js";
5
- import "./chunk-6AMXNODT.js";
6
- import "./chunk-MHGUYPGE.js";
7
- export {
8
- runSourcesPending
9
- };