@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.
- package/README.md +65 -42
- 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/
|
|
14
|
-
<img src="https://img.shields.io/badge/
|
|
15
|
-
<img src="https://img.shields.io/badge/
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
132
|
-
#
|
|
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
|
-
|
|
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
|
+
"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
|
],
|