@djolex999/vir-cli 0.3.3 → 0.3.4

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 (2) hide show
  1. package/README.md +65 -42
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -8,27 +8,47 @@
8
8
  Distills Claude Code sessions into a compounding knowledge vault.
9
9
  </p>
10
10
 
11
+ <!--
12
+ GitHub topics (add manually: repo → About → ⚙ → Topics):
13
+ claude, claude-code, ai-memory, obsidian, knowledge-base, llm,
14
+ developer-tools, mcp, local-first, cross-platform
15
+ -->
16
+
11
17
  <p align="center">
12
- <img src="https://img.shields.io/npm/v/@djolex999/vir-cli" alt="npm version">
13
- <img src="https://img.shields.io/badge/license-MIT-blue" alt="license">
14
- <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey" alt="platform">
15
- <img src="https://img.shields.io/badge/node-%3E%3D18-green" alt="node">
18
+ <a href="https://www.npmjs.com/package/@djolex999/vir-cli"><img src="https://img.shields.io/npm/v/@djolex999/vir-cli?color=7c6af7&label=npm" alt="npm version"></a>
19
+ <a href="https://www.npmjs.com/package/@djolex999/vir-cli"><img src="https://img.shields.io/npm/dw/@djolex999/vir-cli?color=4fd1a0" alt="npm downloads"></a>
20
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22d3ee" alt="license"></a>
21
+ <a href="#quality"><img src="https://img.shields.io/badge/tests-25%20passing-22c55e" alt="tests"></a>
22
+ <a href="#quality"><img src="https://img.shields.io/badge/platforms-macOS%20%7C%20Linux-lightgrey" alt="platforms"></a>
23
+ <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-server-c084fc" alt="mcp"></a>
24
+ <a href="#"><img src="https://img.shields.io/badge/local--first-yes-f59e0b" alt="local-first"></a>
25
+ <a href="https://github.com/djolex999/vir"><img src="https://img.shields.io/github/stars/djolex999/vir?style=social" alt="stars"></a>
16
26
  </p>
17
27
 
18
- ## Demo
19
-
20
- <!-- add terminal screenshot here -->
28
+ <p align="center">
29
+ <img src="assets/demo.gif" width="800" alt="vir demo">
30
+ </p>
21
31
 
22
32
  ## What it does
23
33
 
24
34
  Every Claude Code session produces patterns, gotchas, and architecture
25
35
  decisions — and 95% of it sits in JSONL transcripts you never open again.
26
36
 
27
- Vir is a local macOS daemon that runs on a schedule, distills your sessions
28
- into structured markdown in your Obsidian vault, and feeds that knowledge back
29
- into your `CLAUDE.md` files. Every future session starts sharper than the last.
37
+ Vir runs on a schedule, distills your sessions into structured markdown in your
38
+ Obsidian vault, and feeds that knowledge back into your `CLAUDE.md` files. Every
39
+ future session starts sharper than the last.
30
40
 
31
- Inspired by Andrej Karpathy's LLM Wiki pattern and Uros Pesic's KB Brain concept.
41
+ ## How it works
42
+
43
+ Vir reads your Claude Code transcripts from `~/.claude/projects/**/*.jsonl`,
44
+ runs each session through a cheap heuristic filter, then classifies the
45
+ survivors with Haiku and distills durable knowledge with Sonnet. The results are
46
+ written as typed notes (patterns, gotchas, decisions, tools) into your Obsidian
47
+ vault, cross-linked with wikilinks and indexed. State lives in a local SQLite
48
+ database — content hashes make reruns idempotent, and embeddings (optional, via
49
+ Ollama) power semantic search. An MCP server exposes the whole vault to Claude
50
+ Code as queryable tools, so future sessions can consult what past sessions
51
+ learned.
32
52
 
33
53
  ## Why Vir?
34
54
 
@@ -103,21 +123,6 @@ sources 4 · via embedding · searched 126
103
123
  - Anthropic API key **or** Kie.ai API key (~72% cheaper, same models)
104
124
  - Optional: Ollama + `nomic-embed-text` for semantic search
105
125
 
