superskill 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +21 -0
  3. package/README.md +235 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +1158 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/brainstorm.d.ts +9 -0
  8. package/dist/commands/brainstorm.js +37 -0
  9. package/dist/commands/brainstorm.js.map +1 -0
  10. package/dist/commands/brainstorm.test.d.ts +1 -0
  11. package/dist/commands/brainstorm.test.js +110 -0
  12. package/dist/commands/brainstorm.test.js.map +1 -0
  13. package/dist/commands/context.d.ts +18 -0
  14. package/dist/commands/context.js +88 -0
  15. package/dist/commands/context.js.map +1 -0
  16. package/dist/commands/context.test.d.ts +1 -0
  17. package/dist/commands/context.test.js +230 -0
  18. package/dist/commands/context.test.js.map +1 -0
  19. package/dist/commands/decide.d.ts +12 -0
  20. package/dist/commands/decide.js +40 -0
  21. package/dist/commands/decide.js.map +1 -0
  22. package/dist/commands/decide.test.d.ts +1 -0
  23. package/dist/commands/decide.test.js +109 -0
  24. package/dist/commands/decide.test.js.map +1 -0
  25. package/dist/commands/graph.d.ts +15 -0
  26. package/dist/commands/graph.js +89 -0
  27. package/dist/commands/graph.js.map +1 -0
  28. package/dist/commands/graph.test.d.ts +1 -0
  29. package/dist/commands/graph.test.js +215 -0
  30. package/dist/commands/graph.test.js.map +1 -0
  31. package/dist/commands/init.d.ts +11 -0
  32. package/dist/commands/init.js +257 -0
  33. package/dist/commands/init.js.map +1 -0
  34. package/dist/commands/learn.d.ts +25 -0
  35. package/dist/commands/learn.js +92 -0
  36. package/dist/commands/learn.js.map +1 -0
  37. package/dist/commands/learn.test.d.ts +1 -0
  38. package/dist/commands/learn.test.js +241 -0
  39. package/dist/commands/learn.test.js.map +1 -0
  40. package/dist/commands/prune.d.ts +58 -0
  41. package/dist/commands/prune.js +246 -0
  42. package/dist/commands/prune.js.map +1 -0
  43. package/dist/commands/read.d.ts +8 -0
  44. package/dist/commands/read.js +7 -0
  45. package/dist/commands/read.js.map +1 -0
  46. package/dist/commands/read.test.d.ts +1 -0
  47. package/dist/commands/read.test.js +48 -0
  48. package/dist/commands/read.test.js.map +1 -0
  49. package/dist/commands/resume.d.ts +20 -0
  50. package/dist/commands/resume.js +141 -0
  51. package/dist/commands/resume.js.map +1 -0
  52. package/dist/commands/resume.test.d.ts +1 -0
  53. package/dist/commands/resume.test.js +243 -0
  54. package/dist/commands/resume.test.js.map +1 -0
  55. package/dist/commands/search.d.ts +8 -0
  56. package/dist/commands/search.js +25 -0
  57. package/dist/commands/search.js.map +1 -0
  58. package/dist/commands/search.test.d.ts +1 -0
  59. package/dist/commands/search.test.js +61 -0
  60. package/dist/commands/search.test.js.map +1 -0
  61. package/dist/commands/session.d.ts +22 -0
  62. package/dist/commands/session.js +79 -0
  63. package/dist/commands/session.js.map +1 -0
  64. package/dist/commands/session.test.d.ts +1 -0
  65. package/dist/commands/session.test.js +231 -0
  66. package/dist/commands/session.test.js.map +1 -0
  67. package/dist/commands/skill/catalog.d.ts +39 -0
  68. package/dist/commands/skill/catalog.js +260 -0
  69. package/dist/commands/skill/catalog.js.map +1 -0
  70. package/dist/commands/skill/index.d.ts +55 -0
  71. package/dist/commands/skill/index.js +82 -0
  72. package/dist/commands/skill/index.js.map +1 -0
  73. package/dist/commands/skill/index.test.d.ts +1 -0
  74. package/dist/commands/skill/index.test.js +137 -0
  75. package/dist/commands/skill/index.test.js.map +1 -0
  76. package/dist/commands/skill/install.d.ts +14 -0
  77. package/dist/commands/skill/install.js +108 -0
  78. package/dist/commands/skill/install.js.map +1 -0
  79. package/dist/commands/skill/install.test.d.ts +1 -0
  80. package/dist/commands/skill/install.test.js +225 -0
  81. package/dist/commands/skill/install.test.js.map +1 -0
  82. package/dist/commands/skill/list.d.ts +6 -0
  83. package/dist/commands/skill/list.js +5 -0
  84. package/dist/commands/skill/list.js.map +1 -0
  85. package/dist/commands/skill/list.test.d.ts +1 -0
  86. package/dist/commands/skill/list.test.js +101 -0
  87. package/dist/commands/skill/list.test.js.map +1 -0
  88. package/dist/commands/skill/marketplace.d.ts +121 -0
  89. package/dist/commands/skill/marketplace.js +548 -0
  90. package/dist/commands/skill/marketplace.js.map +1 -0
  91. package/dist/commands/skill/schema.d.ts +27 -0
  92. package/dist/commands/skill/schema.js +55 -0
  93. package/dist/commands/skill/schema.js.map +1 -0
  94. package/dist/commands/skill/schema.test.d.ts +1 -0
  95. package/dist/commands/skill/schema.test.js +142 -0
  96. package/dist/commands/skill/schema.test.js.map +1 -0
  97. package/dist/commands/skill/validate.d.ts +10 -0
  98. package/dist/commands/skill/validate.js +40 -0
  99. package/dist/commands/skill/validate.js.map +1 -0
  100. package/dist/commands/skill/validate.test.d.ts +1 -0
  101. package/dist/commands/skill/validate.test.js +171 -0
  102. package/dist/commands/skill/validate.test.js.map +1 -0
  103. package/dist/commands/task.d.ts +34 -0
  104. package/dist/commands/task.js +160 -0
  105. package/dist/commands/task.js.map +1 -0
  106. package/dist/commands/task.test.d.ts +1 -0
  107. package/dist/commands/task.test.js +395 -0
  108. package/dist/commands/task.test.js.map +1 -0
  109. package/dist/commands/todo.d.ts +15 -0
  110. package/dist/commands/todo.js +99 -0
  111. package/dist/commands/todo.js.map +1 -0
  112. package/dist/commands/todo.test.d.ts +1 -0
  113. package/dist/commands/todo.test.js +324 -0
  114. package/dist/commands/todo.test.js.map +1 -0
  115. package/dist/commands/write.d.ts +12 -0
  116. package/dist/commands/write.js +40 -0
  117. package/dist/commands/write.js.map +1 -0
  118. package/dist/commands/write.test.d.ts +1 -0
  119. package/dist/commands/write.test.js +79 -0
  120. package/dist/commands/write.test.js.map +1 -0
  121. package/dist/config.d.ts +15 -0
  122. package/dist/config.js +49 -0
  123. package/dist/config.js.map +1 -0
  124. package/dist/config.test.d.ts +1 -0
  125. package/dist/config.test.js +147 -0
  126. package/dist/config.test.js.map +1 -0
  127. package/dist/core/executor.d.ts +11 -0
  128. package/dist/core/executor.js +42 -0
  129. package/dist/core/executor.js.map +1 -0
  130. package/dist/core/executor.test.d.ts +1 -0
  131. package/dist/core/executor.test.js +206 -0
  132. package/dist/core/executor.test.js.map +1 -0
  133. package/dist/core/middleware/error-handler.d.ts +2 -0
  134. package/dist/core/middleware/error-handler.js +29 -0
  135. package/dist/core/middleware/error-handler.js.map +1 -0
  136. package/dist/core/middleware/index.d.ts +2 -0
  137. package/dist/core/middleware/index.js +3 -0
  138. package/dist/core/middleware/index.js.map +1 -0
  139. package/dist/core/middleware/logging.d.ts +2 -0
  140. package/dist/core/middleware/logging.js +18 -0
  141. package/dist/core/middleware/logging.js.map +1 -0
  142. package/dist/core/registry.d.ts +12 -0
  143. package/dist/core/registry.js +552 -0
  144. package/dist/core/registry.js.map +1 -0
  145. package/dist/core/registry.test.d.ts +1 -0
  146. package/dist/core/registry.test.js +213 -0
  147. package/dist/core/registry.test.js.map +1 -0
  148. package/dist/core/types.d.ts +38 -0
  149. package/dist/core/types.js +2 -0
  150. package/dist/core/types.js.map +1 -0
  151. package/dist/integration/coordination.test.d.ts +1 -0
  152. package/dist/integration/coordination.test.js +286 -0
  153. package/dist/integration/coordination.test.js.map +1 -0
  154. package/dist/integration/project-artifacts.test.d.ts +1 -0
  155. package/dist/integration/project-artifacts.test.js +275 -0
  156. package/dist/integration/project-artifacts.test.js.map +1 -0
  157. package/dist/integration/registry-graph.test.d.ts +1 -0
  158. package/dist/integration/registry-graph.test.js +157 -0
  159. package/dist/integration/registry-graph.test.js.map +1 -0
  160. package/dist/integration/vault-lifecycle.test.d.ts +1 -0
  161. package/dist/integration/vault-lifecycle.test.js +183 -0
  162. package/dist/integration/vault-lifecycle.test.js.map +1 -0
  163. package/dist/lib/auto-number.d.ts +10 -0
  164. package/dist/lib/auto-number.js +33 -0
  165. package/dist/lib/auto-number.js.map +1 -0
  166. package/dist/lib/auto-number.test.d.ts +1 -0
  167. package/dist/lib/auto-number.test.js +88 -0
  168. package/dist/lib/auto-number.test.js.map +1 -0
  169. package/dist/lib/auto-profile.d.ts +11 -0
  170. package/dist/lib/auto-profile.js +123 -0
  171. package/dist/lib/auto-profile.js.map +1 -0
  172. package/dist/lib/auto-profile.test.d.ts +1 -0
  173. package/dist/lib/auto-profile.test.js +227 -0
  174. package/dist/lib/auto-profile.test.js.map +1 -0
  175. package/dist/lib/escape-regex.d.ts +4 -0
  176. package/dist/lib/escape-regex.js +8 -0
  177. package/dist/lib/escape-regex.js.map +1 -0
  178. package/dist/lib/escape-regex.test.d.ts +1 -0
  179. package/dist/lib/escape-regex.test.js +27 -0
  180. package/dist/lib/escape-regex.test.js.map +1 -0
  181. package/dist/lib/frontmatter.d.ts +34 -0
  182. package/dist/lib/frontmatter.js +75 -0
  183. package/dist/lib/frontmatter.js.map +1 -0
  184. package/dist/lib/frontmatter.test.d.ts +1 -0
  185. package/dist/lib/frontmatter.test.js +192 -0
  186. package/dist/lib/frontmatter.test.js.map +1 -0
  187. package/dist/lib/project-detector.d.ts +12 -0
  188. package/dist/lib/project-detector.js +124 -0
  189. package/dist/lib/project-detector.js.map +1 -0
  190. package/dist/lib/project-detector.test.d.ts +1 -0
  191. package/dist/lib/project-detector.test.js +117 -0
  192. package/dist/lib/project-detector.test.js.map +1 -0
  193. package/dist/lib/safe-external-path.d.ts +10 -0
  194. package/dist/lib/safe-external-path.js +47 -0
  195. package/dist/lib/safe-external-path.js.map +1 -0
  196. package/dist/lib/safe-external-path.test.d.ts +1 -0
  197. package/dist/lib/safe-external-path.test.js +99 -0
  198. package/dist/lib/safe-external-path.test.js.map +1 -0
  199. package/dist/lib/search-engine.d.ts +19 -0
  200. package/dist/lib/search-engine.js +164 -0
  201. package/dist/lib/search-engine.js.map +1 -0
  202. package/dist/lib/search-engine.test.d.ts +1 -0
  203. package/dist/lib/search-engine.test.js +120 -0
  204. package/dist/lib/search-engine.test.js.map +1 -0
  205. package/dist/lib/session-registry.d.ts +59 -0
  206. package/dist/lib/session-registry.js +231 -0
  207. package/dist/lib/session-registry.js.map +1 -0
  208. package/dist/lib/session-registry.test.d.ts +1 -0
  209. package/dist/lib/session-registry.test.js +199 -0
  210. package/dist/lib/session-registry.test.js.map +1 -0
  211. package/dist/lib/skill-registry.d.ts +13 -0
  212. package/dist/lib/skill-registry.js +77 -0
  213. package/dist/lib/skill-registry.js.map +1 -0
  214. package/dist/lib/stack-detector.d.ts +7 -0
  215. package/dist/lib/stack-detector.js +184 -0
  216. package/dist/lib/stack-detector.js.map +1 -0
  217. package/dist/lib/stack-detector.test.d.ts +1 -0
  218. package/dist/lib/stack-detector.test.js +110 -0
  219. package/dist/lib/stack-detector.test.js.map +1 -0
  220. package/dist/lib/token-estimator.d.ts +19 -0
  221. package/dist/lib/token-estimator.js +59 -0
  222. package/dist/lib/token-estimator.js.map +1 -0
  223. package/dist/lib/token-estimator.test.d.ts +1 -0
  224. package/dist/lib/token-estimator.test.js +65 -0
  225. package/dist/lib/token-estimator.test.js.map +1 -0
  226. package/dist/lib/tool-detector.d.ts +8 -0
  227. package/dist/lib/tool-detector.js +76 -0
  228. package/dist/lib/tool-detector.js.map +1 -0
  229. package/dist/lib/tool-detector.test.d.ts +1 -0
  230. package/dist/lib/tool-detector.test.js +170 -0
  231. package/dist/lib/tool-detector.test.js.map +1 -0
  232. package/dist/lib/vault-fs.d.ts +39 -0
  233. package/dist/lib/vault-fs.js +184 -0
  234. package/dist/lib/vault-fs.js.map +1 -0
  235. package/dist/lib/vault-fs.test.d.ts +1 -0
  236. package/dist/lib/vault-fs.test.js +210 -0
  237. package/dist/lib/vault-fs.test.js.map +1 -0
  238. package/dist/mcp-server.d.ts +2 -0
  239. package/dist/mcp-server.js +387 -0
  240. package/dist/mcp-server.js.map +1 -0
  241. package/dist/setup/clients.d.ts +2 -0
  242. package/dist/setup/clients.js +109 -0
  243. package/dist/setup/clients.js.map +1 -0
  244. package/dist/setup/configure.d.ts +6 -0
  245. package/dist/setup/configure.js +126 -0
  246. package/dist/setup/configure.js.map +1 -0
  247. package/dist/setup/configure.test.d.ts +1 -0
  248. package/dist/setup/configure.test.js +112 -0
  249. package/dist/setup/configure.test.js.map +1 -0
  250. package/dist/setup/detect.d.ts +3 -0
  251. package/dist/setup/detect.js +24 -0
  252. package/dist/setup/detect.js.map +1 -0
  253. package/dist/setup/detect.test.d.ts +1 -0
  254. package/dist/setup/detect.test.js +44 -0
  255. package/dist/setup/detect.test.js.map +1 -0
  256. package/dist/setup/index.d.ts +2 -0
  257. package/dist/setup/index.js +147 -0
  258. package/dist/setup/index.js.map +1 -0
  259. package/dist/setup/instructions.d.ts +4 -0
  260. package/dist/setup/instructions.js +62 -0
  261. package/dist/setup/instructions.js.map +1 -0
  262. package/dist/setup/instructions.test.d.ts +1 -0
  263. package/dist/setup/instructions.test.js +84 -0
  264. package/dist/setup/instructions.test.js.map +1 -0
  265. package/dist/setup/json-config.d.ts +10 -0
  266. package/dist/setup/json-config.js +43 -0
  267. package/dist/setup/json-config.js.map +1 -0
  268. package/dist/setup/json-config.test.d.ts +1 -0
  269. package/dist/setup/json-config.test.js +92 -0
  270. package/dist/setup/json-config.test.js.map +1 -0
  271. package/dist/setup/postinstall.d.ts +2 -0
  272. package/dist/setup/postinstall.js +22 -0
  273. package/dist/setup/postinstall.js.map +1 -0
  274. package/dist/setup/preuninstall.d.ts +2 -0
  275. package/dist/setup/preuninstall.js +12 -0
  276. package/dist/setup/preuninstall.js.map +1 -0
  277. package/dist/setup/setup-integration.test.d.ts +1 -0
  278. package/dist/setup/setup-integration.test.js +72 -0
  279. package/dist/setup/setup-integration.test.js.map +1 -0
  280. package/dist/setup/teardown.d.ts +5 -0
  281. package/dist/setup/teardown.js +94 -0
  282. package/dist/setup/teardown.js.map +1 -0
  283. package/dist/setup/teardown.test.d.ts +1 -0
  284. package/dist/setup/teardown.test.js +105 -0
  285. package/dist/setup/teardown.test.js.map +1 -0
  286. package/dist/setup/toml-config.d.ts +5 -0
  287. package/dist/setup/toml-config.js +26 -0
  288. package/dist/setup/toml-config.js.map +1 -0
  289. package/dist/setup/toml-config.test.d.ts +1 -0
  290. package/dist/setup/toml-config.test.js +49 -0
  291. package/dist/setup/toml-config.test.js.map +1 -0
  292. package/dist/setup/types.d.ts +52 -0
  293. package/dist/setup/types.js +23 -0
  294. package/dist/setup/types.js.map +1 -0
  295. package/dist/test-helpers.d.ts +20 -0
  296. package/dist/test-helpers.js +47 -0
  297. package/dist/test-helpers.js.map +1 -0
  298. package/dist/test-helpers.test.d.ts +1 -0
  299. package/dist/test-helpers.test.js +90 -0
  300. package/dist/test-helpers.test.js.map +1 -0
  301. package/package.json +74 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,42 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.1.2] - 2026-03-21
