mindvault-ai 0.1.0__tar.gz

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 (37) hide show
  1. mindvault_ai-0.1.0/PKG-INFO +476 -0
  2. mindvault_ai-0.1.0/README.md +453 -0
  3. mindvault_ai-0.1.0/pyproject.toml +35 -0
  4. mindvault_ai-0.1.0/setup.cfg +4 -0
  5. mindvault_ai-0.1.0/src/mindvault/__init__.py +68 -0
  6. mindvault_ai-0.1.0/src/mindvault/__main__.py +4 -0
  7. mindvault_ai-0.1.0/src/mindvault/analyze.py +121 -0
  8. mindvault_ai-0.1.0/src/mindvault/build.py +37 -0
  9. mindvault_ai-0.1.0/src/mindvault/cache.py +82 -0
  10. mindvault_ai-0.1.0/src/mindvault/cli.py +500 -0
  11. mindvault_ai-0.1.0/src/mindvault/cluster.py +68 -0
  12. mindvault_ai-0.1.0/src/mindvault/compile.py +97 -0
  13. mindvault_ai-0.1.0/src/mindvault/config.py +49 -0
  14. mindvault_ai-0.1.0/src/mindvault/daemon.py +412 -0
  15. mindvault_ai-0.1.0/src/mindvault/detect.py +83 -0
  16. mindvault_ai-0.1.0/src/mindvault/discover.py +159 -0
  17. mindvault_ai-0.1.0/src/mindvault/export.py +202 -0
  18. mindvault_ai-0.1.0/src/mindvault/extract.py +516 -0
  19. mindvault_ai-0.1.0/src/mindvault/global_.py +283 -0
  20. mindvault_ai-0.1.0/src/mindvault/hooks.py +181 -0
  21. mindvault_ai-0.1.0/src/mindvault/index.py +196 -0
  22. mindvault_ai-0.1.0/src/mindvault/ingest.py +273 -0
  23. mindvault_ai-0.1.0/src/mindvault/integrations.py +155 -0
  24. mindvault_ai-0.1.0/src/mindvault/lint.py +108 -0
  25. mindvault_ai-0.1.0/src/mindvault/llm.py +288 -0
  26. mindvault_ai-0.1.0/src/mindvault/pipeline.py +189 -0
  27. mindvault_ai-0.1.0/src/mindvault/query.py +238 -0
  28. mindvault_ai-0.1.0/src/mindvault/report.py +98 -0
  29. mindvault_ai-0.1.0/src/mindvault/search.py +145 -0
  30. mindvault_ai-0.1.0/src/mindvault/watch.py +95 -0
  31. mindvault_ai-0.1.0/src/mindvault/wiki.py +224 -0
  32. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/PKG-INFO +476 -0
  33. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/SOURCES.txt +35 -0
  34. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/dependency_links.txt +1 -0
  35. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/entry_points.txt +2 -0
  36. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/requires.txt +14 -0
  37. mindvault_ai-0.1.0/src/mindvault_ai.egg-info/top_level.txt +1 -0
