@voidwire/lore 1.8.6 → 2.0.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/cli.ts +59 -1
- package/lib/config.ts +26 -18
- package/lib/db.ts +19 -19
- package/lib/embed.ts +142 -0
- package/lib/importers/apple-podcasts.ts +98 -0
- package/lib/importers/goodreads.ts +79 -0
- package/lib/importers/letterboxd.ts +70 -0
- package/lib/importers/podcasts.ts +151 -0
- package/lib/indexers/blogs.ts +2 -1
- package/lib/indexers/personal.ts +5 -17
- package/lib/init.ts +254 -0
- package/lib/utils.ts +65 -0
- package/package.json +5 -6
- package/LICENSE +0 -21
- package/README.md +0 -173
package/README.md
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
# lore
|
|
2
|
-
|
|
3
|
-
Unified knowledge CLI — search, list, and capture your indexed knowledge fabric.
|
|
4
|
-
|
|
5
|
-
## Philosophy
|
|
6
|
-
|
|
7
|
-
- **Unified** — Single entry point for all knowledge operations
|
|
8
|
-
- **Library-first** — Import functions directly, CLI is a thin wrapper
|
|
9
|
-
- **Composable** — JSON output pipes to jq, grep, other Unix tools
|
|
10
|
-
- **Zero duplication** — Re-exports from lore-search and lore-capture
|
|
11
|
-
|
|
12
|
-
## Installation
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
cd llmcli-tools/packages/lore
|
|
16
|
-
bun link
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## CLI Usage
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
lore search <query> # Search all sources
|
|
23
|
-
lore search <source> <query> # Search specific source
|
|
24
|
-
lore search --sources # List indexed sources
|
|
25
|
-
|
|
26
|
-
lore list <domain> # List domain entries
|
|
27
|
-
lore list --domains # List available domains
|
|
28
|
-
|
|
29
|
-
lore capture task|knowledge|note # Capture knowledge
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Search Options
|
|
33
|
-
|
|
34
|
-
- `--limit <n>` — Maximum results (default: 20)
|
|
35
|
-
- `--since <date>` — Filter by date (today, yesterday, this-week, YYYY-MM-DD)
|
|
36
|
-
- `--sources` — List indexed sources with counts
|
|
37
|
-
|
|
38
|
-
### Passthrough Sources
|
|
39
|
-
|
|
40
|
-
Some sources query external services rather than the local index:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
lore search prismis "kubernetes security" # Semantic search via prismis
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
| Source | Description | Requires |
|
|
47
|
-
|--------|-------------|----------|
|
|
48
|
-
| `prismis` | Semantic search across saved articles | prismis-daemon running |
|
|
49
|
-
|
|
50
|
-
Passthrough sources appear in `lore search --sources` with `type: "passthrough"`.
|
|
51
|
-
|
|
52
|
-
### List Options
|
|
53
|
-
|
|
54
|
-
- `--limit <n>` — Maximum entries
|
|
55
|
-
- `--format <fmt>` — Output format: json (default), jsonl, human
|
|
56
|
-
- `--domains` — List available domains
|
|
57
|
-
|
|
58
|
-
### Capture Types
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# Task completion
|
|
62
|
-
lore capture task --project=myproject --name="Task name" \
|
|
63
|
-
--problem="What was solved" --solution="How it was solved"
|
|
64
|
-
|
|
65
|
-
# Knowledge insight
|
|
66
|
-
lore capture knowledge --context=myproject \
|
|
67
|
-
--text="Insight learned" --type=learning
|
|
68
|
-
|
|
69
|
-
# Quick note
|
|
70
|
-
lore capture note --text="Remember this" --tags=tag1,tag2
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Library Usage
|
|
74
|
-
|
|
75
|
-
The real power is programmatic access:
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
import {
|
|
79
|
-
// Search (from lore-search)
|
|
80
|
-
search,
|
|
81
|
-
listSources,
|
|
82
|
-
type SearchResult,
|
|
83
|
-
type SearchOptions,
|
|
84
|
-
|
|
85
|
-
// List (local)
|
|
86
|
-
list,
|
|
87
|
-
listDomains,
|
|
88
|
-
DOMAINS,
|
|
89
|
-
type Domain,
|
|
90
|
-
type ListResult,
|
|
91
|
-
|
|
92
|
-
// Capture (from lore-capture)
|
|
93
|
-
captureKnowledge,
|
|
94
|
-
captureTask,
|
|
95
|
-
captureNote,
|
|
96
|
-
type KnowledgeInput,
|
|
97
|
-
type TaskInput,
|
|
98
|
-
type NoteInput,
|
|
99
|
-
} from "lore";
|
|
100
|
-
|
|
101
|
-
// Search
|
|
102
|
-
const results = search("authentication", { limit: 10 });
|
|
103
|
-
|
|
104
|
-
// List
|
|
105
|
-
const devProjects = list("development");
|
|
106
|
-
|
|
107
|
-
// Capture
|
|
108
|
-
captureKnowledge({
|
|
109
|
-
context: "myproject",
|
|
110
|
-
text: "Important insight",
|
|
111
|
-
type: "learning",
|
|
112
|
-
});
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Domains
|
|
116
|
-
|
|
117
|
-
15 domains available for `lore list`:
|
|
118
|
-
|
|
119
|
-
| Domain | Description |
|
|
120
|
-
|--------|-------------|
|
|
121
|
-
| development | Development projects |
|
|
122
|
-
| tasks | Flux tasks and ideas |
|
|
123
|
-
| events | Events by project |
|
|
124
|
-
| blogs | Blog posts |
|
|
125
|
-
| commits | Git commits |
|
|
126
|
-
| explorations | Project explorations |
|
|
127
|
-
| readmes | Project READMEs |
|
|
128
|
-
| obsidian | Obsidian vault notes |
|
|
129
|
-
| captures | Quick captures |
|
|
130
|
-
| books | Books read |
|
|
131
|
-
| movies | Movies watched |
|
|
132
|
-
| podcasts | Podcast subscriptions |
|
|
133
|
-
| interests | Personal interests |
|
|
134
|
-
| people | People and relationships |
|
|
135
|
-
| habits | Habit tracking |
|
|
136
|
-
|
|
137
|
-
## Knowledge Types
|
|
138
|
-
|
|
139
|
-
For `lore capture knowledge --type`:
|
|
140
|
-
|
|
141
|
-
- `decision` — Architectural or design decisions
|
|
142
|
-
- `learning` — Something learned during work
|
|
143
|
-
- `gotcha` — Pitfall or gotcha to remember
|
|
144
|
-
- `preference` — User preference discovered
|
|
145
|
-
- `project` — Project-level insight
|
|
146
|
-
- `conversation` — Insight from conversation
|
|
147
|
-
- `knowledge` — General knowledge
|
|
148
|
-
|
|
149
|
-
## Architecture
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
lore/
|
|
153
|
-
├── index.ts # Re-exports from lib/
|
|
154
|
-
├── cli.ts # Unified CLI (search|list|capture)
|
|
155
|
-
├── lib/
|
|
156
|
-
│ ├── search.ts # FTS5 search (SQLite)
|
|
157
|
-
│ ├── list.ts # Domain listing
|
|
158
|
-
│ └── capture.ts # JSONL capture
|
|
159
|
-
└── package.json # Zero dependencies
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Self-contained package. No workspace dependencies. Ready for npm publish.
|
|
163
|
-
|
|
164
|
-
## Data Locations
|
|
165
|
-
|
|
166
|
-
- `~/.local/share/lore/lore.db` — SQLite FTS5 database (search, list)
|
|
167
|
-
- `~/.local/share/lore/log.jsonl` — Capture event log
|
|
168
|
-
|
|
169
|
-
## Exit Codes
|
|
170
|
-
|
|
171
|
-
- `0` — Success
|
|
172
|
-
- `1` — Validation error (missing args, invalid domain)
|
|
173
|
-
- `2` — Runtime error (database not found)
|