oh-my-til 1.0.0 → 1.0.1

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/README.ko.md CHANGED
@@ -101,15 +101,6 @@ ELECTRON_VERSION=37.10.2 npx oh-my-til init /path/to/your/vault
101
101
 
102
102
  > Electron 버전 확인: Obsidian 개발자 도구(Ctrl+Shift+I)에서 `process.versions.electron` 실행
103
103
 
104
- #### Claude Code로 설치
105
-
106
- ```bash
107
- git clone https://github.com/SongYunSeop/oh-my-til.git
108
- cd oh-my-til
109
- claude
110
- # 실행 후: /install-plugin /path/to/your/vault
111
- ```
112
-
113
104
  #### 수동 설치 (소스에서)
114
105
 
115
106
  ```bash
@@ -171,6 +162,9 @@ MCP 서버 연결 시 Claude Code에서 사용할 수 있는 도구:
171
162
  | **backlog** | `/backlog [카테고리]` | 학습 백로그 조회 및 진행 상황 요약 |
172
163
  | **save** | *(/til에서 자동 호출)* | TIL 마크다운 저장 + Daily 노트, MOC, 백로그 연동 |
173
164
  | **til-review** | `/til-review [카테고리]` | SRS 기반 간격 반복 복습 세션 (SM-2 알고리즘) |
165
+ | **dashboard** | `/dashboard` | 학습 대시보드 — 통계, 활동 히트맵, 카테고리, 백로그 진행률 |
166
+ | **omt-setup** | `/omt-setup [서브커맨드]` | 통합 설정 — init, deploy, oh-my-til 관리 |
167
+ | **setup-obsidian** | `/setup-obsidian` | 현재 vault에 Obsidian 데스크톱 플러그인 설치 |
174
168
 
175
169
  ## 개발
176
170
 
@@ -191,7 +185,7 @@ src/
191
185
  │ ├── context.ts # 학습 컨텍스트 헬퍼 (순수 함수)
192
186
  │ ├── stats.ts # TIL 통계 순수 함수
193
187
  │ ├── srs.ts # SRS 간격 반복 (SM-2 알고리즘, 복습 카드/통계)
194
- │ ├── migrate-links.ts # Wikilink [[]] → [](path) 변환
188
+ │ ├── migrate-links.ts # Wikilink [[]] → [](path) 변환 (내부 유틸리티)
195
189
  │ ├── keyboard.ts # Shift+Enter → \n (멀티라인 지원)
196
190
  │ ├── env.ts # macOS PATH 보정 (Homebrew)
197
191
  │ ├── skills.ts # 버전 비교/플레이스홀더 치환 순수 함수
@@ -212,7 +206,7 @@ src/
212
206
  │ └── tools.ts # MCP 도구 정의 (FileStorage + MetadataProvider 사용)
213
207
  ├── plugin-install.ts # 플러그인 에셋 자동 설치/업데이트 (skills, agents, CLAUDE.md 섹션)
214
208
  ├── cli/ # 독립 CLI 진입점
215
- │ ├── index.ts # npx oh-my-til init / serve / deploy
209
+ │ ├── index.ts # npx oh-my-til init / serve / mcp / install-obsidian / deploy
216
210
  │ └── obsidian-install.ts # Obsidian 플러그인 자동 설치 (Electron 감지, node-pty 재빌드)
217
211
  └── obsidian/ # Obsidian 플랫폼 어댑터
218
212
  ├── main.ts # 플러그인 진입점
package/README.md CHANGED
@@ -101,15 +101,6 @@ ELECTRON_VERSION=37.10.2 npx oh-my-til init /path/to/your/vault
101
101
 
102
102
  > To find your Electron version, open Obsidian's Developer Tools (Ctrl+Shift+I) and run `process.versions.electron`.
103
103
 
104
- #### Using Claude Code
105
-
106
- ```bash
107
- git clone https://github.com/SongYunSeop/oh-my-til.git
108
- cd oh-my-til
109
- claude
110
- # Then run: /install-plugin /path/to/your/vault
111
- ```
112
-
113
104
  #### Manual Installation (from source)
114
105
 
115
106
  ```bash
@@ -171,6 +162,9 @@ The plugin auto-installs these skills to `.claude/skills/`:
171
162
  | **backlog** | `/backlog [category]` | View learning backlog and progress |
172
163
  | **save** | *(auto-invoked by /til)* | Save TIL markdown with Daily note, MOC, and backlog updates |
173
164
  | **til-review** | `/til-review [category]` | SRS-based spaced repetition review session (SM-2 algorithm) |