@@ -0,0 +1,476 @@
1
+ Metadata-Version: 2.4
2
+ Name: mindvault-ai
3
+ Version: 0.1.0
4
+ Summary: Unified knowledge management: Search + Graph + Wiki
5
+ Author: etinpres
6
+ License-Expression: MIT
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: networkx
10
+ Requires-Dist: tree-sitter>=0.23.0
11
+ Requires-Dist: tree-sitter-python
12
+ Requires-Dist: tree-sitter-typescript
13
+ Requires-Dist: tree-sitter-javascript
14
+ Requires-Dist: tree-sitter-go
15
+ Requires-Dist: tree-sitter-rust
16
+ Requires-Dist: tree-sitter-java
17
+ Requires-Dist: tree-sitter-swift
18
+ Requires-Dist: tree-sitter-kotlin
19
+ Requires-Dist: tree-sitter-c
20
+ Requires-Dist: tree-sitter-cpp
21
+ Requires-Dist: tree-sitter-ruby
22
+ Requires-Dist: tree-sitter-c-sharp
23
+
24
+ <p align="center">
25
+ <h1 align="center">MindVault</h1>
26
+ <p align="center">AI 코딩 도구의 "장기 기억" — 코드베이스를 자동으로 지식 그래프 + 위키 + 검색 인덱스로 변환</p>
27
+ </p>
28
+
29
+ <p align="center">
30
+ <a href="https://pypi.org/project/mindvault/"><img src="https://img.shields.io/pypi/v/mindvault?color=blue" alt="PyPI"></a>
31
+ <img src="https://img.shields.io/pypi/pyversions/mindvault" alt="Python 3.10+">
32
+ <img src="https://img.shields.io/github/license/etinpres/mindvault" alt="MIT License">
33
+ </p>
34
+
35
+ [English](README.en.md) | **한국어**
36
+
37
+ ---
38
+
39
+ ## 왜 MindVault인가?
40
+
41
+ AI 코딩 도구(Claude Code, Cursor, Copilot 등)는 **세션이 끝나면 맥락을 전부 잊어버립니다.** 새 세션을 열 때마다 "이 프로젝트는 이런 구조고, 이 함수는 이렇게 동작하고..."를 반복 설명해야 합니다. 이건 **시간 낭비이자 토큰 낭비**입니다.
42
+
43
+ 기존에는 이 문제를 해결하기 위해 3개의 도구가 각각 존재했습니다:
44
+
45
+ | 기존 도구 | 역할 | 한계 |
46
+ |-----------|------|------|
47
+ | **qmd** | BM25 로컬 검색 | 검색만 가능, 관계 파악 불가 |
48
+ | **graphify** | 지식 그래프 생성 | 검색/위키 없음 |
49
+ | **llm-wiki-compiler** | 위키 컴파일 | 그래프/검색 없음 |
50
+
51
+ MindVault는 이 3개의 장점을 **설치 한 줄, 설정 제로**로 통합합니다. [Andrej Karpathy의 LLM Wiki 패턴](https://x.com/karpathy)에서 영감을 받았습니다.
52
+
53
+ ---
54
+
55
+ ## 3-Layer 아키텍처
56
+
57
+ ```
58
+ 질의: "인증은 어떻게 동작하나요?"
59
+ |
60
+ +---------v---------+
61
+ | 1. Search Layer | BM25 로컬 검색
62
+ | (토큰 소비: 0) | 한국어/영어/CJK 지원
63
+ +---------+---------+
64
+ |
65
+ +---------v---------+
66
+ | 2. Graph Layer | 지식 그래프 탐색
67
+ | (토큰 ~100) | BFS/DFS 이웃 노드
68
+ +---------+---------+
69
+ |
70
+ +---------v---------+
71
+ | 3. Wiki Layer | 커뮤니티 위키 읽기
72
+ | (토큰 ~800) | Why/How 컨텍스트
73
+ +---------+---------+
74
+ |
75
+ 답변 생성
76
+ (질의당 총 ~900 토큰)
77
+ ```
78
+
79
+ | Layer | 역할 | 토큰 소비 | 기술 |
80
+ |-------|------|-----------|------|
81
+ | **Search** | 키워드 매칭으로 관련 위키 페이지 발견 | 0 (로컬 연산) | BM25 역색인 |
82
+ | **Graph** | 매칭된 노드의 관계/이웃 탐색 | ~100 | NetworkX BFS/DFS |
83
+ | **Wiki** | 커뮤니티 페이지에서 컨텍스트 추출 | ~800 | 마크다운 위키 |
84
+ | **합계** | | **~900** | 원본 직접 읽기 대비 **60배+ 절감** |
85
+
86
+ ---
87
+
88
+ ## 설치
89
+
90
+ ```bash
91
+ pip install mindvault
92
+ mindvault install
93
+ ```
94
+
95
+ `mindvault install`이 자동으로 수행하는 작업:
96
+ - 현재 사용 중인 AI 도구 감지 (7개 지원)
97
+ - 각 도구별 통합 설정 파일 생성
98
+ - Git post-commit hook 설치 (커밋마다 자동 갱신)
99
+ - Claude Code `/mindvault` Skill 등록
100
+
101
+ ### 요구사항
102
+
103
+ - **Python 3.10+**
104
+ - LLM 없이도 AST 기반 코드 구조 분석 동작
105
+ - 시맨틱 추출 시 로컬 LLM 또는 API 키 필요 (아래 [LLM 설정](#llm-설정) 참고)
106
+
107
+ ---
108
+
109
+ ## 빠른 시작
110
+
111
+ ### CLI 사용
112
+
113
+ ```bash
114
+ # 현재 프로젝트의 지식 베이스 구축
115
+ mindvault ingest .
116
+
117
+ # 3-layer 통합 질의
118
+ mindvault query "인증은 어떻게 동작하나요?"
119
+
120
+ # DFS 모드 (특정 호출 체인 깊게 추적)
121
+ mindvault query "이 함수의 전체 호출 경로는?" --dfs
122
+
123
+ # 현재 상태 확인
124
+ mindvault status
125
+ ```
126
+
127
+ ### Claude Code Skill 사용
128
+
129
+ ```
130
+ /mindvault .
131
+ /mindvault query "파이프라인 동작 방식은?"
132
+ ```
133
+
134
+ ---
135
+
136
+ ## 동작 원리
137
+
138
+ ```
139
+ 소스 파일 / URL / PDF
140
+ |
141
+ v
142
+ [1. Detect] -- 코드/문서 파일 탐색, 14개 마커 파일로 프로젝트 자동 감지
143
+ |
144
+ v
145
+ [2. Extract] -- tree-sitter AST → 노드(함수, 클래스, 모듈) + 엣지(호출, 임포트)
146
+ |
147
+ v
148
+ [3. Semantic] -- LLM으로 Why/How/의도 추출 (선택사항)
149
+ |
150
+ v
151
+ [4. Build] -- NetworkX DiGraph 구축, 댕글링 엣지 필터링
152
+ |
153
+ v
154
+ [5. Cluster] -- 그리디 모듈러리티 커뮤니티 탐지
155
+ |
156
+ v
157
+ [6. Wiki] -- 커뮤니티별 마크다운 위키 자동 생성 (Obsidian [[wikilinks]] 호환)
158
+ |
159
+ v
160
+ [7. Index] -- BM25 역색인 구축 (한국어/영어/CJK)
161
+ |
162
+ v
163
+ mindvault-out/
164
+ ```
165
+
166
+ ### 출력 디렉토리 구조
167
+
168
+ ```
169
+ mindvault-out/
170
+ ├── graph.json # 원본 그래프 데이터 (노드 + 엣지)
171
+ ├── graph.html # vis.js 인터랙티브 시각화 (브라우저에서 열기)
172
+ ├── GRAPH_REPORT.md # 분석 리포트 (God Nodes, Surprising Connections)
173
+ ├── wiki/
174
+ │ ├── INDEX.md # 위키 진입점 (전체 커뮤니티 목록)
175
+ │ └── *.md # 커뮤니티별 위키 페이지
176
+ ├── search_index.json # BM25 검색 인덱스
177
+ └── sources/ # 수집된 외부 자료 (URL, PDF 등)
178
+ ```
179
+
180
+ ---
181
+
182
+ ## CLI 명령어 레퍼런스
183
+
184
+ ### 핵심 명령어
185
+
186
+ | 명령어 | 설명 |
187
+ |--------|------|
188
+ | `mindvault install` | AI 도구 감지 + 통합 설정 + Git hook + Skill 등록 |
189
+ | `mindvault ingest <path/url>` | 파일/URL/폴더 수집 → 그래프+위키+인덱스 자동 갱신 |
190
+ | `mindvault query "<question>"` | 3-layer 통합 질의 (search → graph → wiki) |
191
+ | `mindvault status` | 현재 그래프/위키/인덱스 상태 표시 |
192
+
193
+ ### 질의 옵션
194
+
195
+ | 명령어 | 설명 |
196
+ |--------|------|
197
+ | `mindvault query "<question>"` | 기본 BFS 모드 (넓은 탐색) |
198
+ | `mindvault query "<question>" --dfs` | DFS 모드 (깊은 호출 체인 추적) |
199
+ | `mindvault query "<question>" --global` | 글로벌 인덱스에서 크로스 프로젝트 검색 |
200
+
201
+ ### 갱신 & 감시
202
+
203
+ | 명령어 | 설명 |
204
+ |--------|------|
205
+ | `mindvault update` | incremental 갱신 (git hook이 자동 호출) |
206
+ | `mindvault watch` | 파일 변경 실시간 감시 (polling 기반) |
207
+ | `mindvault mark-dirty <path>` | 특정 파일을 dirty로 표시 (재추출 대상) |
208
+ | `mindvault flush` | dirty 파일 일괄 처리 |
209
+
210
+ ### 글로벌 모드
211
+
212
+ | 명령어 | 설명 |
213
+ |--------|------|
214
+ | `mindvault global <root>` | 모든 하위 프로젝트 통합 빌드 |
215
+ | `mindvault global <root> --discover` | 프로젝트 목록만 출력 (빌드 안 함) |
216
+ | `mindvault global <root> --daemon` | 빌드 + 데몬 등록 |
217
+
218
+ ### 데몬 관리
219
+
220
+ | 명령어 | 설명 |
221
+ |--------|------|
222
+ | `mindvault daemon status` | 데몬 상태 확인 |
223
+ | `mindvault daemon stop` | 데몬 중지 |
224
+ | `mindvault daemon log` | 데몬 로그 확인 |
225
+
226
+ ### 설정
227
+
228
+ | 명령어 | 설명 |
229
+ |--------|------|
230
+ | `mindvault config llm <url>` | LLM 엔드포인트 설정 |
231
+ | `mindvault config auto-approve true/false` | API 호출 자동 승인 설정 |
232
+ | `mindvault config show` | 현재 설정 표시 |
233
+ | `mindvault lint` | 위키 정합성 + 그래프 건강 검사 |
234
+ | `mindvault --version` | 버전 확인 |
235
+
236
+ ---
237
+
238
+ ## 토큰 절감 벤치마크
239
+
240
+ ### 단일 프로젝트
241
+
242
+ | 시나리오 | 원본 직접 읽기 | MindVault 질의 | 절감 배수 |
243
+ |----------|---------------|----------------|-----------|
244
+ | 소규모 (20 파일) | ~15,000 토큰 | ~900 토큰 | **17x** |
245
+ | 중규모 (100 파일) | ~60,000 토큰 | ~900 토큰 | **67x** |
246
+ | 대규모 (500 파일) | ~300,000 토큰 | ~900 토큰 | **333x** |
247
+
248
+ ### 실제 측정 (MindVault 자체 소스, 24 파일)
249
+
250
+ | 지표 | 수치 |
251
+ |------|------|
252
+ | 노드 수 | 271 |
253
+ | 엣지 수 | 373 |
254
+ | 위키 페이지 | 40 |
255
+ | 질의당 토큰 | ~900 |
256
+
257
+ ### 글로벌 모드 (9개 프로젝트 통합)
258
+
259
+ | 지표 | 수치 |
260
+ |------|------|
261
+ | 노드 수 | 572 |
262
+ | 엣지 수 | 670 |
263
+ | 크로스 프로젝트 연결 | 33 |
264
+
265
+ 질의 토큰 버짓은 `--budget` 옵션으로 조정 가능합니다 (기본값: 2000 토큰).
266
+
267
+ ---
268
+
269
+ ## 지원 프로그래밍 언어
270
+
271
+ tree-sitter 기반 AST 추출을 지원하는 13개 언어:
272
+
273
+ | 언어 | 언어 | 언어 |
274
+ |------|------|------|
275
+ | Python | TypeScript | JavaScript |
276
+ | Go | Rust | Java |
277
+ | Swift | Kotlin | C |
278
+ | C++ | Ruby | C# |
279
+ | Scala | PHP | Lua |
280
+
281
+ ---
282
+
283
+ ## AI 도구 자동 연동
284
+
285
+ `mindvault install` 실행 시 감지된 도구에 맞는 설정 파일을 자동 생성합니다.
286
+
287
+ | AI 도구 | 생성되는 설정 파일 |
288
+ |---------|-------------------|
289
+ | **Claude Code** | `CLAUDE.md` + `SKILL.md` |
290
+ | **Cursor** | `.cursorrules` |
291
+ | **GitHub Copilot** | `.github/copilot-instructions.md` |
292
+ | **Windsurf** | `.windsurfrules` |
293
+ | **Gemini Code Assist** | `.gemini/styleguide.md` |
294
+ | **Cline** | `.clinerules` |
295
+ | **Aider** | `CONVENTIONS.md` |
296
+
297
+ ---
298
+
299
+ ## LLM 설정
300
+
301
+ MindVault는 시맨틱 추출(코드의 의도/목적 분석)을 위해 LLM을 사용합니다. **LLM이 없어도 AST 기반 구조 분석은 정상 동작합니다.**
302
+
303
+ ### 자동 감지 순서
304
+
305
+ 로컬 LLM을 우선 탐색하고, 없으면 구독 토큰 또는 API를 사용합니다:
306
+
307
+ | 우선순위 | LLM | 방식 | 비용 | 사전 동의 |
308
+ |----------|-----|------|------|-----------|
309
+ | 1 | **Gemma (로컬)** | `localhost:8080` | 무료 | 불필요 |
310
+ | 2 | **Ollama (로컬)** | `localhost:11434` | 무료 | 불필요 |
311
+ | 3 | **Claude Code Skill** | `/mindvault` 실행 시 | 구독 토큰 | 불필요 |
312
+ | 4 | **Anthropic Claude Haiku** | API 키 | 유료 | **필수** |
313
+ | 5 | **OpenAI GPT-4o-mini** | API 키 | 유료 | **필수** |
314
+ | 6 | **LLM 없음** | — | 무료 | — |
315
+
316
+ - **로컬 LLM**: 동의 없이 바로 호출 (무료)
317
+ - **Claude Code 구독자**: `/mindvault` skill로 실행하면 Claude 자체가 추출을 수행합니다. 별도 API 키 없이 구독 토큰만 사용.
318
+ - **API 키 사용**: 예상 비용을 표시하고 사용자 동의를 구한 후에만 호출합니다.
319
+ - **LLM 없음**: AST 기반 코드 구조 분석은 정상 동작합니다. 시맨틱 추출(문서 의미 분석)만 건너뜁니다.
320
+
321
+ > **대부분의 사용자는 Claude Code/Cursor/Copilot 구독자입니다.** `/mindvault` skill로 실행하면 추가 설정 없이 시맨틱 추출이 동작합니다.
322
+
323
+ ```bash
324
+ # LLM 엔드포인트 수동 설정
325
+ mindvault config llm http://localhost:8080
326
+
327
+ # API 자동 승인 (매번 묻지 않음)
328
+ mindvault config auto-approve true
329
+
330
+ # 현재 설정 확인
331
+ mindvault config show
332
+ ```
333
+
334
+ ---
335
+
336
+ ## 프로젝트 자동 감지
337
+
338
+ 글로벌 모드(`mindvault global`)에서 하위 프로젝트를 자동 탐색할 때, 다음 14개 마커 파일 중 하나라도 존재하면 프로젝트로 인식합니다:
339
+
340
+ | 마커 파일 | 생태계 | 마커 파일 | 생태계 |
341
+ |-----------|--------|-----------|--------|
342
+ | `package.json` | Node.js | `Cargo.toml` | Rust |
343
+ | `pyproject.toml` | Python | `go.mod` | Go |
344
+ | `setup.py` | Python | `pubspec.yaml` | Flutter/Dart |
345
+ | `build.gradle` | Java/Kotlin | `build.gradle.kts` | Kotlin |
346
+ | `Podfile` | iOS/macOS | `Gemfile` | Ruby |
347
+ | `composer.json` | PHP | `CMakeLists.txt` | C/C++ |
348
+ | `Makefile` | 범용 | `CLAUDE.md` | Claude Code |
349
+
350
+ ---
351
+
352
+ ## 크로스 플랫폼 데몬
353
+
354
+ `mindvault global <root> --daemon`으로 등록하면, OS별 네이티브 서비스 매니저를 사용해 백그라운드에서 자동 갱신합니다.
355
+
356
+ | OS | 서비스 매니저 | 비고 |
357
+ |----|-------------|------|
358
+ | **macOS** | launchd (LaunchAgent) | 로그인 시 자동 시작 |
359
+ | **Windows** | Task Scheduler | 로그온 트리거 |
360
+ | **Linux** | systemd user service | `--user` 모드 |
361
+
362
+ ```bash
363
+ # 데몬 상태 확인
364
+ mindvault daemon status
365
+
366
+ # 데몬 중지
367
+ mindvault daemon stop
368
+
369
+ # 데몬 로그 확인
370
+ mindvault daemon log
371
+ ```
372
+
373
+ ---
374
+
375
+ ## 캐시 & Incremental 업데이트
376
+
377
+ MindVault는 **SHA256 해시 기반 incremental 캐시**를 사용합니다. 파일이 변경되지 않았으면 재처리하지 않습니다.
378
+
379
+ - Git post-commit hook이 커밋 시 `mindvault update` 자동 실행
380
+ - 변경된 파일만 재추출 → 그래프/위키/인덱스 갱신
381
+ - `mindvault watch`로 실시간 감시도 가능 (polling 기반)
382
+
383
+ ---
384
+
385
+ ## 사용 예시
386
+
387
+ ### 새 프로젝트에 MindVault 적용
388
+
389
+ ```bash
390
+ cd my-project
391
+ pip install mindvault
392
+ mindvault install # AI 도구 연동 + Git hook
393
+ mindvault ingest . # 전체 빌드
394
+ mindvault status # 결과 확인
395
+ open mindvault-out/graph.html # 브라우저에서 그래프 시각화
396
+ ```
397
+
398
+ ### 외부 자료 수집
399
+
400
+ ```bash
401
+ # 파일 수집
402
+ mindvault ingest docs/architecture.pdf
403
+
404
+ # URL 수집
405
+ mindvault ingest https://example.com/api-docs
406
+
407
+ # 디렉토리 일괄 수집
408
+ mindvault ingest ./references/
409
+ ```
410
+
411
+ ### 글로벌 모드 (여러 프로젝트 통합)
412
+
413
+ ```bash
414
+ # 하위 프로젝트 자동 탐색
415
+ mindvault global ~/projects --discover
416
+
417
+ # 전체 빌드
418
+ mindvault global ~/projects
419
+
420
+ # 빌드 + 데몬 등록 (백그라운드 자동 갱신)
421
+ mindvault global ~/projects --daemon
422
+
423
+ # 크로스 프로젝트 질의
424
+ mindvault query "어떤 프로젝트에서 인증 모듈을 사용하나?" --global
425
+ ```
426
+
427
+ ### 위키 정합성 검사
428
+
429
+ ```bash
430
+ mindvault lint
431
+ # 위키 페이지의 [[wikilinks]] 유효성 검사
432
+ # 그래프의 고아 노드, 순환 참조 탐지
433
+ # God Node (과도한 연결) 경고
434
+ ```
435
+
436
+ ---
437
+
438
+ ## 의존성
439
+
440
+ | 패키지 | 용도 |
441
+ |--------|------|
442
+ | `networkx` | 그래프 연산, 커뮤니티 탐지 |
443
+ | `tree-sitter` >= 0.23.0 | AST 파싱 엔진 |
444
+ | `tree-sitter-python` | Python AST |
445
+ | `tree-sitter-typescript` | TypeScript AST |
446
+ | `tree-sitter-javascript` | JavaScript AST |
447
+ | `tree-sitter-go` | Go AST |
448
+ | `tree-sitter-rust` | Rust AST |
449
+ | `tree-sitter-java` | Java AST |
450
+ | `tree-sitter-swift` | Swift AST |
451
+ | `tree-sitter-kotlin` | Kotlin AST |
452
+ | `tree-sitter-c` | C AST |
453
+ | `tree-sitter-cpp` | C++ AST |
454
+ | `tree-sitter-ruby` | Ruby AST |
455
+ | `tree-sitter-c-sharp` | C# AST |
456
+
457
+ ---
458
+
459
+ ## 영감을 준 프로젝트
460
+
461
+ - [Andrej Karpathy의 LLM Wiki 패턴](https://x.com/karpathy) — 코드를 위키로 변환하여 LLM 컨텍스트 효율화
462
+ - [graphify](https://github.com/safishamshi/graphify) — 코드베이스 지식 그래프 생성
463
+ - [llm-wiki-compiler](https://github.com/nicholaschenai/llm-wiki-compiler) — 지식을 위키로 컴파일
464
+ - [qmd](https://github.com/nicholaschenai/qmd) — 로컬 BM25 마크다운 검색
465
+
466
+ ---
467
+
468
+ ## 라이선스
469
+
470
+ MIT
471
+
472
+ ---
473
+
474
+ <p align="center">
475
+ <sub>MindVault v0.1.0 | 개발: <a href="https://github.com/etinpres">etinpres</a></sub>
476
+ </p>