106
- ## Platform support
107
-
108
- | Platform | Daemon | Notifications | Status |
109
- |---|---|---|---|
110
- | macOS | launchd | osascript | Stable |
111
- | Linux (systemd) | systemd user timer | notify-send | Experimental |
112
- | Linux (cron) | crontab | notify-send | Experimental |
113
- | Windows | Not supported | — | Planned |
114
-
115
- Linux support is **experimental and untested** — `vir schedule install` prefers
116
- a systemd user timer and falls back to a crontab entry when systemd is absent.
117
- Please report issues at
118
- [github.com/djolex999/vir/issues](https://github.com/djolex999/vir/issues)
119
- with your distro, init system, and Node version.
120
-
121
126
  ## Install
122
127
 
123
128
  ```bash
@@ -127,16 +132,9 @@ npm install -g @djolex999/vir-cli
127
132
  ## Quick start
128
133
 
129
134
  ```bash
130
- vir init
131
- # guided setup wizard pick provider, models, vault path, cadence
132
- # writes ~/.vir/config.json
133
-
134
- vir run
135
- # scanning ~/.claude/projects … 214 files found · 0 cached · 214 new
136
- # ✓ distilled 38 sessions → 51 notes written to your vault
137
-
138
- vir schedule install
139
- # ✓ launchd agent registered — vir now runs every 3h
135
+ vir init # guided wizard: provider, models, vault, cadence
136
+ vir run # one pass over your sessions notes in your vault
137
+ vir schedule install # register the daemon (runs every 3h by default)
140
138
  ```
141
139
 
142
140
  `vir schedule install` works on Linux too: systemd is preferred, with cron used
@@ -158,6 +156,21 @@ All subsequent runs process only new sessions: ~$0.05 per run.
158
156
 
159
157
  Pass `--yes` to skip the cost confirmation prompt.
160
158
 
159
+ ## Platform support
160
+
161
+ | Platform | Daemon | Notifications | Status |
162
+ |---|---|---|---|
163
+ | macOS | launchd | osascript | Stable |
164
+ | Linux (systemd) | systemd user timer | notify-send | Experimental |
165
+ | Linux (cron) | crontab | notify-send | Experimental |
166
+ | Windows | Not supported | — | Planned |
167
+
168
+ Linux support is **experimental and untested** — `vir schedule install` prefers
169
+ a systemd user timer and falls back to a crontab entry when systemd is absent.
170
+ Please report issues at
171
+ [github.com/djolex999/vir/issues](https://github.com/djolex999/vir/issues)
172
+ with your distro, init system, and Node version.
173
+
161
174
  ## Commands
162
175
 
163
176
  | Command | Cost | Description |
@@ -185,6 +198,16 @@ Pass `--yes` to skip the cost confirmation prompt.
185
198
  | `vir status` | free | Knowledge heatmap + daemon status |
186
199
  | `vir doctor` | cheap | Diagnose installation issues |
187
200
 
201
+ ## Quality
202
+
203
+ | | |
204
+ |---|---|
205
+ | Tests | 25 passing |
206
+ | Platforms | macOS (launchd), Linux (systemd/cron) |
207
+ | Node | 18+ |
208
+ | First-run cost | $1–5 (Kie.ai recommended for 72% savings) |
209
+ | Ongoing cost | ~$0.05 per run |
210
+
188
211
  ## Semantic search (optional)
189
212
 
190
213
  Vir uses TF-IDF by default. For semantic search via embeddings:
@@ -286,9 +309,9 @@ vault/vir/
286
309
  ## Contributing
287
310
 
288
311
  PRs welcome. Open an issue first for large changes. Built with TypeScript
289
- strict — run `npm run build` to check before submitting.
290
-
291
- ## Development
312
+ strict — run `npm run build` to check before submitting. See
313
+ [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and how to regenerate
314
+ the demo GIF.
292
315
 
293
316
  ```bash
294
317
  git clone https://github.com/djolex999/vir
@@ -298,15 +321,15 @@ npm run build
298
321
  npm test
299
322
  ```
300
323
 
301
- Tests use Vitest. Run with `npm test` or `npm test -- --watch` for watch mode.
302
-
303
324
  ## License
304
325
 
305
326
  MIT
306
327
 
307
328
  ## Author
308
329
 
309
- Built by Djordje Marković / GrowthQ Lab DOO
330
+ Built by Djordje Marković / GrowthQ Lab DOO.
331
+
332
+ Inspired by Andrej Karpathy's LLM Wiki pattern and Uros Pesic's KB Brain concept.
310
333
 
311
334
  [GitHub](https://github.com/djolex999) ·
312
335
  [LinkedIn](https://www.linkedin.com/in/djmarkovic/) ·
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djolex999/vir-cli",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Distills Claude Code sessions into a compounding knowledge vault",
5
5
  "author": "Djordje Marković <djordje@growthq.rs>",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "files": [
28
28
  "dist",
29
- "assets",
29
+ "assets/vir_whirlpool_logo.svg",
30
30
  "README.md",
31
31
  "LICENSE"
32
32
  ],