165
+ | **dashboard** | `/dashboard` | Learning dashboard — stats, activity heatmap, categories, backlog progress |
166
+ | **omt-setup** | `/omt-setup [subcommand]` | Unified setup — init, deploy, and manage oh-my-til |
167
+ | **setup-obsidian** | `/setup-obsidian` | Install the Obsidian desktop plugin in the current vault |
174
168
 
175
169
  ## Development
176
170
 
@@ -191,7 +185,7 @@ src/
191
185
  │ ├── context.ts # Learning context helpers (pure functions)
192
186
  │ ├── stats.ts # TIL statistics (pure functions)
193
187
  │ ├── srs.ts # Spaced repetition (SM-2 algorithm, review cards/stats)
194
- │ ├── migrate-links.ts # Wikilink [[]] → [](path) conversion
188
+ │ ├── migrate-links.ts # Wikilink [[]] → [](path) conversion (internal utility)
195
189
  │ ├── keyboard.ts # Shift+Enter → \n (multiline support)
196
190
  │ ├── env.ts # macOS PATH resolution (Homebrew)
197
191
  │ ├── skills.ts # Version comparison / placeholder substitution
@@ -212,7 +206,7 @@ src/
212
206
  │ └── tools.ts # MCP tool definitions (FileStorage + MetadataProvider)
213
207
  ├── plugin-install.ts # Plugin asset auto-install/update (skills, agents, CLAUDE.md section)
214
208
  ├── cli/ # Standalone CLI entry point
215
- │ ├── index.ts # npx oh-my-til init / serve / deploy
209
+ │ ├── index.ts # npx oh-my-til init / serve / mcp / install-obsidian / deploy
216
210
  │ └── obsidian-install.ts # Auto-install Obsidian plugin (Electron detection, node-pty rebuild)
217
211
  └── obsidian/ # Obsidian platform adapter
218
212
  ├── main.ts # Plugin entry point
package/dist/cli.js CHANGED
@@ -41269,6 +41269,7 @@ Usage:
41269
41269
  oh-my-til init [<path>] [options] Install skills, rules, and CLAUDE.md
41270
41270
  oh-my-til serve [<path>] [options] Start MCP server (HTTP)
41271
41271
  oh-my-til mcp [<path>] [options] Start MCP server (stdio)
41272
+ oh-my-til install-obsidian [<path>] Install Obsidian desktop plugin only
41272
41273
  oh-my-til deploy [<path>] [options] Generate static site from TIL files
41273
41274
  oh-my-til version Print version
41274
41275
 
@@ -41400,6 +41401,31 @@ To start MCP server: oh-my-til serve ${basePath}`);
41400
41401
  console.log(`MCP server running on http://localhost:${port}/mcp`);
41401
41402
  console.log(`TIL path: ${tilPath}`);
41402
41403
  console.log("Press Ctrl+C to stop");
41404
+ } else if (command === "install-obsidian") {
41405
+ const obsidianDir = path5.join(basePath, ".obsidian");
41406
+ if (!fs4.existsSync(obsidianDir)) {
41407
+ console.error("No .obsidian/ folder found. Run this command inside an Obsidian vault.");
41408
+ process.exit(1);
41409
+ }
41410
+ console.log("Installing Obsidian plugin...");
41411
+ const packageRoot = path5.resolve(__dirname, "..");
41412
+ const result = installObsidianPlugin(basePath, packageRoot);
41413
+ if (result.success) {
41414
+ console.log(`Plugin installed: ${result.pluginDir}`);
41415
+ if (result.rebuilt) {
41416
+ console.log("node-pty rebuilt for Electron.");
41417
+ }
41418
+ for (const w of result.warnings) {
41419
+ console.warn(`Warning: ${w}`);
41420
+ }
41421
+ console.log("Restart Obsidian or reload the plugin to activate.");
41422
+ } else {
41423
+ console.error("Plugin installation failed:");
41424
+ for (const w of result.warnings) {
41425
+ console.error(` ${w}`);
41426
+ }
41427
+ process.exit(1);
41428
+ }
41403
41429
  } else if (command === "deploy") {
41404
41430
  const { loadOmtConfig: loadOmtConfig2 } = await Promise.resolve().then(() => (init_config(), config_exports));
41405
41431
  const omtConfig = loadOmtConfig2(basePath);
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "oh-my-til",
3
3
  "name": "Oh My TIL",
4
- "version": "1.0.0",
4
+ "version": "1.0.1",
5
5
  "minAppVersion": "1.5.0",
6
6
  "description": "Embedded Claude Code terminal for TIL learning workflows",
7
7
  "author": "SongYunSeop",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-til",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Oh My TIL — Claude Code plugin for TIL learning workflow, with Obsidian integration",
5
5
  "main": "main.js",
6
6
  "bin": {