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.
- package/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +235 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +1158 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/brainstorm.d.ts +9 -0
- package/dist/commands/brainstorm.js +37 -0
- package/dist/commands/brainstorm.js.map +1 -0
- package/dist/commands/brainstorm.test.d.ts +1 -0
- package/dist/commands/brainstorm.test.js +110 -0
- package/dist/commands/brainstorm.test.js.map +1 -0
- package/dist/commands/context.d.ts +18 -0
- package/dist/commands/context.js +88 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/context.test.d.ts +1 -0
- package/dist/commands/context.test.js +230 -0
- package/dist/commands/context.test.js.map +1 -0
- package/dist/commands/decide.d.ts +12 -0
- package/dist/commands/decide.js +40 -0
- package/dist/commands/decide.js.map +1 -0
- package/dist/commands/decide.test.d.ts +1 -0
- package/dist/commands/decide.test.js +109 -0
- package/dist/commands/decide.test.js.map +1 -0
- package/dist/commands/graph.d.ts +15 -0
- package/dist/commands/graph.js +89 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/graph.test.d.ts +1 -0
- package/dist/commands/graph.test.js +215 -0
- package/dist/commands/graph.test.js.map +1 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.js +257 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/learn.d.ts +25 -0
- package/dist/commands/learn.js +92 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/learn.test.d.ts +1 -0
- package/dist/commands/learn.test.js +241 -0
- package/dist/commands/learn.test.js.map +1 -0
- package/dist/commands/prune.d.ts +58 -0
- package/dist/commands/prune.js +246 -0
- package/dist/commands/prune.js.map +1 -0
- package/dist/commands/read.d.ts +8 -0
- package/dist/commands/read.js +7 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/read.test.d.ts +1 -0
- package/dist/commands/read.test.js +48 -0
- package/dist/commands/read.test.js.map +1 -0
- package/dist/commands/resume.d.ts +20 -0
- package/dist/commands/resume.js +141 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/resume.test.d.ts +1 -0
- package/dist/commands/resume.test.js +243 -0
- package/dist/commands/resume.test.js.map +1 -0
- package/dist/commands/search.d.ts +8 -0
- package/dist/commands/search.js +25 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/search.test.d.ts +1 -0
- package/dist/commands/search.test.js +61 -0
- package/dist/commands/search.test.js.map +1 -0
- package/dist/commands/session.d.ts +22 -0
- package/dist/commands/session.js +79 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/session.test.d.ts +1 -0
- package/dist/commands/session.test.js +231 -0
- package/dist/commands/session.test.js.map +1 -0
- package/dist/commands/skill/catalog.d.ts +39 -0
- package/dist/commands/skill/catalog.js +260 -0
- package/dist/commands/skill/catalog.js.map +1 -0
- package/dist/commands/skill/index.d.ts +55 -0
- package/dist/commands/skill/index.js +82 -0
- package/dist/commands/skill/index.js.map +1 -0
- package/dist/commands/skill/index.test.d.ts +1 -0
- package/dist/commands/skill/index.test.js +137 -0
- package/dist/commands/skill/index.test.js.map +1 -0
- package/dist/commands/skill/install.d.ts +14 -0
- package/dist/commands/skill/install.js +108 -0
- package/dist/commands/skill/install.js.map +1 -0
- package/dist/commands/skill/install.test.d.ts +1 -0
- package/dist/commands/skill/install.test.js +225 -0
- package/dist/commands/skill/install.test.js.map +1 -0
- package/dist/commands/skill/list.d.ts +6 -0
- package/dist/commands/skill/list.js +5 -0
- package/dist/commands/skill/list.js.map +1 -0
- package/dist/commands/skill/list.test.d.ts +1 -0
- package/dist/commands/skill/list.test.js +101 -0
- package/dist/commands/skill/list.test.js.map +1 -0
- package/dist/commands/skill/marketplace.d.ts +121 -0
- package/dist/commands/skill/marketplace.js +548 -0
- package/dist/commands/skill/marketplace.js.map +1 -0
- package/dist/commands/skill/schema.d.ts +27 -0
- package/dist/commands/skill/schema.js +55 -0
- package/dist/commands/skill/schema.js.map +1 -0
- package/dist/commands/skill/schema.test.d.ts +1 -0
- package/dist/commands/skill/schema.test.js +142 -0
- package/dist/commands/skill/schema.test.js.map +1 -0
- package/dist/commands/skill/validate.d.ts +10 -0
- package/dist/commands/skill/validate.js +40 -0
- package/dist/commands/skill/validate.js.map +1 -0
- package/dist/commands/skill/validate.test.d.ts +1 -0
- package/dist/commands/skill/validate.test.js +171 -0
- package/dist/commands/skill/validate.test.js.map +1 -0
- package/dist/commands/task.d.ts +34 -0
- package/dist/commands/task.js +160 -0
- package/dist/commands/task.js.map +1 -0
- package/dist/commands/task.test.d.ts +1 -0
- package/dist/commands/task.test.js +395 -0
- package/dist/commands/task.test.js.map +1 -0
- package/dist/commands/todo.d.ts +15 -0
- package/dist/commands/todo.js +99 -0
- package/dist/commands/todo.js.map +1 -0
- package/dist/commands/todo.test.d.ts +1 -0
- package/dist/commands/todo.test.js +324 -0
- package/dist/commands/todo.test.js.map +1 -0
- package/dist/commands/write.d.ts +12 -0
- package/dist/commands/write.js +40 -0
- package/dist/commands/write.js.map +1 -0
- package/dist/commands/write.test.d.ts +1 -0
- package/dist/commands/write.test.js +79 -0
- package/dist/commands/write.test.js.map +1 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.js +49 -0
- package/dist/config.js.map +1 -0
- package/dist/config.test.d.ts +1 -0
- package/dist/config.test.js +147 -0
- package/dist/config.test.js.map +1 -0
- package/dist/core/executor.d.ts +11 -0
- package/dist/core/executor.js +42 -0
- package/dist/core/executor.js.map +1 -0
- package/dist/core/executor.test.d.ts +1 -0
- package/dist/core/executor.test.js +206 -0
- package/dist/core/executor.test.js.map +1 -0
- package/dist/core/middleware/error-handler.d.ts +2 -0
- package/dist/core/middleware/error-handler.js +29 -0
- package/dist/core/middleware/error-handler.js.map +1 -0
- package/dist/core/middleware/index.d.ts +2 -0
- package/dist/core/middleware/index.js +3 -0
- package/dist/core/middleware/index.js.map +1 -0
- package/dist/core/middleware/logging.d.ts +2 -0
- package/dist/core/middleware/logging.js +18 -0
- package/dist/core/middleware/logging.js.map +1 -0
- package/dist/core/registry.d.ts +12 -0
- package/dist/core/registry.js +552 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/registry.test.d.ts +1 -0
- package/dist/core/registry.test.js +213 -0
- package/dist/core/registry.test.js.map +1 -0
- package/dist/core/types.d.ts +38 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/integration/coordination.test.d.ts +1 -0
- package/dist/integration/coordination.test.js +286 -0
- package/dist/integration/coordination.test.js.map +1 -0
- package/dist/integration/project-artifacts.test.d.ts +1 -0
- package/dist/integration/project-artifacts.test.js +275 -0
- package/dist/integration/project-artifacts.test.js.map +1 -0
- package/dist/integration/registry-graph.test.d.ts +1 -0
- package/dist/integration/registry-graph.test.js +157 -0
- package/dist/integration/registry-graph.test.js.map +1 -0
- package/dist/integration/vault-lifecycle.test.d.ts +1 -0
- package/dist/integration/vault-lifecycle.test.js +183 -0
- package/dist/integration/vault-lifecycle.test.js.map +1 -0
- package/dist/lib/auto-number.d.ts +10 -0
- package/dist/lib/auto-number.js +33 -0
- package/dist/lib/auto-number.js.map +1 -0
- package/dist/lib/auto-number.test.d.ts +1 -0
- package/dist/lib/auto-number.test.js +88 -0
- package/dist/lib/auto-number.test.js.map +1 -0
- package/dist/lib/auto-profile.d.ts +11 -0
- package/dist/lib/auto-profile.js +123 -0
- package/dist/lib/auto-profile.js.map +1 -0
- package/dist/lib/auto-profile.test.d.ts +1 -0
- package/dist/lib/auto-profile.test.js +227 -0
- package/dist/lib/auto-profile.test.js.map +1 -0
- package/dist/lib/escape-regex.d.ts +4 -0
- package/dist/lib/escape-regex.js +8 -0
- package/dist/lib/escape-regex.js.map +1 -0
- package/dist/lib/escape-regex.test.d.ts +1 -0
- package/dist/lib/escape-regex.test.js +27 -0
- package/dist/lib/escape-regex.test.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +34 -0
- package/dist/lib/frontmatter.js +75 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/frontmatter.test.d.ts +1 -0
- package/dist/lib/frontmatter.test.js +192 -0
- package/dist/lib/frontmatter.test.js.map +1 -0
- package/dist/lib/project-detector.d.ts +12 -0
- package/dist/lib/project-detector.js +124 -0
- package/dist/lib/project-detector.js.map +1 -0
- package/dist/lib/project-detector.test.d.ts +1 -0
- package/dist/lib/project-detector.test.js +117 -0
- package/dist/lib/project-detector.test.js.map +1 -0
- package/dist/lib/safe-external-path.d.ts +10 -0
- package/dist/lib/safe-external-path.js +47 -0
- package/dist/lib/safe-external-path.js.map +1 -0
- package/dist/lib/safe-external-path.test.d.ts +1 -0
- package/dist/lib/safe-external-path.test.js +99 -0
- package/dist/lib/safe-external-path.test.js.map +1 -0
- package/dist/lib/search-engine.d.ts +19 -0
- package/dist/lib/search-engine.js +164 -0
- package/dist/lib/search-engine.js.map +1 -0
- package/dist/lib/search-engine.test.d.ts +1 -0
- package/dist/lib/search-engine.test.js +120 -0
- package/dist/lib/search-engine.test.js.map +1 -0
- package/dist/lib/session-registry.d.ts +59 -0
- package/dist/lib/session-registry.js +231 -0
- package/dist/lib/session-registry.js.map +1 -0
- package/dist/lib/session-registry.test.d.ts +1 -0
- package/dist/lib/session-registry.test.js +199 -0
- package/dist/lib/session-registry.test.js.map +1 -0
- package/dist/lib/skill-registry.d.ts +13 -0
- package/dist/lib/skill-registry.js +77 -0
- package/dist/lib/skill-registry.js.map +1 -0
- package/dist/lib/stack-detector.d.ts +7 -0
- package/dist/lib/stack-detector.js +184 -0
- package/dist/lib/stack-detector.js.map +1 -0
- package/dist/lib/stack-detector.test.d.ts +1 -0
- package/dist/lib/stack-detector.test.js +110 -0
- package/dist/lib/stack-detector.test.js.map +1 -0
- package/dist/lib/token-estimator.d.ts +19 -0
- package/dist/lib/token-estimator.js +59 -0
- package/dist/lib/token-estimator.js.map +1 -0
- package/dist/lib/token-estimator.test.d.ts +1 -0
- package/dist/lib/token-estimator.test.js +65 -0
- package/dist/lib/token-estimator.test.js.map +1 -0
- package/dist/lib/tool-detector.d.ts +8 -0
- package/dist/lib/tool-detector.js +76 -0
- package/dist/lib/tool-detector.js.map +1 -0
- package/dist/lib/tool-detector.test.d.ts +1 -0
- package/dist/lib/tool-detector.test.js +170 -0
- package/dist/lib/tool-detector.test.js.map +1 -0
- package/dist/lib/vault-fs.d.ts +39 -0
- package/dist/lib/vault-fs.js +184 -0
- package/dist/lib/vault-fs.js.map +1 -0
- package/dist/lib/vault-fs.test.d.ts +1 -0
- package/dist/lib/vault-fs.test.js +210 -0
- package/dist/lib/vault-fs.test.js.map +1 -0
- package/dist/mcp-server.d.ts +2 -0
- package/dist/mcp-server.js +387 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/setup/clients.d.ts +2 -0
- package/dist/setup/clients.js +109 -0
- package/dist/setup/clients.js.map +1 -0
- package/dist/setup/configure.d.ts +6 -0
- package/dist/setup/configure.js +126 -0
- package/dist/setup/configure.js.map +1 -0
- package/dist/setup/configure.test.d.ts +1 -0
- package/dist/setup/configure.test.js +112 -0
- package/dist/setup/configure.test.js.map +1 -0
- package/dist/setup/detect.d.ts +3 -0
- package/dist/setup/detect.js +24 -0
- package/dist/setup/detect.js.map +1 -0
- package/dist/setup/detect.test.d.ts +1 -0
- package/dist/setup/detect.test.js +44 -0
- package/dist/setup/detect.test.js.map +1 -0
- package/dist/setup/index.d.ts +2 -0
- package/dist/setup/index.js +147 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/instructions.d.ts +4 -0
- package/dist/setup/instructions.js +62 -0
- package/dist/setup/instructions.js.map +1 -0
- package/dist/setup/instructions.test.d.ts +1 -0
- package/dist/setup/instructions.test.js +84 -0
- package/dist/setup/instructions.test.js.map +1 -0
- package/dist/setup/json-config.d.ts +10 -0
- package/dist/setup/json-config.js +43 -0
- package/dist/setup/json-config.js.map +1 -0
- package/dist/setup/json-config.test.d.ts +1 -0
- package/dist/setup/json-config.test.js +92 -0
- package/dist/setup/json-config.test.js.map +1 -0
- package/dist/setup/postinstall.d.ts +2 -0
- package/dist/setup/postinstall.js +22 -0
- package/dist/setup/postinstall.js.map +1 -0
- package/dist/setup/preuninstall.d.ts +2 -0
- package/dist/setup/preuninstall.js +12 -0
- package/dist/setup/preuninstall.js.map +1 -0
- package/dist/setup/setup-integration.test.d.ts +1 -0
- package/dist/setup/setup-integration.test.js +72 -0
- package/dist/setup/setup-integration.test.js.map +1 -0
- package/dist/setup/teardown.d.ts +5 -0
- package/dist/setup/teardown.js +94 -0
- package/dist/setup/teardown.js.map +1 -0
- package/dist/setup/teardown.test.d.ts +1 -0
- package/dist/setup/teardown.test.js +105 -0
- package/dist/setup/teardown.test.js.map +1 -0
- package/dist/setup/toml-config.d.ts +5 -0
- package/dist/setup/toml-config.js +26 -0
- package/dist/setup/toml-config.js.map +1 -0
- package/dist/setup/toml-config.test.d.ts +1 -0
- package/dist/setup/toml-config.test.js +49 -0
- package/dist/setup/toml-config.test.js.map +1 -0
- package/dist/setup/types.d.ts +52 -0
- package/dist/setup/types.js +23 -0
- package/dist/setup/types.js.map +1 -0
- package/dist/test-helpers.d.ts +20 -0
- package/dist/test-helpers.js +47 -0
- package/dist/test-helpers.js.map +1 -0
- package/dist/test-helpers.test.d.ts +1 -0
- package/dist/test-helpers.test.js +90 -0
- package/dist/test-helpers.test.js.map +1 -0
- 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
|
+
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
6
|
+
[](https://nodejs.org/)
|
|
7
|
+
[](https://www.typescriptlang.org/)
|
|
8
|
+
[](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