skillwiki 0.2.0-beta.31 → 0.2.0-beta.32
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 +6 -4
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1367,7 +1367,8 @@ function buildSlugMap(pages) {
|
|
|
1367
1367
|
async function runLinks(input) {
|
|
1368
1368
|
const scan = await scanVault(input.vault);
|
|
1369
1369
|
if (!scan.ok) return { exitCode: ExitCode.VAULT_PATH_INVALID, result: scan };
|
|
1370
|
-
const
|
|
1370
|
+
const allPages = [...scan.data.typedKnowledge, ...scan.data.raw, ...scan.data.workItems, ...scan.data.compound];
|
|
1371
|
+
const slugs = buildSlugMap(allPages);
|
|
1371
1372
|
const broken = [];
|
|
1372
1373
|
for (const p of scan.data.typedKnowledge) {
|
|
1373
1374
|
const text = await readPage(p);
|
|
@@ -1375,7 +1376,7 @@ async function runLinks(input) {
|
|
|
1375
1376
|
const body = split.ok ? split.data.body : text;
|
|
1376
1377
|
const lines = body.split("\n");
|
|
1377
1378
|
for (const slug of extractBodyWikilinks(body)) {
|
|
1378
|
-
const tail = slug.split("/").pop();
|
|
1379
|
+
const tail = slug.split("/").pop().replace(/\.md$/, "");
|
|
1379
1380
|
if (!slugs.has(tail.toLowerCase())) {
|
|
1380
1381
|
const line = lines.findIndex((l) => l.includes(`[[${slug}`));
|
|
1381
1382
|
broken.push({ page: p.relPath, slug, line: line >= 0 ? line + 1 : 0 });
|
|
@@ -1741,7 +1742,8 @@ async function runLint(input) {
|
|
|
1741
1742
|
const dedup = await runDedup({ vault: input.vault });
|
|
1742
1743
|
if (dedup.result.ok && dedup.result.data.duplicates.length > 0) buckets.raw_dedup = dedup.result.data.duplicates;
|
|
1743
1744
|
const scan = await scanVault(input.vault);
|
|
1744
|
-
const
|
|
1745
|
+
const allPages = scan.ok ? [...scan.data.typedKnowledge, ...scan.data.raw, ...scan.data.workItems, ...scan.data.compound] : [];
|
|
1746
|
+
const slugs = scan.ok ? buildSlugMap(allPages) : /* @__PURE__ */ new Map();
|
|
1745
1747
|
if (scan.ok) {
|
|
1746
1748
|
const legacyPages = [];
|
|
1747
1749
|
const orphanedPages = [];
|
|
@@ -1761,7 +1763,7 @@ async function runLint(input) {
|
|
|
1761
1763
|
const fmLinks = rawFm.match(/\[\[([^\[\]|]+)(?:\|[^\[\]]*)?\]\]/g) ?? [];
|
|
1762
1764
|
for (const link of fmLinks) {
|
|
1763
1765
|
const target = link.replace(/^\[\[/, "").replace(/(?:\|[^\[\]]*)?\]\]$/, "").trim();
|
|
1764
|
-
const tail = target.split("/").pop();
|
|
1766
|
+
const tail = target.split("/").pop().replace(/\.md$/, "");
|
|
1765
1767
|
if (!slugs.has(tail.toLowerCase())) {
|
|
1766
1768
|
fmWikilinkFlags.push(`${page.relPath}: [[${target}]] does not resolve`);
|
|
1767
1769
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.32",
|
|
4
4
|
"skills": "./",
|
|
5
5
|
"description": "Project-aware Karpathy-style knowledge base for Claude Code: 11 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI (8 subcommands, JSON-by-default).",
|
|
6
6
|
"author": {
|