11
+
12
+ ### Added
13
+ - **Auto-setup**: `obsidian-mcp-cli setup` and `teardown` commands for multi-client MCP registration
14
+ - Supports 8 AI clients: Claude Code, Claude Desktop, Cursor, OpenCode, Crush CLI, Codex CLI, Gemini CLI, Droid
15
+ - Auto-detects installed clients and configures MCP server entries + behavioral instructions
16
+ - Postinstall script prints detected clients after `npm install`
17
+ - Preuninstall script cleans up configuration on `npm uninstall`
18
+ - `--all`, `--clients`, `--dry-run`, `--force`, `--vault-path` flags for fine-grained control
19
+ - Idempotent setup with marker-based instruction injection and backup-before-write safety
20
+
21
+ ## [0.1.1] - 2026-03-20
22
+
23
+ ### Added
24
+ - Dual CLI and MCP server interface
25
+ - VaultFS for safe filesystem operations
26
+ - Project context management and auto-discovery from CWD
27
+ - Architecture Decision Records (ADRs)
28
+ - Task management with kanban board
29
+ - Learning capture and query
30
+ - Session registry for multi-agent coordination
31
+ - Session resume context for continuing work across sessions
32
+ - Full-text search with ripgrep
33
+ - Brainstorm documents
34
+ - Knowledge graph traversal
35
+ - Content lifecycle management: prune, stats, deprecate
36
+ - Skill installer plugin with full lifecycle management
37
+ - CLI shorthand commands (`r`, `w`, `s`, `c`, `t`, `l`, `sk`)
38
+ - MCP tool annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`)
39
+
40
+ [Unreleased]: https://github.com/gopherine/obsidian-mcp/compare/v0.1.2...HEAD
41
+ [0.1.2]: https://github.com/gopherine/obsidian-mcp/compare/v0.1.1...v0.1.2
42
+ [0.1.1]: https://github.com/gopherine/obsidian-mcp/releases/tag/v0.1.1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ GNU AFFERO GENERAL PUBLIC LICENSE
2
+ Version 3, 19 November 2007
3
+
4
+ Copyright (C) 2026 Permanu (Atharva Pandey)
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+
19
+ --- COMMERCIAL LICENSE ---
20
+
21
+ For commercial licensing options, see LICENSE-COMMERCIAL.md
package/README.md ADDED
@@ -0,0 +1,235 @@
1
+ # obsidian-mcp
2
+
3
+ **Universal Agentic Knowledge Base** — A CLI tool and MCP server backed by an Obsidian vault that serves as shared memory for AI coding tools.
4
+
5
+ [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL%203.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D20.0.0-green.svg)](https://nodejs.org/)
7
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
8
+ [![Release](https://img.shields.io/github/v/release/gopherine/obsidian-mcp)](https://github.com/gopherine/obsidian-mcp/releases)
9
+
10
+ ## Features
11
+
12
+ - **MCP Server** — Works as an MCP server for Claude Desktop, Cursor, OpenCode, and any MCP-compatible client
13
+ - **CLI Tool** — Full CLI interface for manual vault operations
14
+ - **Project Auto-Discovery** — Detects projects from CWD via git root and project-map.json
15
+ - **Knowledge Management** — Tasks, decisions (ADRs), learnings, sessions, brainstorms
16
+ - **Full-Text Search** — Powered by ripgrep
17
+ - **Skill Installer** — Install and manage AI skills from git repos, local files, or URLs
18
+ - **Multi-Agent Coordination** — Session registry for agent swarms
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install -g @gopherine/obsidian-mcp
24
+ ```
25
+
26
+ Or use directly with npx (no install needed):
27
+ ```bash
28
+ npx @gopherine/obsidian-mcp
29
+ ```
30
+
31
+ Or clone and build:
32
+ ```bash
33
+ git clone https://github.com/gopherine/obsidian-mcp.git
34
+ cd obsidian-mcp
35
+ npm install && npm run build
36
+ ```
37
+
38
+ > **Note:** The default binary runs the MCP server. The CLI is available as `obsidian-mcp-cli`.
39
+
40
+ ## Quick Start
41
+
42
+ ```bash
43
+ # MCP server (add to your MCP client config — see below)
44
+ npx @gopherine/obsidian-mcp
45
+
46
+ # CLI tool
47
+ npx @gopherine/obsidian-mcp-cli --help
48
+ ```
49
+
50
+ ## CLI Commands
51
+
52
+ | Shorthand | Full Command | Description |
53
+ |-----------|--------------|-------------|
54
+ | `r` | `read <path>` | Read a vault note |
55
+ | `w` | `write <path>` | Write/create a vault note |
56
+ | `s` | `search <query>` | Search the vault |
57
+ | `c` | `context` | Get project context |
58
+ | `i` | `init <path>` | Initialize project context |
59
+ | `d` | `decide` | Log an architecture decision |
60
+ | `t` | `task` | Manage tasks |
61
+ | `t add` | `task add` | Add a task |
62
+ | `t ls` | `task list` | List tasks |
63
+ | `t b` | `task board` | Show kanban board |
64
+ | `l` | `learn` | Manage learnings |
65
+ | `l add` | `learn add` | Capture a learning |
66
+ | `l ls` | `learn list` | List learnings |
67
+ | `sk i` | `skill install` | Install a skill |
68
+ | `sk ls` | `skill list` | List installed skills |
69
+ | `sk rm` | `skill delete` | Remove a skill |
70
+
71
+ ## MCP Setup
72
+
73
+ ### Claude Code
74
+
75
+ Add to your project's `CLAUDE.md` or run:
76
+ ```bash
77
+ claude mcp add obsidian-mcp -- npx -y @gopherine/obsidian-mcp
78
+ ```
79
+
80
+ Or add to `~/.claude.json`:
81
+ ```json
82
+ {
83
+ "mcpServers": {
84
+ "obsidian-mcp": {
85
+ "command": "npx",
86
+ "args": ["-y", "@gopherine/obsidian-mcp"]
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ Set your vault path:
93
+ ```bash
94
+ claude mcp add obsidian-mcp -e VAULT_PATH=~/Vaults/ai -- npx -y @gopherine/obsidian-mcp
95
+ ```
96
+
97
+ ### Claude Desktop
98
+
99
+ Add to your Claude config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, or `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
100
+
101
+ ```json
102
+ {
103
+ "mcpServers": {
104
+ "obsidian-mcp": {
105
+ "command": "npx",
106
+ "args": ["-y", "@gopherine/obsidian-mcp"],
107
+ "env": {
108
+ "VAULT_PATH": "~/Vaults/ai"
109
+ }
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ ### Cursor
116
+
117
+ Add to your `.cursor/mcp.json`:
118
+
119
+ ```json
120
+ {
121
+ "mcpServers": {
122
+ "obsidian-mcp": {
123
+ "command": "npx",
124
+ "args": ["-y", "@gopherine/obsidian-mcp"]
125
+ }
126
+ }
127
+ }
128
+ ```
129
+
130
+ ### OpenCode
131
+
132
+ Add to your MCP configuration:
133
+
134
+ ```json
135
+ {
136
+ "mcpServers": {
137
+ "obsidian-mcp": {
138
+ "type": "stdio",
139
+ "command": "npx",
140
+ "args": ["-y", "@gopherine/obsidian-mcp"]
141
+ }
142
+ }
143
+ }
144
+ ```
145
+
146
+ ### OpenAI Codex
147
+
148
+ Add to your MCP configuration:
149
+
150
+ ```json
151
+ {
152
+ "mcpServers": {
153
+ "obsidian-mcp": {
154
+ "command": "npx",
155
+ "args": ["-y", "@gopherine/obsidian-mcp"]
156
+ }
157
+ }
158
+ }
159
+ ```
160
+
161
+ ## Configuration
162
+
163
+ | Environment Variable | Default | Description |
164
+ |---------------------|---------|-------------|
165
+ | `VAULT_PATH` | `~/Vaults/ai` | Path to Obsidian vault |
166
+ | `MAX_INJECT_TOKENS` | `1500` | Max tokens for context injection |
167
+ | `SESSION_TTL_HOURS` | `2` | Session heartbeat TTL |
168
+
169
+ ## Vault Structure
170
+
171
+ ```
172
+ ~/Vaults/ai/
173
+ ├── project-map.json # Path → slug mappings
174
+ ├── coordination/
175
+ │ ├── session-registry.json # Active agent sessions
176
+ │ └── locks/ # PID lockfiles
177
+ ├── skills/
178
+ │ ├── installed/ # Installed skills
179
+ │ └── registry.json # Skill metadata
180
+ └── projects/<slug>/
181
+ ├── context.md # Project overview
182
+ ├── decisions/ # Architecture Decision Records
183
+ ├── tasks/ # Task files
184
+ ├── learnings/ # Learning captures
185
+ ├── sessions/ # Session notes
186
+ ├── brainstorms/ # Brainstorm documents
187
+ └── _archive/ # Pruned content
188
+ ```
189
+
190
+ ## MCP Tools
191
+
192
+ | Tool | Description |
193
+ |------|-------------|
194
+ | `vault_read` | Read file or directory |
195
+ | `vault_write` | Write/append/prepend content |
196
+ | `vault_search` | Full-text search |
197
+ | `vault_project_context` | Get project context |
198
+ | `vault_init` | Generate draft context.md |
199
+ | `vault_decide` | Log architecture decision |
200
+ | `vault_task` | Manage tasks (add/list/update/board) |
201
+ | `vault_learn` | Capture/list learnings |
202
+ | `vault_session` | Register/heartbeat/complete sessions |
203
+ | `vault_skill_*` | Skill installer operations |
204
+ | `vault_prune` | Archive/delete stale content |
205
+ | `vault_stats` | Content statistics |
206
+ | `vault_resume` | Resume context for continuing work |
207
+ | `vault_deprecate` | Mark items as deprecated |
208
+
209
+ ## Testing
210
+
211
+ ```bash
212
+ # Run all tests with Vitest
213
+ npm test
214
+
215
+ # Run with coverage (target: 90%+)
216
+ npm run test:coverage
217
+
218
+ # Run specific test file
219
+ npm test src/commands/task.test.ts
220
+
221
+ # Watch mode
222
+ npm run test:watch
223
+ ```
224
+
225
+ Tests use **table-driven pattern** for comprehensive coverage. All test files are `*.test.ts` alongside source files.
226
+
227
+ ## Documentation
228
+
229
+ - [Contributing](./CONTRIBUTING.md)
230
+ - [Code of Conduct](./CODE_OF_CONDUCT.md)
231
+ - [Changelog](./CHANGELOG.md)
232
+
233
+ ## License
234
+
235
+ AGPL-3.0 — See [LICENSE](./LICENSE)
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};