{"_id":"obsidian-pkm","_rev":"33-15e97efd557189ac99fa8842249304b0","name":"obsidian-pkm","dist-tags":{"latest":"3.10.1"},"versions":{"2.0.0":{"name":"obsidian-pkm","version":"2.0.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.0.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"f1cbba6627da118bd039135c915fbcf259b97bab","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.0.0.tgz","fileCount":39,"integrity":"sha512-a7Ibdv2fKTf8XL8wuXnU0rcCETnHL2GnMgS400BZOL2tAFtCck13v52+oF/UH72aHGFXktHkUcrJ/8NAC1AfWQ==","signatures":[{"sig":"MEQCIDfiqLQwDXSJ4KwYh8ltqa0e+x5Kzv8Zan7Suh3uaRseAiAwXsP2HkT9eQz8USZzouersoQe/Nr/QfSGzEKB/imkKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231848},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"95a0d33eeb3773fb13773c9aee05a5cfc1cc48a0","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"adrianv101","email":"averhoosel@gmail.com"},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.7.0","description":"Claude Code plugin for Obsidian vault integration — 19 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"25.4.0","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.0.0_1774373962168_0.5487092879207967","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"obsidian-pkm","version":"2.1.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"d7465b3412a9d79aaaa3c1a35a7240dbee10fffa","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.0.tgz","fileCount":41,"integrity":"sha512-flwBJGPxFEENgWSH7p+U6cdXRRPAAt3WjpaiXj+ljUzH6DkInYXbbd8yLpzXGynUyE6xQ8ntU5ITYu6O7QtXcA==","signatures":[{"sig":"MEUCIA4lNGS9Ppk2eMGrmwNJO78R+g2Aj7mk2RtNk9YYsCWXAiEA0qhxnE10L4dA2wcx8MVVVTmQ5x1tKUvzQkadg30cbe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263219},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"68b09a0b8d24f62e4084893602ce689746b12125","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.0_1774522689213_0.37053697580928247","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"obsidian-pkm","version":"2.1.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"3403d6fadd6006c606f625016dc17012aa078067","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.1.tgz","fileCount":41,"integrity":"sha512-+tXozcaHUG6mUIOzSJriCs5anyAgCiUyNQKDahG9rWR69eT4/ZNShbE6NgvtutxWmPbOZr5kmBCEDGWvgGUzmQ==","signatures":[{"sig":"MEUCIQCbsd9RRbctYIey1A9OWiaV+K+05xxGzfXzEZFoZ5JBLgIgBfuRJHNGwLq4msKtKz/yLZk9tY1rn9HEzdGBgQyCBUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264048},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"7cd5ff87fe4bc9ba9c7d19bff75dda10035f329e","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.1_1774524032783_0.0013247421055375685","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"obsidian-pkm","version":"2.1.2","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.2","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"a9aeac7c569f9e0cfe224b976a0a72010d4d4d0c","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.2.tgz","fileCount":41,"integrity":"sha512-NKf4SXl5Dzi/P332j0iwt7lMWzbMqJu8qFgbeqvtNnuaTkMxZLQGIHo7sqUS9U9Ro8PcnMq+zAQcIUhVKZESQA==","signatures":[{"sig":"MEUCIHsfwItTAQTh4uR0aBPTlHmA2vNIMQtOXjXrUUyG0f2RAiEAno2M7w0xgaBhYhhtV3V08NaTmPq8Q45sEn/W0RHuGNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264528},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"33b7103523e19b23126a491322e19e7770f8f934","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.2_1774526307935_0.3503285094043209","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"obsidian-pkm","version":"2.1.3","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.3","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"1a9e94783cc48a5cae6d438f98f845c6c1da565c","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.3.tgz","fileCount":41,"integrity":"sha512-FaWoXqRk++gsD17Rzl262VycWU27kvl39F1WxlLArchmvQ46+TinCsHH/xTjusUsogaUND/vQhBsc7PbMzS4fQ==","signatures":[{"sig":"MEYCIQD1UbAMLFrCmCGCFcXtuPvesMk62eg2gjC0yCyjfNQlSAIhAPMLEOqXtCjn1MoEdad4oRJeBu5rtMXapwMqkI40dYCt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264903},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"00a6fe6c6abc0cb9d3b272c3f00f25d95cfc0d4f","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.3_1774526777349_0.1815624794106805","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"obsidian-pkm","version":"2.1.4","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.4","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"f5cd104448978eaa24c2d69605ce7b99ee79b53f","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.4.tgz","fileCount":41,"integrity":"sha512-97u8ODiCl/BvfkLAakpFPavEt3TG9RVPlBLEfFRj6fY1JUUjUZ+7dP+ivM3qgSAwXc63GbnlXsrqpSotdcctmw==","signatures":[{"sig":"MEQCIB8TjM0e3QAvjqzz5EH7wWG0rpEKBJt3KUQToKGIoZEZAiBPh/a3rmzybJYc4c/DBd4Il9UuLEwSLb/94oZg89HNiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265827},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"7070e1a5f90a5cf5c232badca3ad2e62ac8813c5","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.4_1774527746599_0.19276463479573036","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"obsidian-pkm","version":"2.1.5","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.5","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"1fb90b6bfcbbb38342840eb917021b3ce0bf058b","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.5.tgz","fileCount":41,"integrity":"sha512-BQcLgNSfmQ1mQzrvWpKUWKBSJZoD3izbwhN9Ip4/9Q6dkXi6Ng/SRitpYLFF41VPMQb4/uUwZA14Y6vV9vupow==","signatures":[{"sig":"MEYCIQCIdgOmaxguhuOEF4L42+KnB/CULKGhP3CHCizNmjgO5QIhAK765tgB2yhaxc1ls80I5gpldVNT/V69MLHq8gP5Vu+H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266541},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"37c374d4789c667ec0a67282a9fb664875fceeba","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.5_1774529003759_0.9178810799723536","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"obsidian-pkm","version":"2.1.6","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@2.1.6","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"fdb982855662fff5b93980a566a25f63954f412a","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-2.1.6.tgz","fileCount":41,"integrity":"sha512-FCbcjVMaJ8aeoDQ2jOwvf3bZ8PEciOOFemypgrFeLhGINd9Q0m5CMZ7uoBHYj3+S7rvb22m79ksYUwOPuNLe/A==","signatures":[{"sig":"MEUCIQD0Ql/CdculCCZmsZIWdoHtW2ha+0OBk5tm0nCPT3t4zAIgLx5h5kUNQwsPIfhRI4rk1bFnSncAARaWjrxvSiUC2Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267098},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"09c47b4951d33b5a62e84c5fbb075e09e4587977","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.0","description":"Claude Code plugin for Obsidian vault integration — 21 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_2.1.6_1774529573058_0.5994186770347643","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"obsidian-pkm","version":"3.0.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"037283819acfb4937a63e52fe165a44ebfdc44c8","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.0.tgz","fileCount":44,"integrity":"sha512-lnVH8CQLcJ69CRPnvQS8eu8gk8biFywsX8tAr0iq52yod8h4DoG40nM3a7LUyzhHRUsSMFhnPnmNuRlVMKuCvg==","signatures":[{"sig":"MEYCIQC5I4POUl4iLrT52HsZL2c5DkBqrWYRHAocMXz5R+YQXAIhAOKS9KaNgiR9IJrRw0QteOtgpq3LXY1I4JW7i+HFmRbL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268924},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"e61f598cae1491ac63f864835dcdbf4d95c1d7d0","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.0_1774709814456_0.10251943610277947","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"obsidian-pkm","version":"3.0.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"f28070f37de0d0bb1df0886ad797a3f06c5b1418","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.1.tgz","fileCount":44,"integrity":"sha512-i0zfVl7iyQUELnA0klRvbnXEm9KbwD8boB+j5kDE0wnlQ9x/zf+wNyF5b9o/+LE78r64BSBrRstqHxnuaxnTEw==","signatures":[{"sig":"MEYCIQCEdWAYJQKmRMVVaEg9x0viokPE5X+afrM+iP0BJq0eiQIhAJ8UZtgAn/ZMFqQsCxtOeqpeKMQyk728XyXo7vce2fZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269074},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"2f67a840e16d328c55f0fee57972b3080eb55480","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.1_1774710233628_0.1663545937289277","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"obsidian-pkm","version":"3.0.2","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.2","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"eece62159785bc509aa51ec0f2da45e3da750239","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.2.tgz","fileCount":44,"integrity":"sha512-G4egWR3ut5iYEbISFIKu4EZe+wFzm/DHllrqQsVgArP1JO5gUXfwDIes74knJrnm5b7Pq3iivcfrT7SkAJyOog==","signatures":[{"sig":"MEUCIQC5bNrvS4ZtbMLzihzOcDIOQwMVrh4asIgV+3SOc6kL3wIgZ3yG2Zji92/I5ZMHYURnT4NVZLhf81yBHVo30/VWC6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269168},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"e15d8f0bc3b5589dd0b9df61cfb6c65fa5096bbd","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.2_1774710468403_0.4455775124841035","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"obsidian-pkm","version":"3.0.3","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.3","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"9adb16fdd6b69dc75ebdf30c21ddeb171e449b7d","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.3.tgz","fileCount":44,"integrity":"sha512-oIOSn3FboYq99MX4h3BtFuNIj0fHCzgGYZB2oVOHEMTlWB4h594F4xUHppJvZa+s83wmv04m7ZiMYA0o3Sovbg==","signatures":[{"sig":"MEUCIQD3ZB5YUWF3BrGfx0NMPOuG1aBz2dmqVFS06sAcBI4jgwIgDM/ycBWAFZNGzyHyJg51uAByQRrZsk6/q+mtakS6k7Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269362},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"e2c0f029b4300fb1df821e141e46845faf9017e4","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.3_1774711600763_0.07838593148418616","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"obsidian-pkm","version":"3.0.4","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.4","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"a278955214fc79f226391e1ada1d034e6d251672","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.4.tgz","fileCount":44,"integrity":"sha512-v99zjwO0en0B1YRO92xa/ST/nxsgIfV0vf1NGrHzfYdHjUSlLujqw4Vt3v7PFhD67W5twSmkkBTrUXY9vQ5IMQ==","signatures":[{"sig":"MEYCIQD8qpsFm0AaEVeOox7WCRC+/xW1wnjnCoHSc/cZ412kmAIhANKFwYpDgxVNIOw0uAFvQs+PRbNqQIcl0YsW3GJsnFRt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269612},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"9cb205191415160158b09caccae6d32bd7968878","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.4_1774713465698_0.5566791875410106","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"obsidian-pkm","version":"3.0.5","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.5","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"4c69b51e62ce02104193725c1ac5fe8ba4b73fd4","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.5.tgz","fileCount":44,"integrity":"sha512-LU/5rdeRue4TxbZHEIqUQJzFpStGvaNknv+yRHuilGGyqgJrKbp6rvgy1SMW2fblibpLE1DmtU3zivr4zlVZhg==","signatures":[{"sig":"MEYCIQD/pC5+59oiIaolyCV526dW60UgYpB0dRarGCUA3qjC3QIhAOOwHepu633h/ZqOzU2XFDqYImNQQKGvXn8E5oDyQFv+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269621},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"bc4f6dd35e00cdbbe498b03d5a69cf7ef19b09f9","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.5_1774715951683_0.23456830203149637","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"obsidian-pkm","version":"3.0.6","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.0.6","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"5acfc332921347727badc466860e3bcd7ddcb0aa","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.0.6.tgz","fileCount":44,"integrity":"sha512-Gf4dB7VJztahGp01mc2S6coHoNW56k5r140uomDc5SK5JTVvl/EHgimT8V2BWMFSW88ATkIaH2zFbJ07JDTmnA==","signatures":[{"sig":"MEUCIGohoBFsLGcRN8wHte2wpW3WiY/smDQRbMCxEGn3r0h/AiEA1cIWhQVH/gm8ypU77CRTqNDae8w6hQETySoy7MEm8EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269774},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"675f58cc1fd7096fb05c832e91d0e3cc70193c3e","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.0.6_1774716598109_0.1267673250832646","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"obsidian-pkm","version":"3.1.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.1.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"a0c74271beac591c2fe2a8fa8c1244fab8b6ba32","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.1.0.tgz","fileCount":44,"integrity":"sha512-jPn6HKT90z0Es8vpspEZAmN2iyjYUQcvSNk+FnDR97cnkUP3nrswezbu7LCjKj1cH+72belLzm2lAGUhpjCcLA==","signatures":[{"sig":"MEYCIQD5RlGnCFcAWtV7JSSkOcyLkzgzczFIPY0ZM2+V67UhEQIhAKn/BkrqnxeYZOjEkY4REoGqLH6XYD594O5TNJH1l58Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256556},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"6f83192f130d14c941f116aab74aea756e44e311","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.1.0_1774719801295_0.20884014702603793","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"obsidian-pkm","version":"3.1.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.1.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"e94309d63bdbc451683ff7fe853757308ce5d2a4","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.1.1.tgz","fileCount":44,"integrity":"sha512-wxmy+QSmtLImKJ1wl++aZ/JYiXyIj1A8LcS3PQD4PRg4HuCqgE+3R9kdgu3HCeuSXU37v3CXed+mU8Q/loP8Rw==","signatures":[{"sig":"MEYCIQDhHYdjImecIPgAsS90mjRJVmxhiSFy7GHxuvgVGUbapAIhANGdtUmF0mzb8TEabeoGsa0PvgRNG+kOD1NNdbwWHwbv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257924},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"68eea0fa1fa88a3f979d9b2b09dcd6fc0dd85f77","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.1.1_1774725841220_0.6803519570025018","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"obsidian-pkm","version":"3.2.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.2.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"c22d3be14d82c129f3bdd622d07a1d5b2ed75eea","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.2.0.tgz","fileCount":44,"integrity":"sha512-P3vLNe2Alp43eaOjYuX8wi/W5173z+kNf7hNGpz83pDxv8cycOJHkyEizeiOW+Lk+gQ3IkFSdn8raRM7iS2zjQ==","signatures":[{"sig":"MEUCIQDbLjyblwM67XHtL4k5IdnR6lWACM1ey3WHJDIMOBcz1AIgPUkDwP5hzJLB1L6iFvmLj2N3lMkOZoCJ2dEt5aadURM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259840},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"76dff6c9412874e2ace465892c02cb21e37ab14d","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.2.0_1774727911679_0.6051608118937248","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"obsidian-pkm","version":"3.2.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.2.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"1b7d7ce69f8a4efb787a2b56547f88cb71e683e6","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.2.1.tgz","fileCount":43,"integrity":"sha512-jsdxDFaJTikKIF1F7/Sa10ou27sHb4hbb2viSJnaNbOnziu9pPmnSZWHChwObjbIgC+9QL5/sVv9IsSNkiwFKg==","signatures":[{"sig":"MEUCIQDAmA3XO0xj702OFdX89FQbIg3PP+LugF+6k7KBsl5sxQIgehZ/OjabiRx4zpx9+Pq0bvaIbnGH1/Vc21o8l3ugKfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259943},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"daeb9a2f0975e8f3e655fd06b50826893f0a7717","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.2.1_1774730282730_0.6783189588116634","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"obsidian-pkm","version":"3.2.2","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.2.2","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"12121acc0ef8156c31db5c6a15aa61ece8a33413","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.2.2.tgz","fileCount":43,"integrity":"sha512-qJPhViiyd1YeGTYXK3QiFycLvBnd/auqCk0ElEIgkX3O3A7k7yIbj2TYvsdRpL8agsPneqg0rh3tk/lBPx6tDQ==","signatures":[{"sig":"MEYCIQCQL7n1zDV+KQsqzKItREcJMpZduBEIQ7bkW2qpdQ4qLAIhAINxLzbVhNdG6iLF1QfEjBQe70SmjH++kITYXAPF7aPl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260283},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"4636d7f6bb282d42bff6101e153cb6764d164a9c","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.2.2_1774801016949_0.3313569910378258","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"obsidian-pkm","version":"3.3.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.3.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"38eae7e3867dcd02dc4a7c34ea87eb6f530af753","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.3.0.tgz","fileCount":43,"integrity":"sha512-7J91qgJ1FoA/jUxbe9XB4P+cvpPIga4M5Ws+tF2pCOaJBqE/EnCHtA2BvaQQchgAX2FcUCP0P5T/psBfpKrPog==","signatures":[{"sig":"MEUCICOyRPozHpvkaHdRnaz+0YGBsaelN7ynzpmOHdM6yp7cAiEAytdwJyaH42Z1uLtlyVK5kzaSTXwsufAgSG9iMWmyFE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265053},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"7faf65db063653222cac31020a0097f643a6b48a","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code plugin for Obsidian vault integration — 20 MCP tools, hooks, and skills for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.3.0_1774873086222_0.6617883120462351","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"obsidian-pkm","version":"3.3.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.3.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"a95e2305a860d00d4ffc4619337410550f87a637","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.3.1.tgz","fileCount":43,"integrity":"sha512-oPCrHQmaTmw98yujgwgmxz5XfvwxExS13aGu+l0t/U+0+4PQAP4NVXfrojn5G8fKySJxyy0tyu1boxlrBADRMg==","signatures":[{"sig":"MEQCIGUDJy0gqomn77DRTDrX1SutxvNGxJPEMTGLAnr8wZ5JAiBRhaONO2b9iz+MqoAEIuBhSAVhCihldGQ8kOhbV3zC5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267324},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"f0b5b3a2deb1da1e2eda34812da3095f5e3c9947","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.3.1_1774874786947_0.9060764407894035","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"obsidian-pkm","version":"3.4.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.4.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"38d6444568bfc760f5aef385c0156f717af6a7bc","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.4.0.tgz","fileCount":45,"integrity":"sha512-LbbP8A615dqRFAExt0HXfMKKfTiEO1iFCqwXBkDEMK5f6AQT58KeTSS1NQQmGuajDkrIdtEzn+zePIcACaH81w==","signatures":[{"sig":"MEUCIQChYRrCCUkexeS0aWGY81VjjBcSXWDBOwsNDdNv3V40HgIgTucMcjlPUAy//ALbwVNVjiTU5ZdeOy9vn1LaUx3USNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270180},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"a6ebbfcefa31cbf23003dda5c71a5c8e88ed3887","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.4.0_1774880051880_0.5790760643436794","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"obsidian-pkm","version":"3.5.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.5.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"9f9ccee960d81708f701197c79c1c7ba3d2a7e78","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.5.0.tgz","fileCount":43,"integrity":"sha512-JAljaFNnnLfcFfsvXOnfryHxjpE3Lh00JCQsqGv5A6UByF3pp1y5nw1TaHAumUzVHUk7bGVkOl8tT9vmy3tTtw==","signatures":[{"sig":"MEQCIADqPxCjl+4FD5mzErl72kXhMt2CI6HMLepAfQqONjZzAiAcyEjmbnUUA+EWnW91KfbjcYlu8GIPNOJi5xJRrLoFpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267489},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"ee257c2ab20b0ba2d0f0dc577474bf1f1ad148d6","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.5.0_1774882769260_0.5975860517177605","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"obsidian-pkm","version":"3.5.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.5.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"887dc3c4d10ed2c6714bb35657307c2d5c3f8d97","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.5.1.tgz","fileCount":43,"integrity":"sha512-/9VU+W775exK0lXZMhJFzV0qEce9790w39gTQtDJtIRQwO7dS21RxQSe7Gibvj2jlXxf6nFdBYKrgofs2fTFYA==","signatures":[{"sig":"MEUCIGsPP6J/FHXpYEr5/7KUkYTWA7Ihu8ejHU4TSJ7Eo/5tAiEA08NexmiKvzZ/szVXNAulJyhorFV3KS6M86nTRB1uXFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269593},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"57836101f92988f6038989efdb242316290701f5","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/prompts":"^8.3.2","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.5.1_1774883771085_0.2865676766813121","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"obsidian-pkm","version":"3.6.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.6.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"072f1742a2d16a85662179f3354895a12aaa4ae1","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.6.0.tgz","fileCount":45,"integrity":"sha512-zQLPcrW6W8H4IrlgvXGmsHL5DKCdGoGR8Cke4PHRzOcByROfPlTVU034f9B9r380i5taiEhxASki1X/oLf4HsQ==","signatures":[{"sig":"MEQCIEqxvm+wLsYAxBvLpRjoGVh85FeP8ay6xDT3OhG9eOgMAiAoDYHxKXaw53Q8qHjYB0lAn9hdcRC6b0K/xhESdPUVXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274798},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"7d2677ebbd3e8817f1e93370e76e97c297473585","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.6.0_1774967833065_0.35036695002929585","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"obsidian-pkm","version":"3.6.1","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.6.1","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"454f707bc99708597b265a19b7c34de89dff2aca","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.6.1.tgz","fileCount":45,"integrity":"sha512-WL7ODvF1xcsvzGn/WEmR7sMnh8ZGeQGc5c26kTyBA3Ey4U2gB+wjIe8nNMosVHhnachAyCrprh2+qv/eDMp0kA==","signatures":[{"sig":"MEQCID/vsl0IJqQ0h0G1kytDiFyy7rUwzX0bNtFPY/iiJOA8AiBqk0bvH01BMo6TkDb0R5BxG4xYAudmZ3MnTXEiUUpQHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":276990},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"d1bef9dc7a5884dc669dd9c75b087a5e3b8a47ec","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.6.1_1774974175907_0.4988799943859581","host":"s3://npm-registry-packages-npm-production"}},"3.6.2":{"name":"obsidian-pkm","version":"3.6.2","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.6.2","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"ab8a19a11798f2b40e4a5df8bf2a9ef078d85983","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.6.2.tgz","fileCount":45,"integrity":"sha512-lbG1QEiZ6ppWswTalKow5veB8rTjH958c3UWIX0Q3rcojT5o2Ta8wLeoL/iVXKKDT/tenh+L4Cf57qcepSS5dA==","signatures":[{"sig":"MEUCIQDV8mmPbFowKs6Htqz0pFWxWd+PxVgPv9Dr0UEJNsW0YQIgVVZMaHhHM1grUb3zMMF+ORO64w9EFrp/Ye/xuEO0lsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277777},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"1978114ad509955d2951f566f2db2a35ed169624","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.12.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.1","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.6.2_1775040848147_0.03466487699240073","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"obsidian-pkm","version":"3.7.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.7.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"2f2ed150e09241569a5810f4cdac52fd2d9b9f23","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.7.0.tgz","fileCount":44,"integrity":"sha512-0V/Tf4nCFN6gFH6iFj5YKOuuXoi3nxu1IcuETospsn5kM72vJ0lu82OKQgf80TKzZrVtuZDFY2OzzSWbKpBP7A==","signatures":[{"sig":"MEUCIQD8MBbR8cWXEfcZwUDQX++M3xS4jLiVB/Mxpo3Acap6nwIgZjcF9N0q00xWBUsy4AGckrmnBryceSzImIUq0IxIbmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":282642},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"f9a41baf961124529ec4587758c4856445308c78","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.5.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.2","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.7.0_1776783119298_0.4736710871446239","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"obsidian-pkm","version":"3.8.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.8.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"9a86068d956bf0163628af1c1a2b818c68ec686a","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.8.0.tgz","fileCount":47,"integrity":"sha512-zrWd1Hr5Y9Y9FmROGUmjj7yZ2g2JJzeHZGTluQL3j2ULVOIYgFK+48CkbQgzp0Pbj45kVL2qERY03XzDcTuwSw==","signatures":[{"sig":"MEUCIFGnzyXxPvlCcia6LXYx0hG/u7Frj+CnQLXO6128CwKgAiEAiVU8A3AtzTWagUhJEwuIMeQG7gj/dUr+nQiWhgmbVio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":295439},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"f2171061dec78ae6bb38407dce23a2381aa922bb","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.5.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.2","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.8.0_1777336706518_0.03833207670595229","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"obsidian-pkm","version":"3.9.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.9.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"1440c46386e10b223804847b02dc59cfb22379f7","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.9.0.tgz","fileCount":47,"integrity":"sha512-879TlTl/nDiPsnQNZu2sF2RYN6h/IPThwImFPQnl9CUKuM0O/qfs+PkrD3rWdvKVRLPgBgzo7D1a6N3WkTxiKA==","signatures":[{"sig":"MEUCIGXZntkMZe3Np8q1RNq3vLkCn8Pf3x+T2E+ssgbNMMEdAiEA9FOuJ27XW89/lmI+DhPPE7Bx8EImLHzoUOhlxC1862E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":303555},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"de70931e94fae78e26a07a790d9064c21208e906","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.5.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.2","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.9.0_1777591513737_0.4641538639607632","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"obsidian-pkm","version":"3.10.0","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"author":{"name":"Adrian Verhoosel"},"license":"MIT","_id":"obsidian-pkm@3.10.0","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"bin":{"obsidian-pkm":"cli.js"},"dist":{"shasum":"189323659562a7b7739279ecb10c93a51dea0d05","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.10.0.tgz","fileCount":47,"integrity":"sha512-nidoUS/gihszZU0EMsutU0KiXa/qluEffx948e9mUuiGZ9UwKIainXbcfzdeEKIWTCN54OG8sGuVT1dBUXOnsw==","signatures":[{"sig":"MEYCIQCu8VLbkhImRecCiyDiqkI/l3E/QFdE5LQpdHpg1TM0ggIhANMvfdAY3rQSBvngdZw2CrrYkoSXj9kr55de8qfDbu/B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310415},"main":"cli.js","type":"module","engines":{"node":">=20"},"exports":{".":"./cli.js"},"gitHead":"fd23aa5e51879b964d59c15c525fe054f4348038","scripts":{"lint":"eslint *.js tests/","test":"node --test tests/*.test.js","start":"node cli.js","prepublishOnly":"npm test && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"repository":{"url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git","type":"git"},"_npmVersion":"11.5.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","directories":{},"_nodeVersion":"22.22.2","dependencies":{"js-yaml":"^4.1.0","sqlite-vec":"^0.1.7","better-sqlite3":"^12.6.2","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@inquirer/confirm":"^6.0.10","@modelcontextprotocol/sdk":"^1.27.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.0.0","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/obsidian-pkm_3.10.0_1777819659972_0.7019831032746346","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"obsidian-pkm","version":"3.10.1","description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","main":"cli.js","exports":{".":"./cli.js"},"bin":{"obsidian-pkm":"cli.js"},"type":"module","engines":{"node":">=20"},"scripts":{"start":"node cli.js","test":"node --test tests/*.test.js","lint":"eslint *.js tests/","prepublishOnly":"npm test && npm run lint"},"repository":{"type":"git","url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git"},"author":{"name":"Adrian Verhoosel"},"license":"MIT","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"dependencies":{"@inquirer/confirm":"^6.0.10","@inquirer/input":"^5.0.10","@inquirer/select":"^5.1.2","@modelcontextprotocol/sdk":"^1.27.0","better-sqlite3":"^12.6.2","js-yaml":"^4.1.0","sqlite-vec":"^0.1.7"},"devDependencies":{"@eslint/js":"^10.0.1","eslint":"^10.0.0"},"_id":"obsidian-pkm@3.10.1","gitHead":"4dc5864c66c94d422a5ee7645d4b0dbb73ad83e9","_nodeVersion":"22.22.2","_npmVersion":"11.5.1","dist":{"integrity":"sha512-5B2QvxzI7P/LhDhTQMXP0ks/5+294DLcNiCVYlOz0fy8jHslPxTnfZznqqieN2KkD/2Jg2Ly4hw8X/iTxq3KUg==","shasum":"808d958a8eb4eda22e752c2d9489b53a5298166b","tarball":"https://registry.npmjs.org/obsidian-pkm/-/obsidian-pkm-3.10.1.tgz","fileCount":47,"unpackedSize":310929,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/obsidian-pkm@3.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHtq4AM9UNFu0LG+boI/HNO4TSWw1eNZDpXSsqtWj7IKAiAmkM1Zpu4tuvH7PtB+U0XbzAzyD4TSbIi1jrbT+fMHrA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba8c4ad3-19b7-4127-a71f-20070eab0ed6"}},"directories":{},"maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/obsidian-pkm_3.10.1_1777823545582_0.630454138410375"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T17:39:22.167Z","modified":"2026-05-03T15:52:26.075Z","2.0.0":"2026-03-24T17:39:22.322Z","2.1.0":"2026-03-26T10:58:09.380Z","2.1.1":"2026-03-26T11:20:32.953Z","2.1.2":"2026-03-26T11:58:28.136Z","2.1.3":"2026-03-26T12:06:17.530Z","2.1.4":"2026-03-26T12:22:26.762Z","2.1.5":"2026-03-26T12:43:23.944Z","2.1.6":"2026-03-26T12:52:53.190Z","3.0.0":"2026-03-28T14:56:54.621Z","3.0.1":"2026-03-28T15:03:53.788Z","3.0.2":"2026-03-28T15:07:48.561Z","3.0.3":"2026-03-28T15:26:40.929Z","3.0.4":"2026-03-28T15:57:45.848Z","3.0.5":"2026-03-28T16:39:11.848Z","3.0.6":"2026-03-28T16:49:58.321Z","3.1.0":"2026-03-28T17:43:21.496Z","3.1.1":"2026-03-28T19:24:01.380Z","3.2.0":"2026-03-28T19:58:31.882Z","3.2.1":"2026-03-28T20:38:02.907Z","3.2.2":"2026-03-29T16:16:57.103Z","3.3.0":"2026-03-30T12:18:06.432Z","3.3.1":"2026-03-30T12:46:27.083Z","3.4.0":"2026-03-30T14:14:12.033Z","3.5.0":"2026-03-30T14:59:29.417Z","3.5.1":"2026-03-30T15:16:11.279Z","3.6.0":"2026-03-31T14:37:13.234Z","3.6.1":"2026-03-31T16:22:56.133Z","3.6.2":"2026-04-01T10:54:08.281Z","3.7.0":"2026-04-21T14:51:59.469Z","3.8.0":"2026-04-28T00:38:26.665Z","3.9.0":"2026-04-30T23:25:13.895Z","3.10.0":"2026-05-03T14:47:40.113Z","3.10.1":"2026-05-03T15:52:25.820Z"},"bugs":{"url":"https://github.com/AdrianV101/obsidian-pkm-plugin/issues"},"author":{"name":"Adrian Verhoosel"},"license":"MIT","homepage":"https://github.com/AdrianV101/obsidian-pkm-plugin#readme","keywords":["mcp","obsidian","pkm","knowledge-management","claude-code","model-context-protocol","claude","ai","markdown","notes","semantic-search","wikilinks","plugin","hooks"],"repository":{"type":"git","url":"git+https://github.com/AdrianV101/obsidian-pkm-plugin.git"},"description":"Bidirectional knowledge flow between Claude Code and Obsidian — 20 MCP tools, skills, and hooks for PKM","maintainers":[{"name":"adrianv101","email":"averhoosel@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"assets/banner.svg\" alt=\"Vault PKM — Claude Code plugin for AI-native knowledge management\" width=\"100%\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/obsidian-pkm\"><img src=\"https://img.shields.io/npm/v/obsidian-pkm\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/obsidian-pkm\"><img src=\"https://img.shields.io/npm/dw/obsidian-pkm\" alt=\"npm downloads\"></a>\n  <a href=\"https://github.com/AdrianV101/obsidian-pkm-plugin/stargazers\"><img src=\"https://img.shields.io/github/stars/AdrianV101/obsidian-pkm-plugin?style=flat\" alt=\"GitHub stars\"></a>\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://github.com/AdrianV101/obsidian-pkm-plugin/actions/workflows/ci.yml\"><img src=\"https://github.com/AdrianV101/obsidian-pkm-plugin/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://github.com/AdrianV101/obsidian-pkm-plugin/actions/workflows/ci.yml\"><img src=\"https://img.shields.io/badge/tests-574%20passing-brightgreen\" alt=\"Tests\"></a>\n</p>\n\n# Vault PKM\n\nGive Claude persistent, structured memory across conversations using your Obsidian vault. Read, write, search, and navigate your knowledge base — all from within Claude Code.\n\nUnder the hood, this Claude Code plugin provides 20 [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) tools for note creation, semantic search, graph traversal, metadata queries, and session memory — plus agents, hooks, and skills for seamless workflow integration. Published on npm as [`obsidian-pkm`](https://www.npmjs.com/package/obsidian-pkm).\n\n> If you find this useful, please [star the repo](https://github.com/AdrianV101/obsidian-pkm-plugin) — it helps others discover the plugin.\n\n[Watch the demo video](https://github.com/user-attachments/assets/564e70d1-9006-4a29-8bed-1ed167bdfe56)\n\n## Why\n\nClaude Code has built-in memory, but it's flat text files scoped to individual projects — no structure, no search beyond exact matches, no connections between notes, and no way to query across projects. As knowledge grows, it doesn't scale. This server replaces that with a proper PKM layer: structured notes with enforced metadata, semantic search, a navigable knowledge graph, and cross-project access through a single Obsidian vault.\n\n- **Structured session memory** — Every tool call is logged with timestamps and session IDs, so Claude can recall exactly what was read, written, and searched in previous conversations — not just what was saved to a text file.\n- **Structured knowledge creation** — ADRs, research notes, devlogs, and tasks are created from enforced templates with validated frontmatter — not freeform text dumps. Your vault stays consistent and queryable.\n- **Semantic discovery** — \"Find my notes about caching strategies\" works even if you never used the word \"caching.\" Conceptual search surfaces relevant knowledge that keyword search misses.\n- **Graph-aware connections** — Claude explores your knowledge graph by following wikilinks, discovering related notes by proximity rather than just content. Link suggestions help weave new notes into your existing web of knowledge.\n- **Knowledge capture** — Decisions, tasks, and research findings are captured by specialized agents in the background without interrupting your coding flow.\n\nWithout this, knowledge stays fragmented across per-project memory files and chat logs. With it, your AI assistant maintains a unified knowledge base that compounds over time.\n\n### How It Compares\n\n| | Vault PKM | [remember](https://github.com/Digital-Process-Tools/claude-remember) | Claude built-in memory |\n|---|---|---|---|\n| **Knowledge base** | Your Obsidian vault (markdown files you own) | Compressed conversation logs (`.remember/` dir) | CLAUDE.md + auto-memory files |\n| **Scope** | Cross-project (one vault for everything) | Per-project | Per-project (git-repo scoped) |\n| **Semantic search** | OpenAI embeddings | — | — |\n| **Graph traversal** | Wikilink BFS, link health audits | — | — |\n| **Structured notes** | 13 templates with validated frontmatter | Plain markdown | Plain markdown |\n| **Metadata queries** | Filter by type, status, tags, dates, custom fields | — | — |\n| **Session memory** | Activity log (every tool call with timestamps) | Tiered daily summaries (Haiku-compressed) | Manual (user writes CLAUDE.md) |\n| **Setup effort** | Medium (vault path + optional OpenAI key) | Low (auto hooks, no config) | None (built-in) |\n| **MCP tools** | 20 | 0 (hooks-based) | 0 |\n| **Agents** | 3 (explorer, capture, auditor) | 0 | 0 |\n\n**remember** is great for lightweight session continuity with minimal setup. **Vault PKM** is for developers who want a structured, searchable, interconnected knowledge base that grows with every project.\n\n## Features\n\n### Knowledge Creation & Editing\n\n| Tool | Description |\n|------|-------------|\n| `vault_write` | Create notes from templates with enforced frontmatter (ADRs, research, devlogs, tasks, etc.) |\n| `vault_append` | Add content to notes, with positional insert (after/before heading, end of section) |\n| `vault_edit` | Surgical string replacement for precise edits |\n| `vault_update_frontmatter` | Atomic YAML frontmatter updates (set, create, remove fields; validates enums by note type) |\n\n### Discovery & Search\n\n| Tool | Description |\n|------|-------------|\n| `vault_search` | Full-text keyword search across markdown files |\n| `vault_semantic_search` | Conceptual similarity search via OpenAI embeddings — finds related notes even with different wording |\n| `vault_query` | Query by YAML frontmatter (type, status, tags, dates, custom fields) with sorting |\n| `vault_tags` | Discover all tags with per-note counts; folder scoping, glob filters, inline tag parsing |\n| `vault_suggest_links` | Suggest relevant notes to link based on content similarity |\n\n### Graph & Connections\n\n| Tool | Description |\n|------|-------------|\n| `vault_links` | Wikilink analysis (incoming and outgoing links for a note) |\n| `vault_neighborhood` | Graph exploration via BFS wikilink traversal — discover related notes by proximity |\n| `vault_add_links` | Add annotated wikilinks to a note's section with deduplication |\n| `vault_link_health` | Audit link quality — find orphans, broken links, weak connections, ambiguous links |\n\n### Reading & Navigation\n\n| Tool | Description |\n|------|-------------|\n| `vault_read` | Read note contents (pagination by heading, tail, chunk, line range; auto-redirects large files) |\n| `vault_peek` | Inspect file metadata and structure without reading full content |\n| `vault_list` | List files and folders |\n| `vault_recent` | Recently modified files |\n\n### Organization & Maintenance\n\n| Tool | Description |\n|------|-------------|\n| `vault_move` | Move/rename files with automatic wikilink updating across the vault |\n| `vault_trash` | Soft-delete to `.trash/` (Obsidian convention), warns about broken incoming links |\n\n### Session Memory\n\n| Tool | Description |\n|------|-------------|\n| `vault_activity` | Cross-conversation memory — logs every tool call with timestamps and session IDs |\n\n### Agents, Skills & Commands\n\n**Agents** (3) run autonomously in foreground or background:\n\n| Agent | Purpose |\n|-------|---------|\n| `vault-explorer` | Research existing knowledge before creating notes |\n| `pkm-capture` | Devlog entries + knowledge capture after commits and work blocks |\n| `link-auditor` | Audit vault link health after bulk note changes |\n\n**Skills** (6) are guided workflows triggered by slash commands:\n\n| Skill | Purpose |\n|-------|---------|\n| `pkm-write` | Duplicate checking, link discovery, and annotations when creating notes |\n| `pkm-explore` | Graph + semantic exploration to map existing knowledge on a topic |\n| `pkm-session-end` | Session wrap-up: devlog, undocumented work capture, link health audit |\n| `add-task` | Fast task capture from a title with duplicate detection, priority shorthands, and due date |\n| `triage-tasks` | Surface open tasks as a numbered list with git completion hints; batch-update via shorthand (e.g. `1,3 done \\| 2 active`) |\n| `tackle-task` | Work a task end-to-end: read, explore vault context, route to the right workflow tier, close when done |\n\n**Commands** (2) for setup and configuration:\n\n| Command | Purpose |\n|---------|---------|\n| `/vault-pkm:setup` | Configure vault path, API keys, and permissions |\n| `/vault-pkm:init-project` | Connect a code repository to a vault project folder |\n\n## Prerequisites\n\n- **Node.js >= 20** (Node 18 is EOL; uses native `fetch` and ES modules)\n- **An MCP-compatible client** such as [Claude Code](https://claude.ai/code)\n\nPrebuilt native binaries are included for Node 20/22 on Linux x64, macOS (x64/arm64), and Windows x64. Most users need nothing else. If the prebuilt fails, you'll need C++ build tools — see [Troubleshooting](#better-sqlite3-build-fails-during-install).\n\n## Quick Start\n\n### 1. Install the Plugin\n\n```bash\nclaude plugin marketplace add anthropics/claude-plugins-community\nclaude plugin install vault-pkm@claude-community\n```\n\n### 2. Configure\n\nRun the setup skill in Claude Code:\n\n```\n/vault-pkm:setup\n```\n\nThe setup skill walks you through vault path, API keys, tool permissions, and verification. Hooks are registered automatically by the plugin system.\n\n**Important:** Restart your Claude Code session after setup completes so the MCP server picks up the new configuration.\n\n### 3. Scaffold Your Vault (optional)\n\nIf you need templates and the PARA folder structure, run the vault scaffolding wizard:\n\n```bash\nnpx obsidian-pkm init\n```\n\nThis is separate from the plugin install above — it only sets up your vault's directory structure (PARA folders, note templates). Nothing is written until you confirm each step.\n\n> **Note:** The first `npx` run downloads and compiles native dependencies, which may take 30-60 seconds. Subsequent runs are instant.\n\n<details>\n<summary>Scaffold details</summary>\n\n**Step 1 — Vault path.** Point to an existing Obsidian vault or create a new one. The wizard resolves `~`, `$HOME`, and relative paths automatically. Safety checks prevent using system directories (`/`, `/home`, etc.) as a vault. For existing non-empty directories you can use it as-is, create a subfolder inside it, or wipe it (with triple confirmation). You'll be offered an optional backup before any changes.\n\n**Step 2 — Note templates.** Copies template files into `<vault>/05-Templates/`. Three options:\n- **Full set** — all 13 templates (`adr`, `daily-note`, `devlog`, `fleeting-note`, `literature-note`, `meeting-notes`, `moc`, `note`, `permanent-note`, `project-index`, `research-note`, `task`, `troubleshooting-log`)\n- **Minimal** — just `note.md` (a single generic template)\n- **Skip** — for users with their own templates\n\nExisting templates are never overwritten.\n\n**Step 3 — PARA folder structure.** Creates 7 top-level folders with `_index.md` stubs:\n\n| Folder | Purpose |\n|--------|---------|\n| `00-Inbox/` | Quick captures and unsorted notes |\n| `01-Projects/` | Active project folders |\n| `02-Areas/` | Ongoing areas of responsibility |\n| `03-Resources/` | Reference material and reusable knowledge |\n| `04-Archive/` | Completed or inactive items |\n| `05-Templates/` | Note templates |\n| `06-System/` | System configuration and metadata |\n\nEach `_index.md` has `type: moc` frontmatter. Existing folders and index files are skipped.\n\n</details>\n\n### 4. Verify It Works\n\nOpen Claude Code and try:\n\n> List the folders in my vault\n\nClaude should call `vault_list` and show your vault's directory structure. If it works, the server is connected and ready.\n\n### 5. Enable Semantic Search (optional)\n\nAdd your OpenAI API key to `~/.claude/settings.json` under the `env` block:\n\n```json\n{\n  \"env\": {\n    \"VAULT_PATH\": \"/path/to/vault\",\n    \"VAULT_PKM_OPENAI_KEY\": \"sk-your-key-here\"\n  }\n}\n```\n\nUse `VAULT_PKM_OPENAI_KEY` (preferred) to avoid conflicts with project-level OpenAI keys. `OPENAI_API_KEY` is also accepted as a fallback. The previously-documented `OBSIDIAN_PKM_OPENAI_KEY` still works as a deprecated fallback — plan to rename it in your config. Restart Claude Code after saving.\n\n**Optional: `VAULT_PKM_VAULT_NAME`** — overrides the vault name used in `obsidian://` links emitted in tool output. Defaults to `basename(VAULT_PATH)`, which is correct for most setups. Set this only if your on-disk folder name differs from the vault name you registered in Obsidian (e.g. `VAULT_PATH=/Users/me/Notes` but Obsidian shows the vault as `My PKM`).\n\nThis enables `vault_semantic_search` and `vault_suggest_links`. Uses `text-embedding-3-large` with a SQLite + sqlite-vec index stored at `.obsidian/semantic-index.db`. The index rebuilds automatically — delete the DB file to force a full re-embed.\n\n<details>\n<summary><strong>Vault Structure</strong></summary>\n\nThe server works with any Obsidian vault. The included templates assume this layout:\n\n```\nVault/\n├── 00-Inbox/\n├── 01-Projects/\n│   └── ProjectName/\n│       ├── _index.md\n│       ├── planning/\n│       ├── research/\n│       └── development/decisions/\n├── 02-Areas/\n├── 03-Resources/\n├── 04-Archive/\n├── 05-Templates/          # Note templates loaded by vault_write\n└── 06-System/\n```\n\n### Templates\n\n`vault_write` loads all `.md` files from `05-Templates/` at startup and enforces frontmatter on every note created. Run `npx obsidian-pkm init` to install them automatically, or copy the files from `templates/` manually.\n\n13 included templates: `adr`, `daily-note`, `devlog`, `fleeting-note`, `literature-note`, `meeting-notes`, `moc`, `note`, `permanent-note`, `project-index`, `research-note`, `task`, `troubleshooting-log`. Add your own templates to `05-Templates/` and they become available to `vault_write` automatically.\n\nTask notes enforce `status` (pending, active, done, cancelled) and `priority` (low, normal, high, urgent) enums. All other note types accept any string values for these fields.\n\n### CLAUDE.md for Your Projects\n\n`sample-project/CLAUDE.md` is a template you can drop into any code repository to wire up Claude Code with your vault. It defines context loading, documentation rules, and ADR/devlog conventions.\n\n</details>\n\n<details>\n<summary><strong>Architecture</strong></summary>\n\nModule dependencies:\n\n```mermaid\ngraph LR\n    CC[Claude Code] -->|MCP protocol| IDX[index.js]\n    IDX --> HND[handlers.js]\n    IDX --> E[embeddings.js]\n    IDX --> A[activity.js]\n    HND --> H[helpers.js]\n    HND --> G[graph.js]\n    HND --> U[utils.js]\n    HND -->|read/write| V[(Obsidian Vault)]\n    E -->|embeddings API| OAI[OpenAI]\n    E -->|vector store| DB[(SQLite + sqlite-vec)]\n    A -->|activity log| DB2[(SQLite)]\n```\n\nFile layout:\n\n```\n├── index.js          # MCP server setup, tool registration, lifecycle\n├── handlers.js       # Tool handler implementations\n├── helpers.js        # Pure functions (path security, filtering, templates, frontmatter)\n├── graph.js          # Wikilink resolution and BFS graph traversal\n├── embeddings.js     # Semantic index (OpenAI embeddings, SQLite + sqlite-vec)\n├── activity.js       # Activity log (session tracking, SQLite)\n├── utils.js          # Shared utilities (frontmatter parsing, file listing)\n├── cli.js            # CLI entry point (routes `init` subcommand or starts server)\n├── init.js           # Vault scaffolding wizard (templates, PARA folders)\n├── .claude-plugin/   # Plugin packaging\n│   └── plugin.json   # Plugin manifest (identity, components, permissions)\n├── hooks/            # Claude Code hooks (context loading, project resolution, session start)\n├── agents/           # Specialized agents (vault-explorer, pkm-capture, link-auditor)\n├── skills/           # PKM workflow skills (pkm-write, pkm-explore, pkm-session-end, add-task, triage-tasks, tackle-task)\n├── commands/         # Slash commands (setup, init-project)\n├── templates/        # Obsidian note templates\n├── tests/            # Test suite (Node.js built-in test runner)\n├── sample-project/   # Sample CLAUDE.md for your repos\n└── docs/             # Supplementary documentation\n```\n\n`index.js` initializes the semantic index and activity log, then injects them into `createHandlers()`. All paths passed to tools are relative to vault root. The server includes path security to prevent directory traversal.\n\n</details>\n\n## How It Works\n\n**Knowledge creation** is template-based. `vault_write` loads templates from `05-Templates/`, substitutes Templater-compatible variables (`<% tp.date.now(\"YYYY-MM-DD\") %>`, `<% tp.file.title %>`), and validates required frontmatter fields (`type`, `created`, `tags`). This ensures every note in your vault has consistent metadata — making it queryable, sortable, and discoverable from day one. Task notes enforce enum validation on `status` and `priority`; other types accept `project`, `deciders`, `due`, and `source`.\n\n**Knowledge discovery** works at two levels. Keyword search (`vault_search`) finds exact terms. Semantic search embeds notes using OpenAI and finds conceptually related content — so \"managing overwhelm\" surfaces notes about \"cognitive load\" even if those exact words never appear together. The semantic index watches for file changes in real-time and syncs across machines via Obsidian Sync.\n\n**Knowledge connections** are maintained through Obsidian's `[[wikilink]]` graph. `vault_neighborhood` traverses links via BFS to discover related notes by proximity, while `vault_suggest_links` recommends connections you haven't made yet. `vault_move` rewrites wikilinks across the vault when you reorganize, and `vault_trash` warns about links that would break.\n\n**Session memory** records every tool call with timestamps and session IDs, so Claude can recall what was read, written, or searched in previous conversations. This turns ephemeral chat sessions into a continuous thread of work.\n\n**Knowledge capture** uses the `pkm-capture` agent to update the project devlog and persist PKM-worthy content from a session (decisions, research findings, tasks, bug root causes) in one pass. It is triggered automatically after git commits via a PreToolUse hook, or can be dispatched manually after significant work blocks. Runs in the background without interrupting the coding flow.\n\n**Fuzzy path resolution** lets read-only tools accept short names instead of full vault paths. `vault_read({ path: \"devlog\" })` resolves to `01-Projects/MyApp/development/devlog.md` automatically (`.md` extension optional). Folder-scoped tools like `vault_list`, `vault_search`, and `vault_query` accept partial folder names — `folder: \"MyApp\"` resolves to `01-Projects/MyApp`. Ambiguous matches return an error listing candidates. Write/destructive tools always require exact paths.\n\n## Troubleshooting\n\n**`better-sqlite3` build fails during install**\nYou need C++ build tools. See [Prerequisites](#prerequisites) for your platform. On Linux, `sudo apt install build-essential python3` usually fixes it.\n\n**Server starts but all tool calls fail with ENOENT**\nYour `VAULT_PATH` is wrong or missing. The server validates this at startup and exits with a clear error. Run `/vault-pkm:setup` to reconfigure the vault path.\n\n**`vault_write` says \"no templates available\"**\nRun `npx obsidian-pkm init` to install templates, or copy the `templates/` files from this repo into your vault's `05-Templates/` directory. The server loads templates from there at startup.\n\n**Semantic search not appearing in tool list**\nSet `VAULT_PKM_OPENAI_KEY` in `~/.claude/settings.json`. See [Enable Semantic Search](#5-enable-semantic-search-optional). Without it, `vault_semantic_search` and `vault_suggest_links` are hidden entirely.\n\n**Server not showing up in Claude Code after install**\nRun `claude mcp list` to check. If `vault-pkm` is missing, reinstall the plugin: `claude plugin install vault-pkm@claude-community`. Then run `/vault-pkm:setup` to configure it.\n\n**Semantic index not updating after file changes**\nCheck your Node version with `node -v`. The file watcher uses `fs.watch({ recursive: true })` which requires Node.js >= 20.\n\n**Not sure if everything is set up correctly?**\nRun `npx obsidian-pkm doctor` for a diagnostic checklist that validates your Node version, vault path, templates, API keys, and native dependencies.\n\n## Contributing\n\nContributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, code style guidelines, and the pull request process before submitting changes.\n\nSee [CHANGELOG.md](CHANGELOG.md) for release history, [SECURITY.md](SECURITY.md) to report vulnerabilities, and [PRIVACY.md](PRIVACY.md) for how the plugin handles your data.\n\n## License\n\nMIT\n\n","readmeFilename":"README.md"}